AWS RAM で実現するクロスアカウントリソース共有 - VPC サブネットと Transit Gateway の共有
VPC サブネットや Transit Gateway をアカウント間で共有し、IP アドレス空間の一元管理と VPC ピアリングの削減を実現する手法を紹介します。
RAM の概要
RAM は 30 種類以上の AWS リソースを複数のアカウント間で安全に共有するサービスです。マルチアカウント環境では各アカウントが独自のリソースを持ちますが、ネットワークリソース (VPC サブネット、Transit Gateway) や DNS リソース (Route 53 Resolver ルール) は共有した方が効率的です。RAM で共有することで、リソースの重複を排除しコストを削減します。
VPC サブネット共有
VPC サブネット共有はネットワークアカウントが VPC とサブネットを所有し、ワークロードアカウントが共有サブネット内にリソース (EC2、RDS、Lambda) を作成するパターンです。各アカウントが独自の VPC を持つ必要がなくなり、IP アドレス空間の断片化を防止します。セキュリティグループはアカウントごとに独立しているため、共有サブネット内でもアカウント間のネットワーク分離は維持されます。Transit Gateway の共有では、ネットワークアカウントが Transit Gateway を所有し、各アカウントが VPC をアタッチします。
共有可能なリソースと設計パターン
RAM で共有可能なリソースは VPC サブネット、 Transit Gateway 、 Route 53 Resolver ルール、 License Manager 設定、 Aurora DB クラスター、 CodeBuild プロジェクトなど 30 種類以上です。 VPC サブネット共有では、ネットワークアカウントが VPC を所有し、ワークロードアカウントが共有サブネット内にリソースを作成します。 IP アドレス空間の一元管理と、 VPC ピアリングの削減が主なメリットです。 Organizations 内の共有は自動承認され、 Organizations 外のアカウントとの共有は招待ベースで承認が必要です。リソース共有のアクセス許可で、共有先アカウントの操作権限 (読み取りのみ、作成可能) を制御します。 RAM の管理手法を網羅的に学ぶなら、技術書 (Amazon)を参照してください。
RAM の料金
RAM 自体に追加料金は発生しません。コストは共有されたリソースの利用料金 (共有先アカウントでの使用分) に依存します。VPC サブネット共有では、共有先アカウントが作成したリソース (EC2、RDS) の料金は共有先アカウントに課金されます。Transit Gateway の共有では、アタッチメント料金とデータ処理料金が共有先アカウントに課金されます。リソース共有の棚卸しを定期的に実施し、不要になった共有を削除してセキュリティリスクを低減します。
まとめ
RAM はマルチアカウント環境でリソースを効率的に共有するサービスです。VPC サブネット共有で IP アドレス空間を一元管理し、VPC ピアリングの数を削減します。Transit Gateway 共有でネットワーク接続を集約し、30 種類以上のリソースタイプに対応します。Organizations 内の共有は自動承認され、リソース共有のアクセス許可で操作権限を細かく制御します。