AWS Resource Access Manager(RAM)とは

目次

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にアタッチ

手順としては次のようになります。

  1. ネットワーク管理アカウントが、Transit Gatewayを作成する
  2. ネットワーク管理アカウントが、RAMのリソース共有にTransit Gatewayを登録する
  3. ネットワーク管理アカウントが、共有先として業務アカウントやOUを指定する(※1)
  4. 業務アカウントに、共有されたTransit Gatewayが表示される
  5. 業務アカウントが、自分の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 送信先
10.10.0.0/16 → VPC-Aアタッチメント
10.20.0.0/16 → VPC-Bアタッチメント
192.168.0.0/16 → VPNアタッチメント

たとえば、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 ターゲット
10.10.0.0/16 → local
10.20.0.0/16 → tgw-001
0.0.0.0/0 → nat-001

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の共有
このアカウントは、このTGWを利用してよい

②業務側がVPCアタッチメント
このVPCをTGWに接続したい

③TGW所有側がアタッチメント承認
このVPCを実際に接続してよい

④TGW所有側がTGWルートテーブル設定
TGWに入ってきた通信をどのVPCへ送るか

⑤業務側がVPCルートテーブル設定
自分のVPCからどの通信をTGWへ送るか

通常は戻り方向にも④と⑤の両方が必要です。

関連の記事

AWS Transit GatewayとVPC Peeringの違い

△上に戻る