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 の前提条件

  • VPC の所有者および参加者のアカウントは、AWS Organizations によって管理される必要があります。

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

  • リソース共有を作成する必要があります。リソース共有の作成時に、共有するサブネットを指定できます。または次のセクションの手順を使用して、後でリソース共有にサブネットを追加することもできます。詳細については、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 つの AZ ID です。AZ ID を使用して、アカウント間でリソースの場所を区別できます。Amazon VPC コンソールで、各サブネットの AZ ID を確認できます。

次の図表は、アベイラビリティーゾーンのコードの AZ ID に対するマッピングが異なる 2 つのアカウントを示しています。

アベイラビリティーゾーンコードから AZ ID へのマッピングが異なる 2 つのアカウントです。

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

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

  • 既存の参加者リソースは非共有サブネットで引き続き実行される。自動ワークフローやマネージド ワークフロー (Auto Scaling やノード交換など) を備えた AWS マネージドサービス (Elastic Load Balancing など) では、一部のリソースで共有サブネットへの継続的なアクセスが必要になる場合があります。

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

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

  • 参加者のリソースがまだ非共有サブネットにある場合、所有者は共有サブネットまたは共有サブネット 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 リソースを管理する

オーナーと参加者は、所有する VPC リソースに責任を負います。

所有者のリソース

VPC 所有者は、共有 VPC に関連付けられたリソースの作成、管理、削除に責任を負います。これらには、サブネット、ルートテーブル、ネットワーク ACL、ピアリング接続、ゲートウェイエンドポイント、インターフェイスエンドポイント、Amazon Route 53 Resolver エンドポイント、インターネットゲートウェイ、NAT ゲートウェイ、仮想プライベートゲートウェイ、Transit Gateway アタッチメントが含まれます。

参加者のリソース

参加者は、共有 VPC 内に VPC リソースの限定されたセットを作成できます。例えば、参加者はネットワークインターフェイスおよびセキュリティグループを作成し、自分が所有するネットワークインターフェイスの VPC フローログを有効にできます。参加者が作成した VPC リソースは、所有者アカウントではなく参加者アカウントの VPC クォータにカウントされます。詳細については、「VPC 共有」を参照してください。

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

  • 共有 VPC では、各参加者は、Amazon EC2 インスタンス、Amazon Relational Database Service データベース、Amazon Redshift クラスター、AWS Lambda 関数などのアプリケーションリソースに対して料金を支払います。参加者はアベイラビリティーゾーン間のデータ転送、VPC ピアリング接続を介するデータ転送、インターネットゲートウェイおよび AWS Direct Connect ゲートウェイを介するデータ転送に対しても料金を支払います。

  • VPC 所有者は、NAT ゲートウェイ、仮想プライベートゲートウェイ、トランジットゲートウェイ、AWS PrivateLink、および VPC エンドポイントでのデータ処理とデータ転送に対して時間単位料金が課金されます(該当する場合)。さらに、共有 VPC で使用されるパブリック IPv4 アドレスについては VPC 所有者に請求されます。詳細は「Amazon VPC の料金」ページの「パブリック IPv4 アドレス」タブを参照してください。

  • 同じアベイラビリティーゾーン内のデータ転送(AZ ID で一意に識別される)は、通信リソースを所有しているアカウントにかかわらず無料です。

所有者および参加者の責任と権限

共有 VPC サブネットを使用する場合、VPC リソースには次の責任と権限が適用されます。

フローログ
  • 参加者は、自分が所有していない共有 VPC サブネットのフローログを作成、削除、または記述することはできません。

  • 参加者は、自分が所有する共有 VPC サブネットでフローログを作成、削除、および記述できます。

  • VPC 所有者は、参加者が作成したフローログを記述したり削除したりすることはできません。

インターネットゲートウェイと Egress-Only インターネットゲートウェイ
  • 参加者は、共有 VPC サブネットでインターネットゲートウェイと Egress-Only インターネットゲートウェイを作成、接続、削除することはできません。参加者は、共有 VPC サブネット内のインターネットゲートウェイを記述することができます。参加者は、共有 VPC サブネット内の Egress-Only インターネットゲートウェイを記述することができます。

NAT ゲートウェイ
  • 参加者は、共有 VPC サブネット内の NAT ゲートウェイを作成、削除、または記述することはできません。

ネットワークアクセスコントロールリスト (NACL)
  • 参加者は、共有 VPC サブネット内の NACL を作成、削除、または置き換えることはできません。参加者は、VPC 所有者が共有 VPC サブネットで作成した NACL について記述できます。

ネットワークインターフェイス
  • 参加者は共有 VPC サブネットでネットワークインターフェースを作成できます。参加者は、共有 VPC サブネット内の VPC 所有者が作成したネットワークインターフェイスを、ネットワークインターフェイスの接続、切断、変更など、他の方法で操作することはできません。参加者は、自分が作成した共有 VPC のネットワークインスタンスを変更または削除できます。例えば、参加者は、作成したネットワークインターフェイスの IP アドレスへの関連付けや関連付け解除を実行できます。

  • VPC 所有者は、共有 VPC サブネット内の参加者が所有するネットワークインターフェイスを記述することができます。VPC 所有者は、共有 VPC サブネット内の参加者が所有するネットワークインターフェースのアタッチ、デタッチ、変更など、参加者が所有するネットワークインターフェースを他の方法で操作することはできません。

ルートテーブル
  • 参加者は、共有 VPC サブネット内でルートテーブルを操作 (ルートテーブルの作成、削除、関連付けなど) することはできません。参加者は共有 VPC サブネットでルートテーブルを記述できます。

セキュリティグループ
  • 参加者は、共有 VPC サブネット内に所有するセキュリティグループの受信ルールと送信ルールを作成、削除、記述、変更、作成できます。参加者は、VPC 所有者が作成したセキュリティグループを、いかなる方法でも操作することはできません。

  • 参加者は、自分が所有するセキュリティグループ内に、他の参加者または VPC 所有者に属するセキュリティグループを参照するルールを作成できます: account-number/security-group-id

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

  • VPC 所有者は、共有 VPC サブネットの参加者が作成したセキュリティグループについて記述できます。VPC 所有者は、参加者が作成したセキュリティグループを他の方法で操作することはできません。たとえば、VPC 所有者は、参加者が作成したセキュリティグループを使用してインスタンスを起動することはできません。

サブネット
  • 参加者は共有サブネットの属性、またはそれに関連する属性を変更することはできません。VPC 所有者のみができます。参加者は共有 VPC サブネット内のサブネットを記述できます。

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

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

VPC
  • 参加者は VPC の属性、またはそれに関連する属性を変更することはできません。VPC 所有者のみができます。参加者は VPC、その属性、および DHCP オプションセットについて記述できます。

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

AWS リソースと共有 VPC サブネット

次の AWS のサービス は共有 VPC サブネットのリソースをサポートしています。サービスの、共有 VPC サブネットに対するサポートの詳細は、対応するサービスドキュメントへのリンクを参照してください。

共有 VPC 内の VPC エンドポイントを使用して PrivateLink をサポートするすべての AWS サービスに接続できます。PrivateLink をサポートするサービスのリストについては、「AWS PrivateLink ガイド」の「AWS PrivateLink と統合する AWS のサービス」を参照してください。

VPC 共有のクォータ

VPC 共有に関連するクォータがあります。詳細については、「VPC 共有」を参照してください。