共有 VPC の操作 - Amazon Virtual Private Cloud

共有 VPC の操作

VPC 共有を使用すると、複数の AWS アカウントで、Amazon EC2 インスタンス、Amazon Relational Database Service (RDS) データベース、Amazon Redshift クラスター、AWS Lambda 関数などのアプリケーションリソースを、共有および一元管理される Virtual Private Clouds (VPC) 内に作成できます。このモデルでは、VPC を所有するアカウント (所有者) は、 で同じ組織に属する他のアカウント (参加者) と 1 つまたは複数のサブネットを共有しますAWS Organizations サブネットが共有されると、参加者は共有しているサブネット内にある自分のアプリケーションリソースを表示、作成、変更、および削除できます。参加者は、他の参加者または VPC 所有者に属するリソースを表示、変更、または削除することはできません。

VPC を共有して、同じ信頼境界内にある高度な相互接続を必要とするアプリケーションに、VPC 内の暗黙的なルーティングを活用できます。これにより、作成および管理する VPC の数が減り、課金とアクセスコントロールに別のアカウントを使用できます。 AWS PrivateLink 、Transit Gateway、VPC ピアリングなどの接続機能を使用して共有の Amazon VPC に相互接続することで、ネットワークトポロジーをさらに簡素化できます。VPC 共有の利点の詳細については、「VPC 共有: 複数のアカウントと VPC 管理への新しいアプローチ」を参照してください。

共有 VPC の前提条件

組織の管理アカウントで、リソース共有を有効にしておく必要があります。リソース共有の有効化の詳細については、AWS RAM ユーザーガイドの「AWS Organizations での共有の有効化」を参照してください。

サブネットを共有する

デフォルト以外のサブネットを組織内の他のアカウントと共有できます。サブネットを共有するには、まず共有するサブネットを使用するリソース共有と、そのサブネットを共有する AWS アカウント、組織単位、または組織全体を作成します。リソース共有の作成の詳細については、AWS RAM ユーザーガイドの「リソース共有の作成」を参照してください。

