すべてのプロダクト
Search
ドキュメントセンター

Virtual Private Cloud:共有 VPC

最終更新日:Aug 22, 2025

リソース共有を使用して、デフォルト以外の VPC 内の vSwitch を他の Alibaba Cloud アカウントと共有できます。これにより、これらのアカウントは、共有 vSwitch 内に ECS インスタンスや RDS インスタンスなどのリソースを作成できます。 vSwitch プリンシパルは、自身が作成したリソースのみを表示および管理でき、他のアカウントが作成したリソースを表示、変更、または削除することはできません。

仕組み

図に示すように、アカウント A が vSwitch をアカウント B、アカウント C、およびアカウント D と共有すると、各アカウントは共有 vSwitch 内にクラウドリソースを作成できます。デフォルトでは、これらのクラウドリソースは vSwitch の IP アドレス空間を共有し、相互に通信できます。 vSwitch 所有者(アカウント A)は、ネットワーク ACL またはセキュリティグループを構成して、vSwitch 間またはこれらのクラウドリソース間でネットワーク分離を実装することもできます。

共有 VPC の一般的なシナリオを以下に示します。

  • 一元化されたエンタープライズネットワーク管理:ネットワーク運用および保守(O&M)チームは、VPC を一元的に計画、構成、および管理し、vSwitch を事業部門と共有します。その後、事業部門は、ビジネス要件に基づいて、共有 vSwitch 内に ECS インスタンスなどのリソースを作成および管理できます。これにより、事業部門はネットワークの構成と管理ではなく、ビジネス要件に集中できます。

  • 複数アカウントのネットワーク O&M の簡素化:VPC の vSwitch を複数のアカウントと共有できます。これにより、アカウントごとに個別の VPC を構成する必要がなくなります。これは、VPC の数を大幅に削減し、複数アカウントのシナリオでのネットワーク O&M を簡素化します。

制限事項

  1. デフォルトの VPC は共有できません。 VPC 共有機能を使用するには、カスタム VPC を作成する必要があります。デフォルトの VPC に既存のクラウドリソースがある場合は、デフォルト以外の VPC にリソースを移行または再作成できます。

  2. 共有 VPC を使用して既存のクラウドリソースのネットワーク通信を有効にする場合は、「共有 vSwitch 内に作成できるリソースタイプ」と「vSwitch 所有者とプリンシパルの権限」を確認して、シナリオが該当するかどうかを確認してください。シナリオが該当する場合は、最初に共有 VPC 内に既存のクラウドリソースを再作成することをお勧めします。クラウドリソースが VPC 間の移行をサポートしている場合は、共有 VPC に移行することもできます。シナリオが該当しない場合、または再作成または移行が不可能な場合は、VPC ピアリング接続またはCENを使用して、アカウント間のネットワーク通信を有効にしてください。

共有 vSwitch 内に作成できるリソースタイプ

  • ECS インスタンス

  • SLB インスタンス

  • RDS インスタンス

  • コンテナサービスの Terway コンポーネント

  • MongoDB インスタンス

  • Redis インスタンス

  • Kafka インスタンス

  • Elasticsearch

  • ACR インスタンス

  • PolarDB for MySQL クラスタ

  • RocketMQ インスタンス

  • MSE レジストリおよび構成センター

vSwitch 所有者とプリンシパルの権限

共有 vSwitch の場合:

対象

vSwitch 所有者の権限

vSwitch プリンシパルの権限

クラウドリソース(ECS インスタンス、RDS インスタンスなど)

各アカウントは、そのアカウントによって作成されたクラウドリソースのみを表示および管理できます。アカウントは、他のアカウントによって作成されたクラウドリソースを表示または管理することはできません。

セキュリティグループ

各アカウントは、そのアカウントによって作成されたセキュリティグループのみを表示および管理できます。アカウントは、他のアカウントによって作成されたセキュリティグループを表示または管理することはできません。

ENI(Elastic Network Interface)

DescribeNetworkInterfaces 操作を呼び出して、プリンシパルによって作成された ENI をクエリできます。プリンシパルによって作成された ENI を管理することはできません。

自分が作成した ENI のみを表示および管理できます。他のアカウントの ENI を表示することはできません。

VPC、vSwitch、ルートテーブル、ネットワーク ACL、およびセカンダリ CIDR ブロック

すべての権限

表示のみの権限

予約済み CIDR ブロック

すべての権限

権限なし

IPv6 ゲートウェイ

