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

Virtual Private Cloud:共有 VPC

最終更新日:Mar 26, 2026

非デフォルトの仮想プライベートクラウド (VPC) 内の vSwitch を、他の Alibaba Cloud アカウントと共有できます。これにより、プリンシパルは共有された vSwitch 内に ECS や ApsaraDB for RDS インスタンスなどのクラウドリソースを独自に作成できます。プリンシパルは、自身が作成したリソースのみを表示および管理でき、他のアカウントが所有するリソースを表示、変更、または削除することはできません。

仕組み

image

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

共有 VPC の主な利用シーンは以下のとおりです:

  • 集中型ネットワーク管理:中央のネットワーク運用チームが VPC の計画、設定、管理を行い、異なる業務部門と vSwitch を共有します。各業務部門は、ネットワーク構成を扱う必要なく、共有 vSwitch 内に ECS インスタンスなどの独自のリソースを作成および管理できます。

  • 複数アカウント環境におけるネットワーク運用の簡素化:複数のアカウントと vSwitch を共有することで、各アカウントごとに個別の VPC を設定する必要がなくなります。これにより、VPC の数が削減され、複数アカウント環境におけるネットワーク運用が簡素化されます。

制限事項

  1. デフォルト VPC は共有できません。共有 VPC 機能を利用するには、まずカスタム VPC を作成する必要があります。既存のリソースがデフォルト VPC 内にある場合は、それらを非デフォルト VPC に移行または再作成してください。

  2. 既存のリソース間で共有 VPC を使用してネットワーク通信を行う前に、対応リソースタイプおよび所有者とプリンシパルの権限をご確認ください。この機能が要件を満たす場合、既存のリソースを共有 VPC 内に再作成することを推奨します。クラウドリソースがクロス VPC 移行をサポートしている場合は、共有 VPC への移行も可能です。この機能が適さない場合、またはリソースの再作成・移行ができない場合は、VPC ピアリング接続またはCloud Enterprise Network(CEN)を使用して、クロスアカウントのネットワーク接続を有効化してください。

対応リソースタイプ

  • ECS インスタンス

  • Server Load Balancer(SLB)インスタンス

  • ApsaraDB for RDS インスタンス

  • Container Service Terway コンポーネント

  • ApsaraDB for MongoDB インスタンス

  • ApsaraDB for Redis インスタンス

  • ApsaraMQ for Kafka インスタンス

  • Elasticsearch

  • Container Registry(ACR)インスタンス

  • PolarDB for MySQL クラスター

  • ApsaraMQ for RocketMQ インスタンス

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

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

共有 vSwitch について:

リソース

所有者

プリンシパル

クラウドリソース(ECS、ApsaraDB for RDS など)

自身が作成したクラウドリソースのみを表示および管理でき、他のアカウントが作成したリソースは表示および管理できません。

セキュリティグループ

自身が作成したセキュリティグループのみを表示および管理でき、他のアカウントが作成したセキュリティグループは表示および管理できません。

Elastic Network Interface(ENI)

DescribeNetworkInterfaces 操作を呼び出して、プリンシパルが作成した Elastic Network Interface(ENI)を表示できますが、管理はできません。

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

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

完全な権限

表示のみ

予約済み CIDR ブロック

完全な権限

権限なし

IPv6 ゲートウェイ

完全な権限

  • ECS インスタンス、ENI、Network Load Balancer(NLB)インスタンスなどのリソースに対して、プライベート IPv6 アドレスの割り当てまたは解放を行います。

  • 自身のアカウント内の IPv6 アドレスを表示します。

  • 自身のアカウント内の IPv6 アドレスに対して、インターネット帯域幅の有効化または無効化、および egress-only ルールの構成または削除を行います。インターネット帯域幅の料金はプリンシパルが負担します。

フローログ

  • VPC および vSwitch 用のフローログを作成できます。これらのフローログは、所有者が所有する ENI にのみ適用されます。

  • ENI 用のフローログを作成できます。これらのフローログは、所有者が所有する ENI にのみ適用されます。

ENI 用のフローログのみを作成できます。これらのフローログは、プリンシパルが所有する ENI にのみ適用されます。

NAT ゲートウェイ、VPN ゲートウェイ、Cloud Enterprise Network、VPC ピアリング接続

完全な権限

これらのリソースを表示または管理することはできませんが、VPC 外部とのネットワーク接続のために使用できます。

タグ

vSwitch の共有は、所有者のリソースタグには影響しません。所有者およびプリンシパルは、それぞれのリソースにタグを付与できます。これらのタグは独立しており、相互に表示されません。

vSwitch の共有を解除した後:

リソース

プリンシパルの権限

クラウドリソース(ECS、ApsaraDB for RDS など)

既存のリソースを引き続き使用および管理(表示、変更、削除)できますが、新しいリソースを作成することはできません。

vSwitch および関連リソース

共有 vSwitch およびその関連リソース(VPC、ルートテーブル、プライベート CIDR ブロック、ネットワーク ACL など)を表示できません。

タグ

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

共有 vSwitch 内へのクラウドリソースの作成

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

コンソール

1. 共有の有効化

このセクションでは、任意のアカウントと vSwitch を共有する方法について説明します。リソースディレクトリ内での共有については、「リソースディレクトリ内でのリソース共有」をご参照ください。
  1. 所有者アカウントでログインし、Resource Management コンソールの リソース共有 > 自分が共有するリソース ページに移動します。上部のナビゲーションバーから共有リソースが配置されているリージョンを選択し、リソース共有の作成 をクリックします。開いたページで:

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

    ステップ 2:システムがデフォルトで AliyunRSDefaultPermissionVSwitch 権限を選択します

    ステップ 3依頼人のスコープすべてのアカウント を選択します。追加方法手動で追加 を選択します。Alibaba Cloud アカウント ID を入力し、追加 をクリックします。

    ステップ 4:設定を確認後、確認する をクリックします。

  2. プリンシパルのアカウントでログインし、共有の招待を受け入れます:

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

    2. 上部ナビゲーションバーで、共有リソースが配置されているリージョンを選択します。対象の共有ユニットを見つけ、[承認]ステータス 列でクリックします。

    3. 招待を受け入れると、共有 vSwitch にアクセスできるようになります。所有者がこの共有ユニットに追加する新しいリソースは、自動的に利用可能になります。

