プレフィックスリストとResource Access Managerを使用したオンプレミスNW情報の一括管理

こんにちは、上野です。

今回は大規模またはエンタープライズな構成でありそうなユースケースを紹介していきます。

複数のAWSアカウント(VPC)とオンプレミス環境(社内NWなど)をVPN接続する場合を考えます。Direct Connectの場合もあります。

f:id:fu3ak1:20211116000500p:plain

最近ではTransit Gatewayで接続するパターンも多いですね。

f:id:fu3ak1:20211116000356p:plain

このときに課題となるのがオンプレミス側のネットワーク情報の管理です。たとえば、「すべてのVPCはオンプレミス環境のネットワークと通信できるようにする」という要件があった場合、すべてのVPCのセキュリティグループやルートテーブルに同じ設定を行う必要があります。

次のように各アカウント、各VPCに設定する必要があり、特にオンプレミス側のネットワーク情報が複数ある場合(今回の例では2つのCIDR)、煩雑になります。また、オンプレミス側のネットワークに変更があった場合、同じく複数アカウントの設定が必要になります。

f:id:fu3ak1:20211116001140p:plain

この管理を一括でやりたい場合に使用できるのが、プレフィックスリストとResource Access Manager(RAM)の合わせ技です。

プレフィックスリストとは

プレフィックスリストは、1つ以上の CIDR ブロックのセットをグループ管理できる機能です。こんな感じで、複数のCIDR情報を、論理的に1つの情報として管理できます。

f:id:fu3ak1:20211116094806p:plain

AWSマネージドのプレフィックスリストもあり、S3、DynamoDBのCIDR情報が登録されていて使用できます。

f:id:fu3ak1:20211116094921p:plain

Resource Access Manager

AWSアカウントにあるリソースを、他のアカウントに共有できる機能です。アカウントID指定で共有もできますし、Organizationsを使用していると、組織全体またはOU指定でリソースを共有できます。

共有可能なリソースは公式ドキュメントに記載があります。

docs.aws.amazon.com

プレフィックスリストも共有可能なリソースに含まれており、以下のような対応が可能になります。

f:id:fu3ak1:20211116222744p:plain

やってみる

実際に共有してみます。今回はOrganizationsのマネジメントアカウントで、プレフィックスリストを作成します。もちろんOrganizations配下の別アカウントでも可能です。

次のように、2つのエントリ(CIDR)を持つプレフィックスリストを作成します。

f:id:fu3ak1:20211116222941p:plain

共有→リソース共有の作成をクリックし、RAMのページへ遷移します。

f:id:fu3ak1:20211116223100p:plain

任意の名前を付けて、作成したプレフィックスリストを選択します。

f:id:fu3ak1:20211116223237p:plain

共有先として、1つのOUを選択します。今回はOUに所属するアカウントは1つですが、複数アカウントあればOU内の全アカウントに共有されます。

なお、組織構造を表示できるのは、Organizationsのマネジメントアカウントのみで、メンバーアカウントの場合は表示されないためOU IDを直接入力する必要があります。

f:id:fu3ak1:20211116223500p:plain

※組織またはOUに対して共有する場合は、事前にRAM→設定でOrganizationsの設定を有効にする必要があります。(画面の日本語がちょっと変ですね)

f:id:fu3ak1:20211116224149p:plain

共有がActive状態になります。

f:id:fu3ak1:20211116225041p:plain

こんな感じで共有ができたので、今度は共有された側「CTSystem01」アカウントでどう使用できるのか見ていきます。

f:id:fu3ak1:20211116225139p:plain

セキュリティグループのルール作成時に、マネジメントアカウントで作成したプレフィックスリストが選べるようになっています。

f:id:fu3ak1:20211116225406p:plain

同じくルートテーブルの設定でも、ルート情報としてマネジメントアカウントで作成したプレフィックスリストが選べるようになっています。

f:id:fu3ak1:20211116225614p:plain

プレフィックスに登録されているCIDR情報は、共有されたアカウント側も、プレフィックスリストの一覧から選択して確認できます。(もちろん共有された側では変更できません)

f:id:fu3ak1:20211116225717p:plain

もう一度マネジメントアカウント側に戻って、試しにCIDR情報を1つ追加してみます。

f:id:fu3ak1:20211116230023p:plain

共有された側「CTSystem01」を見てみると、こちらにもしっかり情報が追加されています。

f:id:fu3ak1:20211116230137p:plain

いいですね!以上で検証終了です。

まとめ

地味ですが大規模なネットワーク管理する場合にめちゃくちゃ便利なのでは?という機能を紹介しました。

共有先が1アカウントだったのでわかりにくかったのですが、1箇所で接続先NWの情報を管理し、各メンバーアカウントは1つのプレフィックスリストを登録しておき、後はNW管理者にお任せ!みたいな良い感じの運用が可能です。

どなたかの役に立てば幸いです。

f:id:fu3ak1:20210325095452j:plain

執筆者上野史瑛

Japan APN Ambassador 2020
AWSを中心としたクラウドの導入、最適化を専門に行っています。