すべての権限

  • ECS インスタンス、ENI、NLB インスタンスなどのリソースに IPv6 プライベートアドレスを割り当てまたは割り当て解除します。

  • アカウントの IPv6 アドレスを表示できます。

  • アカウントの IPv6 アドレスのパブリック帯域幅を有効または無効にし、送信のみルールを設定または削除できます。パブリック帯域幅の料金は、vSwitch プリンシパルが支払います。

フローログ

  • VPC または vSwitch のフローログを作成できます。フローログは、vSwitch 所有者の ENI にのみ有効です。

  • ENI のフローログを作成できます。フローログは、vSwitch 所有者の ENI にのみ有効です。

ENI のフローログのみを作成できます。フローログは、vSwitch プリンシパルの ENI にのみ有効です。

NAT ゲートウェイ、VPN ゲートウェイ、CEN、および VPC ピアリング接続

すべての権限

これらのネットワークリソースを表示または管理する権限はありません。ただし、所有者によって作成されたこれらのネットワークリソースを使用して、VPC 外のネットワークと通信できます。

タグ

共有動作は、vSwitch 所有者がリソースに構成するタグには影響しません。 vSwitch 所有者と vSwitch プリンシパルの両方が、独自のリソースのタグを構成できます。タグはお互いに見えなく、お互いに影響を与えません。

vSwitch の共有が解除された後:

対象

vSwitch プリンシパルの権限

クラウドリソース(ECS インスタンス、RDS インスタンスなど)

作成したクラウドリソースを引き続き使用および管理(表示、変更、削除)できます。ただし、これ以上リソースを作成することはできません。

vSwitch とそのリンクされたインスタンス

共有 vSwitch、または VPC、ルートテーブル、プライベート CIDR ブロック、ネットワーク ACL など、共有 vSwitch に関連付けられているリソースを表示することはできません。

タグ

システムは、vSwitch プリンシパルが共有 vSwitch に構成したタグを削除します。

共有 vSwitch 内にクラウドリソースを作成する

vSwitch 所有者は、vSwitch を任意の Alibaba Cloud アカウントと共有することも、リソースディレクトリ内のアカウントとのみ共有することもできます。 vSwitch 所有者が共有を有効にすると、プリンシパルは共有 vSwitch 内にクラウドリソースを作成できます。

コンソール

1. 共有を有効にする

このセクションでは、vSwitch を任意のアカウントと共有する方法について説明します。リソースディレクトリ内でリソースを共有する方法の詳細については、「リソースディレクトリ内でのみリソースを共有する」をご参照ください。
  1. vSwitch 所有者の Alibaba Cloud アカウントにログオンし、Resource Management コンソールのリソース共有 - 自分の共有ページに移動します。トップメニューバーの左上隅で、共有リソースのリージョンを選択します。次に、[リソース共有の作成] をクリックします。表示されるページで、次の手順を実行します。

    ステップ 1[リソース共有名] を入力し、共有する vSwitch を選択します。

    ステップ 2AliyunRSDefaultPermissionVSwitch 権限がデフォルトで選択されています。

    ステップ 3[プリンシパルのスコープ][任意のアカウントとリソースを共有] に、[追加方法][手動で追加] に設定します。次に、vSwitch プリンシパルのAlibaba Cloud アカウント ID を入力し、[追加] をクリックします。

    ステップ 4:設定を確認した後、ページ下部にある [OK] をクリックします。

  2. vSwitch プリンシパルの Alibaba Cloud アカウントにログオンし、次の手順を実行して共有の招待を受け入れます。

    1. Resource Management コンソールのリソース共有 - 自分と共有ページに移動します。

    2. トップメニューバーの左上隅で、共有リソースのリージョンを選択し、対象のリソース共有の [ステータス] 列の [承諾] をクリックします。

    3. 招待を受け入れると、共有 vSwitch にアクセスできます。このリソース共有に追加された新しいリソースは、自動的にあなたと共有されます。

2. 共有 vSwitch 内にクラウドリソースを作成する

vSwitch プリンシパルの Alibaba Cloud アカウントにログオンし、次の手順を実行します。

  1. VPC コンソールのvSwitch ページに移動します。トップステータスバーで、共有 vSwitch のリージョンを選択します。共有 vSwitch を表示できます。これは、共有元としてマークされています。

    image

  2. ECS インスタンス、RDS インスタンス、および SLB インスタンスの場合、対象の共有 vSwitch の [アクション] 列の [クラウドプロダクトの追加] をクリックして、インスタンスを作成できます。

  3. 共有 vSwitch 内に作成できる他のリソースタイプについては、リソースを作成するときに共有 vSwitch を選択します。

API

