目次
Resource Access Manager(RAM)とは
Resource Access Manager(RAM)は、AWSリソースを複数のAWSアカウントや組織(AWS Organizations)内で安全に共有するためのサービスです。
複数のアカウントで同じリソースを共有できるため、アカウントごとにリソースを重複して作成する必要がなくなり、運用コストや管理の手間を削減できます。
共有にはリソース共有(Resource Share)という単位を作成し、共有したいリソースと共有先(アカウント、組織単位、IAMロール/ユーザーなど)を指定します。
共有可能な代表的なリソースには、VPCサブネット、Transit Gateway、Route53 Resolverルール、License Manager設定、Prefix Listなどがあります。
典型的なユースケースとしては、複数アカウントで共通のネットワーク(VPCサブネット)を共有する構成や、TransitGatewayを一元管理して各アカウントから利用する構成などが挙げられます。
RAMでTransit Gatewayを使用する場合
TransitGatewayでの例
| ネットワーク管理アカウント └─Transit Gatewayを所有 │ │ RAMで共有 ▼ 業務アカウント └─VPCをTransit Gatewayにアタッチ |
手順としては次のようになります。
- ネットワーク管理アカウントが、Transit Gatewayを作成する
- ネットワーク管理アカウントが、RAMのリソース共有にTransit Gatewayを登録する
- ネットワーク管理アカウントが、共有先として業務アカウントやOUを指定する(※1)
- 業務アカウントに、共有されたTransit Gatewayが表示される
- 業務アカウントが、自分のVPCからVPCアタッチメントを作成する
Transit Gatewayルートテーブルの作成・変更や、関連付け・伝播の管理は、基本的にTransit Gatewayの所有アカウントが行います。
※1 リソースそのものをコピーしたり、所有権を移したりするサービスではありません。
所有アカウントと共有先アカウントの管理範囲
| 管理対象 | TGW所有アカウント | 共有先アカウント |
|---|---|---|
| Transit Gateway本体 | 管理する | 管理しない |
| RAMのリソース共有 | 管理する | 受け取る |
| TGWルートテーブル(※1) | 管理する | 原則管理しない |
| アタッチメント承認 | 管理する | 依頼側 |
| 自分のVPCアタッチメント作成(※2) | - | 管理する |
| 自分のVPCルートテーブル(※3) | - | 管理する |
| 自分のSG・NACL(※4) | - | 管理する |
※1:TGWルートテーブル:TGWに入ってきた通信を、どのアタッチメントへ送るかを決めるルートテーブルです。
|
TGWルートテーブル 宛先CIDR 送信先 |
たとえば、VPC-Bから10.10.1.10への通信がTGWに入ると、TGWルートテーブルを参照して、VPC-Aアタッチメントへ転送します。
※2:VPCアタッチメントは、自分のVPCとTransit Gatewayを物理的・論理的に接続するための接続口です。
| VPC-A │ └─ VPCアタッチメント │ └─ Transit Gateway |
VPCアタッチメント作成時には、主に次を指定します。
| Transit Gateway:共有されたtgw-001 VPC:自分のvpc-001 サブネット: ap-northeast-1aのサブネット ap-northeast-1cのサブネット |
※3:VPCルートテーブルは、VPC内のサブネットから出る通信を、どこへ送るかを決めます。
|
VPC-Aのルートテーブル 宛先CIDR ターゲット |
TGWルートテーブルとの違い
通信の流れは次のようになります。
| EC2-A ↓ ① VPC-Aルートテーブル 10.20.0.0/16 → TGW ↓ Transit Gateway ↓ ② TGWルートテーブル 10.20.0.0/16 → VPC-Bアタッチメント ↓ VPC-B ↓ EC2-B |
戻り通信についても、VPC-B側とTGW側に適切な経路が必要です。
※4:セキュリティグループは、EC2などのネットワークインターフェイスに対する通信を制御します。
NACLは、EC2単位ではなくサブネット単位の通信制御です。
RAMの共有承認とTGWアタッチメント承認
|
①TGW所有側がRAMの共有 |
通常は戻り方向にも④と⑤の両方が必要です。
関連の記事
