VPC共有によりアカウント間でサブネットを共有する

AWS

AWS Organizationsにより同じ組織内であればVPC共有(サブネット共有)を実施することが可能です。
これにより共通元アカウントのサブネットに対して共有先アカウントからEC2インスタンス等を作成することができます。

構成イメージ

アカウントAとアカウントBがAWS Organizationsの同じ組織に所属している必要があります。

アカウントAの「AWS Resource Access Manager」を使用してサブネット(10.0.2.0/24)をアカウントBに共有します。
共有後、アカウントBで同サブネットにEC2インスタンスを作成します。

手順の流れ

【前提】
・アカウントAとBは同じAWS Organizations組織に所属させておきます。
・accountA-serverの作成。

以下の流れで実装します。

1.【Organizations管理アカウント】RAMの設定変更
2.【アカウントA】サブネットの共有設定
3.【アカウントB】共有サブネットにaccountB-serverを作成
4.【アカウントA】アカウントBのインスタンスに疎通確認

1. 【Organizations管理アカウント】RAMの設定変更

まず事前作業として、Organizations管理アカウントで組織内でRAMを有効化する作業が必要になります。

AWSコンソール画面⇒Resource Access Manager⇒設定を開き、下記の様にチェックを入れ設定を保存するだけです。

2.【アカウントA】サブネットの共有設定

アカウントAで共有するサブネットを選択し、「サブネットを共有」を実施していきます。

RAMの画面に飛ぶので「リソース共有を作成」を実施します。

リソースとして今回共有対象となるサブネット(10.0.2.0/14)を選択します。

共有先のAWSアカウントIDを入力し追加します。

そのままリソース共有を作成。

3.【アカウントB】共有サブネットにEC2インスタンス作成

事前にアカウントAのVCPやサブネットがアカウントBに存在することを確認しておきます。

VPC
サブネット

accou tEC2インスタンス作成時のネットワーク設定で共有されたVPCやサブネットを指定することができます。
※その他設定は割愛してインスタンスを作成します。

4.【アカウントA】アカウントBのインスタンスに疎通確認

accountA-serverからaccountB-serverからICMPで疎通してみます。(※セキュリティグループは開放前提。)

アカウントAとBではTGW等でルーティング経路がない状態ですが、
accountB-serverとしてはアカウントAのサブネット上に作成されているためそのまま通信することができました。

以上で検証完了です。

コメント

タイトルとURLをコピーしました