1. 共有を有効にする

  • 方法 1:vSwitch を任意のアカウントと共有する

    1. vSwitch 所有者の ID 資格情報を使用して CreateResourceShare 操作を呼び出し、リソース共有を作成します。 AllowExternalTargets パラメータが True に設定されていることを確認してください。

    2. vSwitch プリンシパルの ID 資格情報を使用して ListResourceShareInvitations 操作を呼び出し、受信したリソース共有の招待をクエリします。次に、AcceptResourceShareInvitation 操作を呼び出して、招待を受け入れます。

  • 方法 2:リソースディレクトリ内でのみ vSwitch を共有する

    1. リソースディレクトリの管理アカウントの ID 資格情報を使用して EnableSharingWithResourceDirectory 操作を呼び出し、リソースディレクトリ内でリソース共有を有効にします。

    2. vSwitch 所有者の ID 資格情報を使用して CreateResourceShare 操作を呼び出し、リソース共有を作成します。 AllowExternalTargets パラメータが False に設定されていることを確認してください。

2. クラウドリソースを作成する

vSwitch プリンシパルの Alibaba Cloud アカウントにログオンし、次の手順を実行します。

  1. DescribeVSwitches 操作を呼び出して、vSwitch のリストを取得します。

  2. vSwitch リストで、共有 vSwitch をフィルタリングします。共有 vSwitch の場合、ShareType フィールドの値は Sharing です。

  3. API 操作を呼び出して、クラウドリソースを作成します。たとえば、RunInstances 操作を呼び出して、共有 vSwitch 内に ECS インスタンスを作成します。

Terraform

1. 共有を有効にする

vSwitch 所有者がリソース共有を作成します。

Terraform は、vSwitch を任意のアカウントと共有することをサポートしていません。 vSwitch は、リソースディレクトリ内でのみ共有できます。操作を実行する前に、リソースディレクトリ内でリソース共有が有効になっていることを確認してください。詳細については、「リソースディレクトリ内でリソース共有を有効にする」をご参照ください。
リソース:alicloud_resource_manager_resource_sharealicloud_resource_manager_shared_resource、およびalicloud_resource_manager_shared_target
# リージョンを指定します。
provider "alicloud" {
  region = "cn-hangzhou"
}

# リソース共有の名前を指定します。
resource "alicloud_resource_manager_resource_share" "example_unit" {
  resource_share_name = "example_unit_name"
}

# 共有 vSwitch を指定します。
resource "alicloud_resource_manager_shared_resource" "example_vsw" {
  resource_share_id = alicloud_resource_manager_resource_share.example_unit.id
  resource_id       = "vsw-bp1omg98fixldnwcxxxxx" // 値を共有 vSwitch の ID に置き換えます。
  resource_type     = "VSwitch"                   // リソースタイプは VSwitch です。
}

# 共有 vSwitch のプリンシパルを指定します。
resource "alicloud_resource_manager_shared_target" "example_target" {
  resource_share_id = alicloud_resource_manager_resource_share.example_unit.id
  target_id         = "10xxxxxxxxxxxxxx" // 値を vSwitch プリンシパルの UID に置き換えます。
}

2. 共有 vSwitch 内にクラウドリソースを作成する

次の例は、vSwitch プリンシパルが共有 vSwitch 内に ECS インスタンスを作成する方法を示しています。

リソース:alicloud_security_group および alicloud_instance
データソース:alicloud_vswitches
# リージョンを指定します。
provider "alicloud" {
  region = "cn-hangzhou"
}

# 共有 vSwitch を指定します。
variable "vsw_id" {
  default = "vsw-bp1omg98fixldnwcxxxxx" // 値を共有 vSwitch の ID に置き換えます。
}

# 対象の共有 vSwitch に関する情報を取得します。
data "alicloud_vswitches" "example_vsw" {
  ids = [var.vsw_id]
}

# セキュリティグループを作成します。
resource "alicloud_security_group" "example_sg" {
  security_group_name = "example_sg_name"
  vpc_id              = data.alicloud_vswitches.example_vsw.vswitches[0].vpc_id
}

# ECS インスタンスを作成します。
resource "alicloud_instance" "example_ecs" {
  instance_name        = "example_ecs_name"
  instance_type        = "ecs.e-c1m1.large"
  security_groups      = [alicloud_security_group.example_sg.id]
  vswitch_id           = var.vsw_id
  image_id             = "aliyun_3_x64_20G_alibase_20250117.vhd"
  system_disk_category = "cloud_essd"
}

共有 vSwitch とプリンシパルを管理する

vSwitch 所有者は、次の操作を実行できます。

  • 共有 vSwitch を表示する

  • 共有 vSwitch のプリンシパルを表示する

  • さらに vSwitch を共有する

  • vSwitch をさらに多くのアカウントと共有する