2. クラウドリソースの作成

プリンシパルのアカウントでログインします:

  1. Virtual Private Cloud(VPC)コンソールの vSwitch ページに移動します。上部のナビゲーションバーから共有 vSwitch のリージョンを選択すると、共有済みとしてマークされた vSwitch が表示されます。

    image

  2. ECS、ApsaraDB for RDS、SLB インスタンスの場合、共有 vSwitch を見つけ、操作 列の クラウドサービスの追加 をクリックしてインスタンスを作成します。

  3. その他の対応リソースタイプの場合、リソース作成時に共有 vSwitch を選択します。

API

1. 共有の有効化

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

    1. 所有者として、CreateResourceShare 操作を呼び出して共有ユニットを作成します。AllowExternalTargets パラメーターを True に設定します。

    2. プリンシパルとして、ListResourceShareInvitations 操作を呼び出して受信した招待を照会します。その後、AcceptResourceShareInvitation 操作を呼び出して招待を受け入れます。

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

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

    2. 所有者の認証情報を使用して、CreateResourceShare 操作を呼び出して共有ユニットを作成します。AllowExternalTargets パラメーターを False に設定します。

2. クラウドリソースの作成

プリンシパルのアカウントでログインします:

  1. DescribeVSwitches 操作を呼び出して vSwitch の一覧を取得します。

  2. 一覧から共有 vSwitch をフィルターします。共有 vSwitch の場合、ShareType フィールドの値は Sharing になります。

  3. ECS の場合は RunInstances のようなクラウドリソース作成 API を呼び出して、共有 vSwitch 内にリソースを作成します。

Terraform

1. 共有の有効化

所有者が共有ユニットを作成します:

Terraform では、任意のアカウントと vSwitch を共有することはサポートされていません。vSwitch の共有はリソースディレクトリ内でのみ可能です。開始する前に、リソースディレクトリの管理アカウントが組織向けのリソース共有を有効化していることを確認してください。
リソース:alicloud_resource_manager_resource_sharealicloud_resource_manager_shared_resourcealicloud_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 内に ECS インスタンスを作成する方法を示します:

リソース:alicloud_security_groupalicloud_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. リソース共有 > 自分が共有するリソース ページに移動します。上部のナビゲーションバーから共有リソースが配置されているリージョンを選択します。

  2. 共有するリソース ページで、以下の操作が可能です:

    • 共有 vSwitch の表示共有リソース タブをクリックします。

    • 共有 vSwitch のプリンシパルの表示principals タブをクリックします。

  3. 共有ユニット タブをクリックし、対象の共有ユニットを見つけ、その ID をクリックします。

  4. リソース タブまたは 依頼人 タブをクリックして、この共有ユニット内の共有 vSwitch およびプリンシパルを表示します。

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

    image

    関連付け失敗の主な原因

    ステータスリソース タブまたは 依頼人 セクションで 関連付け失敗 となっている場合、共有の試行は失敗しています。考えられる原因は以下のとおりです:

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

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

    • VPC 内の単一の vSwitch を共有するプリンシパルの数がクォータ(デフォルト:50)を超えています。

    • プリンシパルが受け入れ可能な共有 vSwitch の数がクォータ(デフォルト:30)を超えています。

  5. 対象の共有ユニットのページで、右上隅の リソース共有の編集 をクリックします。この共有ユニット内で以下の操作が可能です:

    • 共有 vSwitch の追加または削除ステップ 1 で、vSwitch のチェックボックスを選択または解除します。

    • プリンシパルの追加または削除ステップ 3 で、アカウントの UID を追加または削除します。

  6. 設定を確認後、確認する をクリックします。ステップ 4リソース共有の編集 ページにあります。

API

所有者は、共有 vSwitch およびその プリンシパル を表示できます:

  • ListSharedResources 操作を呼び出して共有 vSwitch の一覧を表示します。

  • ListSharedTargets 操作を呼び出して共有 vSwitch のプリンシパルを表示します。

所有者は、共有ユニット内の 共有 vSwitch および プリンシパル を管理できます:

  • ListResourceShareAssociations 操作を呼び出して、共有ユニット内の vSwitch またはプリンシパルを表示します。

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

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

関連情報

課金

共有 VPC 機能自体は無料です。ただし、ECS インスタンスや ApsaraDB for RDS インスタンスなどのクラウドリソースを作成した場合には、それらのリソースに対して課金されます。

対応リージョン

エリア

共有 VPC をサポートするリージョン

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

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

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

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

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

ドイツ(フランクフルト)イギリス(ロンドン)米国(シリコンバレー)米国(バージニア)

中東

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

クォータ

クォータ名

説明

デフォルト

調整可能

vpc_quota_sharedvpc_share_user_num_per_vpc

VPC の vSwitch を共有できるアカウントの最大数。

50

はい。クォータの増量を依頼するには、クォータ管理 ページまたは クォータセンター にアクセスしてください。

vpc_quota_sharedvpc_share_user_num_per_vswitch

vSwitch を共有できるアカウントの最大数。

50

vpc_quota_sharedvpc_accept_shared_vswitch_num

アカウントが受け入れ可能な共有 vSwitch の最大数。

30