Azure で BYOIP を試してみる part2
はじめに
APNIC 等から自社に割り当てられた Public IP アドレスを Azure へ持ち込める BYOIP の機能ですが、先日大きなアップデートがありましたので早速試してみました。
BYOIP の概要や前提知識は過去に詳しく説明したものがありますので、BYOIP って何?とか、今まさに BYOIP を検討中という方は、まずは以下の過去投稿をご覧ください。
今回のアップデートで何が変わったのか
Azure に Public IPv4 アドレスを持ち込む場合、これまではリージョン単位で /21 - /24 のアドレス ブロックを用意する必要がありました。したがって、複数のリージョンを使用している場合には、東日本リージョン用に /24 を、西日本リージョン用にさらに別の /24 を確保する必要があり、広大なアドレス空間を保有している AS でない限り、かなりハードルの高いものとなっていました。
今回のアップデートではこうした点を解消すべく、これまでのようにリージョンに縛られることなく Azure に Public IPv4 アドレス ブロックを持ち込めるようになりました。具体的には、以下の図のように、/24 (もしくはそれより大きい範囲) をグローバルの親リソースとして持ち込み、そこからリージョン毎に /25 や /26 等の小さなアドレス ブロックを子リソースとして切り出すことが可能になっています。
公式ドキュメントから抜粋
Azure Portal の UI 上も、作成時の画面にて従来通りのリージョンに紐付く [統合] モデルと、[グローバル (親)/リージョン (子)] モデルが選択できるように変更されており、後者を選択すると親/子のどちらを作成するか選択するようになっています。
(参考) 従来のカスタム IP プレフィックス リソース
今回のアップデート以前に持ち込んだカスタム IP プレフィックス (BYOIP) リソースは、前述の通りリージョンに紐づく形で作成されているため、以下のように [グローバル/リージョン] 欄が [リージョン] となっていることが確認できました。
今回のアップデート以前に作成したカスタム IP プレフィックス
新旧モデルにおけるリソースの階層・依存関係の違い
これまでは、以下のような三段階でリソースを作成していました。
- (リージョン) カスタム IP プレフィックス
- (リージョン) パブリック IP プレフィックス
- (リージョン) パブリック IP アドレス
- (リージョン) パブリック IP プレフィックス
他方で、新しい親/子モデルでは以下のような四段階でリソースを作成する流れとなっています。
-
グローバル カスタム IP プレフィックス
-
リージョン カスタム IP プレフィックス
- (リージョン) パブリック IP プレフィックス
- (リージョン) パブリック IP アドレス
- (リージョン) パブリック IP プレフィックス
-
リージョン カスタム IP プレフィックス
実際にやってみた
グローバル カスタム IP プレフィックス (親) リソースの作成
まずは Azure に持ち込むアドレス空間全体 (/21 から /24 の範囲) をグローバルのカスタム IP プレフィックスとして作成します。これまで同様に ROA の設定や署名付きメッセージの作成などが必要になりますが、こうした細かな手順は過去の投稿や公式ドキュメントを参照ください。
リージョン カスタム IP プレフィックス (子) リソースの作成
グローバルのカスタム IP プレフィックスから、リージョンのカスタム IP プレフィックスを払い出します。この際、アドレス空間は /22 から /26 の範囲で、親よりプレフィックス長を大きくする必要がある (グローバル側が /24 であれば、リージョン側は /25 や /26 が必須です) ので気をつけましょう。Azure に持ち込むアドレス空間すべてを単一リージョンで使用する場合は、従来の統合モデルを使用することになります。なお、作成後に統合モデルと親子モデルの切り替えはできず、再作成が必要です (プロビジョニング解除と再プロビジョニングに数時間かかり、その間は疎通性が失われる) ので、どちらのモデルを使用するかは慎重に検討しましょう。
パブリック IP プレフィックス (孫) リソースの作成
リージョン カスタム IP プレフィックスから、パブリック IP プレフィックスを払い出します。この際、異なるサブスクリプションに払い出すことも可能となっているため、一部のアドレス空間のみ管理を委任する (カスタム IP プレフィックスは AS 管理者のサブスクリプションに作成し、パブリック IP プレフィックスは各システムやアプリケーション管理者のもつ別サブスクリプションに作成する) といったことが可能です。
パブリック IP (ひ孫) リソースの作成
最後にパブリック IP プレフィックスの画面上部にある [IP アドレスの追加] から、パブリック IP リソースを払い出します。あとは普段使っている Azure の (Microsoft 所有の) Standard SKU パブリック IP アドレスと同様に、VM や各種リソースに紐付けて利用することができます。
雑感
これまではリージョン単位で /24 が必要だったため、/23 しか割り当てを受けていない弊 AS としては複数リージョンでの BYOIP が困難だったのですが、今回のアップデートで複数リージョンでの利用が容易になりました。 (とはいえ、AS 所有者でないと検証すらできないので、ニッチなサービスであることに変わりはありませんが…。
まるっとレンジで確保することで NSG とか ACL の設定もシンプルになって便利ですし、間違えてパブリック IP アドレスを削除してもアドレス変更なしで再割り当て可能なので、BYOIP が無理だとしても、パブリック IP プレフィックスは是非ご活用くださいませ。
Discussion