コンソール

  1. Resource Management コンソールのリソース共有 - 自分の共有ページに移動します。トップメニューバーの左上隅で、共有リソースのリージョンを選択します。

  2. [自分の共有] ページで、次の操作を実行できます。

    • 共有 vSwitch を表示する:<[共有リソース] タブをクリックして、共有 vSwitch を表示します。

    • 共有 vSwitch のプリンシパルを表示する[プリンシパル] タブをクリックして、プリンシパルを表示します。

  3. [リソース共有] タブをクリックし、対象のリソース共有を見つけて、その ID をクリックします。

  4. [リソース] または [プリンシパル] タブをクリックして、リソース共有内の共有 vSwitch とプリンシパルを表示できます。

    [共有ステータス][リソース] タブと [プリンシパル] タブで [関連付け済み] の場合、共有リソースとプリンシパルは正常に追加されています。

    image

    関連付けの失敗の一般的な原因

    [リソース] タブと [プリンシパル] タブの [共有ステータス][関連付けに失敗しました] の場合、共有操作は失敗しました。考えられる原因を以下に示します。問題のトラブルシューティングを行ってから、vSwitch を再度追加できます。

    • vSwitch プリンシパルのアカウントが vSwitch 所有者のアカウントと同じです。 vSwitch 所有者は、vSwitch を自分自身と共有することはできません。

    • VPC が共有されているプリンシパルの数がクォータを超えています。デフォルトのクォータは 50 です。

    • VPC 内の vSwitch が共有されているプリンシパルの数がクォータを超えています。デフォルトのクォータは 50 です。

    • プリンシパルが受信する共有 vSwitch の数がクォータを超えています。デフォルトのクォータは 30 です。

  5. 対象のリソース共有の詳細ページで、右上隅にある [リソース共有の編集] をクリックします。このページでは、次の操作を実行できます。

    • 共有 vSwitch を追加または削除する[ステップ 1] で、vSwitch のチェックボックスをオンまたはオフにします。

    • 共有 vSwitch のプリンシパルを追加または削除する[ステップ 3] で、アカウント UID を追加または削除できます。

  6. 設定を確認した後、[リソース共有の編集] ページの [ステップ 4][OK] をクリックします。

API

vSwitch 所有者は、共有 vSwitchプリンシパル を表示できます。

  • ListSharedResources 操作を呼び出して、共有 vSwitch のリストを取得します。

  • ListSharedTargets 操作を呼び出して、vSwitch プリンシパルのリストを取得します。

vSwitch 所有者は、リソース共有内の 共有 vSwitchプリンシパル を管理できます。

  • ListResourceShareAssociations 操作を呼び出して、リソース共有内の vSwitch またはプリンシパルを取得します。

  • AssociateResourceShare 操作を呼び出して、共有 vSwitch またはプリンシパルをリソース共有に追加します。

  • DisassociateResourceShare 操作を呼び出して、共有 vSwitch またはプリンシパルをリソース共有から削除します。

詳細情報

請求

共有 VPC 機能は無料です。ただし、リソース所有者とプリンシパルは、ECS インスタンスや RDS インスタンスなど、作成したクラウドリソースに対して課金されます。

サポートされているリージョン

エリア

リージョン

アジアパシフィック - 中国

中国 (杭州)中国 (上海)中国 (青島)中国 (北京)中国 (張家口)中国 (フフホト)中国 (ウランチャブ)中国 (深圳)中国 (河源)中国 (広州)中国 (成都)、および 中国 (香港)

アジアパシフィック - その他

日本 (東京)韓国 (ソウル)シンガポールマレーシア (クアラルンプール)インドネシア (ジャカルタ)フィリピン (マニラ)、および タイ (バンコク)

ヨーロッパおよびアメリカ

ドイツ (フランクフルト)英国 (ロンドン)米国 (シリコンバレー)、および 米国 (バージニア)

中東

SAU (リヤド - パートナーリージョン)

重要

SAU (リヤド - パートナーリージョン) リージョンは、パートナーによって運営されています。

クォータ

クォータ名

説明

デフォルト制限

クォータの増加

vpc_quota_sharedvpc_share_user_num_per_vpc

VPC を共有できる vSwitch プリンシパルの数。

50

クォータ管理ページまたはクォータセンターに移動して、クォータの増加をリクエストします。

vpc_quota_sharedvpc_share_user_num_per_vswitch

VPC 内の vSwitch を共有できる vSwitch プリンシパルの数。

50

vpc_quota_sharedvpc_accept_shared_vswitch_num

vSwitch プリンシパルが承諾できる共有 vSwitch の数。

30