Amazon VPC 共有 - スケーラブルで安全なマルチ VPC の AWS ネットワークインフラストラクチャを構築する

Amazon VPC 共有

VPC を共有することは、チーム間のネットワーク分離を VPC 所有者が厳密に管理する必要はないが、アカウントレベルのユーザーおよび許可を厳密に管理する必要がある場合に便利です。共有 VPC では、複数の AWS アカウントが、一元化された共有の Amazon VPC 内にアプリケーションリソース (Amazon EC2 インスタンスなど) を作成します。このモデルでは、VPC を所有するアカウント (所有者) は、他のアカウント (参加者) と 1 つ以上のサブネットを共有します。サブネットが共有されると、参加者は共有しているサブネット内にある自分のアプリケーションリソースを表示、作成、変更、および削除できます。参加者は、他の参加者または VPC 所有者に属するリソースを表示、変更、または削除することはできません。共有 VPC 内のリソース間のセキュリティは、セキュリティグループとサブネットネットワーク ACL を使用して管理します。 

VPC 共有の利点:

  • 設計の簡素化 - VPC 間接続に関する複雑性がない

  • マネージド VPC の減少

  • ネットワークチームとアプリケーション所有者との職務分離

  • IPv4 アドレスの使用率向上

  • コスト低減 - 同じアベイラビリティーゾーン内の異なるアカウントに属するインスタンス間ではデータ転送料金が不要

注意: 複数のアカウント間でサブネットを共有する場合、IP 領域とネットワークリソースを共有することになるため、参加者間である程度の協力が必要です。必要に応じて、参加者アカウントごとに異なるサブネットを共有することを選択できます。参加者ごとに 1 つのサブネットを使用すると、セキュリティグループに加えて、ネットワーク ACL でネットワーク分離を達成できます。

ほとんどのお客様のアーキテクチャには複数の VPC が含まれ、その多くは 2 つ以上のアカウントで共有されます。Transit Gateway と VPC ピアリングを使用して、共有 VPC 間を接続できます。例えば、アプリケーションが 10 個あるとします。各アプリケーションには独自の AWS アカウントが必要です。アプリケーションは 2 つのアプリケーションポートフォリオに分類できます (同じポートフォリオ内のアプリケーション間ではネットワーク要件が類似しており、アプリケーション 1~5 は「マーケティング」、アプリケーション 6~10 は「セールス」です)。

アプリケーションポートフォリオごとに 1 つの VPC (合計 2 つの VPC) を持つことができます。VPC は、そのポートフォリオ内の異なるアプリケーション所有者アカウントと共有されます。アプリケーション所有者は、それぞれの共有 VPC 内にアプリケーションをデプロイします (この例では、異なるサブネット内にデプロイし、NACL を使用してネットワークルートの区分と分離を行います)。2 つの共有 VPC は Transit Gateway 経由で接続します。このセットアップにより、10 個の VPC を接続する代わりに 2 個の VPC を接続するだけで済みます (図 6)。

図 6 - セットアップ例 - 共有 VPC

注記

VPC を共有する参加者は、すべての AWS リソースを共有サブネット内で作成することはできません。詳細については、「Amazon VPC 制限」を参照してください。