コンソールを使用してサブネットを共有するには

  1. Amazon VPC コンソール (https://console.aws.amazon.com/vpc/) を開きます。

  2. ナビゲーションペインで、[Subnets] を選択します。

  3. サブネットを選択してから、[Actions (アクション)]、[Share subnet (サブネットの共有)] の順に選択します。

  4. リソース共有を選択してから、[Share subnet (サブネットの共有)] を選択します。

AWS CLI を使用してサブネットを共有するには

create-resource-share および associate-resource-share コマンドを使用します。

アベイラビリティーゾーン間でのサブネットのマッピング

リソースがリージョンの複数のアベイラビリティーゾーンに分散されるようにするために、アベイラビリティーゾーンは各 アカウントの名前に個別にマッピングされます。たとえば、us-east-1a アカウントのアベイラビリティーゾーン AWS の場所は、別の us-east-1a アカウントのアベイラビリティーゾーン AWS の場所と異なる可能性があります。

VPC 共有のためにアカウント間でアベイラビリティーゾーンを調整するには、アベイラビリティーゾーンの一意で一貫性のある識別子である AZ ID を使用する必要があります。たとえば、use1-az1us-east-1 リージョンのアベイラビリティーゾーンの 1 つです。アベイラビリティーゾーン ID により、アカウント間でリソースの場所を区別できます。詳細については、AWS RAM ユーザーガイドの「リソースの AZ ID」を参照してください。

共有サブネットの共有を解除する

所有者は、いつでも参加者との共有サブネットの共有を解除できます。所有者が共有サブネットの共有を解除した後、以下のルールが適用されます。

  • 既存の参加者リソースは非共有サブネットで引き続き実行される。

  • 参加者は非共有サブネットに新しいリソースを作成できない。

  • 参加者はサブネット内のリソースを変更、定義、削除できる。

  • 参加者のリソースがまだ非共有サブネットにある場合、所有者は共有サブネットまたは共有サブネット VPC を削除できない。所有者は、参加者が非共有サブネット内のすべてのリソースを削除した後でのみ、サブネットまたは共有サブネット VPC を削除できます。

コンソールを使用してサブネットの共有を解除するには

  1. Amazon VPC コンソール (https://console.aws.amazon.com/vpc/) を開きます。

  2. ナビゲーションペインで、[Subnets] を選択します。

  3. サブネットを選択してから、[Actions (アクション)]、[Share subnet (サブネットの共有)] の順に選択します。

  4. [Actions (アクション)]、[Stop sharing (共有の停止)] の順に選択します。

AWS CLI を使用してサブネットの共有を解除するには

disassociate-resource-share コマンドを使用します。

共有サブネットの所有者の識別

参加者は、Amazon VPC コンソールまたはコマンドラインツールを使用して、共有しているサブネットを表示できます。

コンソールを使用してサブネット所有者を識別するには

  1. Amazon VPC コンソール (https://console.aws.amazon.com/vpc/) を開きます。

  2. ナビゲーションペインで、[Subnets] を選択します。[Owner (所有者)] 列にサブネットの所有者が表示されます。

AWS CLI を使用してサブネット所有者を識別するには

describe-subnets および describe-vpcs コマンドを使用します。これらの出力に所有者の ID が含まれます。

共有サブネットのアクセス許可

所有者アクセス権限

VPC 所有者は、サブネット、ルートテーブル、ネットワーク ACL、ピアリング接続、ゲートウェイエンドポイント、インターフェイスエンドポイント、Amazon Route 53 Resolver エンドポイント、インターネットゲートウェイ、NAT ゲートウェイ、仮想プライベートゲートウェイ、Transit Gateway アタッチメントなど、VPC レベルのすべてのリソースの作成、管理、削除を担当します。

VPC 所有者は、参加者が作成したセキュリティグループを含む参加者リソースを変更または削除することはできません。VPC 所有者は、トラブルシューティングと監査を容易にするために、すべてのネットワークインターフェイスの詳細と、参加者リソースにアタッチされているセキュリティグループを表示できます。VPC 所有者は、トラフィックのモニタリングまたはトラブルシューティング用に、VPC、サブネット、またはネットワークインターフェイスレベルのフローログのサブスクリプションを作成できます。

参加者のアクセス許可

共有 VPC の参加者は、Amazon EC2 インスタンス、Amazon RDS データベース、ロードバランサーなどのリソースの作成、管理、削除を担当します。参加者は、他の参加者アカウントに属するリソースを表示したり変更したりはできません。参加者は、ルートテーブルの詳細と、共有しているサブネットにアタッチされているネットワーク ACL を表示できます。ただし、ルートテーブル、ネットワーク ACL、サブネットなど、VPC レベルのリソースは変更できません。参加者は、セキュリティグループ ID を使用して、他の参加者または所有者に属するセキュリティグループを参照できます。参加者は、自分が所有するインターフェイスのフローログのサブスクリプションのみを作成できます。参加者は、プライベートホストゾーンを共有 VPC に直接関連付けることはできません。参加者が VPC に関連付けられたプライベートホストゾーンの動作を制御する必要がある場合は、2 つのオプションがあります。

  • 参加者は、プライベートホストゾーンを作成し、VPC 所有者と共有できます。プライベートホストゾーンを共有する方法の詳細については、Amazon Route 53 デベロッパーガイド の「別の AWS アカウントで作成した Amazon VPC とプライベートホストゾーンの関連付け」を参照してください。

  • VPC 所有者は、既に所有者が VPC に関連付けているプライベートホストゾーンを制御する、クロスアカウント IAM ロールを作成できます。所有者は、ロールを引き受けるのに必要な権限を、参加者のアカウントに付与できます。詳細については、AWS Identity and Access Management ユーザーガイドの「IAM チュートリアル: AWS アカウント間の IAM ロールを使用したアクセスの委任」を参照してください。そうして参加者のアカウントがロールを引き受けることができ、所有者が委任したロールの権限によって、プライベートホストゾーンを制御できます。

所有者と参加者の請求と計測

共有 VPC では、各参加者は、Amazon EC2 インスタンス、Amazon Relational Database Service データベース、Amazon Redshift クラスター、AWS Lambda 関数などのアプリケーションリソースに対して料金を支払います。参加者はアベイラビリティーゾーンのデータ転送、VPC ピアリング接続を介するデータ転送、AWS Direct Connect ゲートウェイを介するデータ転送に対しても料金を請求されます。VPC 所有者は、NAT ゲートウェイ、仮想プライベートゲートウェイ、トランジットゲートウェイ、 AWS PrivateLink 、および VPC エンドポイントでのデータ処理とデータ転送に対して時間単位料金が課金されます(該当する場合)。同じアベイラビリティーゾーン内のデータ転送(AZ ID で一意に識別される)は、通信リソースを所有しているアカウントにかかわらず無料です。

Limitations

VPC 共有の使用には、以下の制限があります。

  • 所有者は、 の同じ組織内にある他のアカウントまたは組織単位とのみサブネットを共有できますAWS Organizations

  • 所有者は、デフォルトの VPC 内にあるサブネットを共有できません。

  • 参加者は、VPC を共有する他の参加者または VPC 所有者が所有するセキュリティグループを使用してリソースを起動することはできません。

  • VPC のデフォルトセキュリティグループは所有者に属しているため、参加者はデフォルトのセキュリティグループを使用してリソースを起動することはできません。

  • 所有者は、他の参加者が所有するセキュリティグループを使用してリソースを起動することはできません。

  • 参加者が共有サブネットでリソースを起動するときは、デフォルトのセキュリティグループに頼らずに、自分のセキュリティグループをリソースにアタッチする必要があります。参加者は、VPC 所有者に属しているため、デフォルトのセキュリティグループを使用することはできません。

  • 参加者は、所有していない VPC に Route53 Resolver エンドポイントを作成することはできません。インバウンドエンドポイントなどの VPC レベルのリソースを作成できるのは VPC 所有者のみです。

  • VPC タグ、および共有 VPC 内のリソースのタグは、参加者と共有されません。

  • サブネット所有者のみが、共有サブネットにトランジットゲートウェイをアタッチできます。参加者はできません。

  • 参加者は、共有 VPC 内に Application Load Balancer および Network Load Balancer を作成できますが、共有されていないサブネットで実行されているターゲットを登録することはできません。

  • Gateway Load Balancer の作成時に、共有サブネットを選択できるのはサブネット所有者のみです。参加者はできません。

  • サービスクォータはアカウントごとに適用されます。