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

Virtual Private Cloud:VPC peering connection

最終更新日:Aug 22, 2026

デフォルトでは、VPC は互いに分離されています。VPC 間のプライベートネットワーク通信を有効にするには、ピアリング接続を作成し、両方の VPC のルートを設定します。ピアリング接続は、同一アカウント、クロスアカウント、同一リージョン、およびリージョン間の接続をサポートします。2 つの VPC の CIDR ブロックは重複してはなりません。

仕組み

VPC ピアリング接続は、2 つの VPC をプライベートネットワーク経由で接続し、両方の VPC 内のリソースがプライベート IP アドレスを使用して通信できるようにします。

  1. VPC ピアリング接続の作成:同一アカウントの VPC の場合、システムは自動的にリクエストを承諾し、接続を確立します。クロスアカウントの VPC の場合、受信側 VPC の所有者が接続リクエストを承諾する必要があります。

  2. 双方向ルートの設定:リソース間の通信を有効にするには、各 VPC のルートテーブルに、ピア VPC を指すルートを追加します。

多くの VPC を低コストかつ高帯域幅で接続するには、VPC ピアリング接続と Cloud Enterprise Network (CEN) を併用します。両者の比較については、「VPC 相互接続」をご参照ください。

VPC ピアリング接続の設定

コンソール

  1. 前提条件:

    1. 2 つの VPC の CIDR ブロックが重複していないことを確認します。重複している場合は、ワークロードを重複しない CIDR ブロックを持つ VPC に移行する必要があります。

    2. 初めて VPC ピアリング接続を使用する場合は、両方の VPC を所有するアカウントで Cloud Data Transfer (CDT) が有効になっていることを確認してください。

  2. ピアリング接続の作成:

    1. VPC コンソール - VPC ピアリング接続ページに移動します。上部のナビゲーションバーで VPC のリージョンを選択し、VPC ピアリング接続の作成 をクリックします。

    2. 作成ページで、2 つの VPC のアカウントとリージョンに基づいて、受信側のアカウントタイプとリージョンタイプを選択します。

      • 承諾側アカウントタイプ:

        • 同一アカウント:システムは自動的にリクエストを承諾し、接続を確立します。ピア VPC の CIDR ブロックに対するルートを VPC システムルートテーブルに追加するオプションを選択できます。この操作により、双方向ルートが自動的に設定されます。

        • クロスアカウント:受信側アカウントの所有者は、VPC コンソール - VPC ピアリング接続ページに移動する必要があります。受信側 VPC があるリージョンを選択します。対象の VPC ピアリング接続の 操作 列で、承諾 をクリックします。

          受信側は、接続リクエストを 拒否 または 削除 することもできます。完全なワークフローについては、「VPC ピアリング接続の状態」をご参照ください。
      • リージョンタイプがクロスリージョンの場合、接続タイプ接続先のリージョンを設定する必要があります。

        プラチナとゴールドのリンクタイプが利用可能です。これらは異なるレベルのデータ転送品質を提供し、課金単価も異なります。

        • プラチナ (サービスレベルアグリーメント:99.995% の可用性):証券取引、オンライン音声通話、ビデオ会議、リアルタイムゲームなど、ネットワークジッターや遅延に敏感で、高いリンク品質を必要とするワークロードに適しています。

        • ゴールド (サービスレベルアグリーメント:99.95% の可用性):データ同期やファイル転送など、リンク品質に敏感でないワークロードに適しています。

  3. 双方向ルートの設定:

    IPv6 アドレス経由での通信を有効にするには、ピア VPC の IPv6 CIDR ブロックを指すルートエントリを設定する必要があります。
    1. リクエスト元のアカウントで:リクエスタ 列で、ルートエントリの設定 をクリックします。通信するリソースを含む vSwitch の ルートテーブル を選択します。宛先 CIDR ブロック を受信側 VPC の CIDR ブロックに設定します。

    2. 受信側のアカウントで:アクセプタ 列で、ルートエントリの設定 をクリックします。通信するリソースを含む vSwitch の ルートテーブル を選択します。宛先 CIDR ブロック をリクエスト元 VPC の CIDR ブロックに設定します。

  4. 接続性の検証

    • ネットワーク到達性分析:この分析では実際のデータパケットは送信されず、ワークロードに影響を与えません。

      1. 対象の VPC ピアリング接続の 診断 列で、診断 > パス分析 を選択するか、対象の VPC ピアリング接続 ID をクリックして パス分析 タブに移動します。

      2. 送信元と宛先を設定し、プロトコルとポート番号を指定して特定のアクセスシナリオをシミュレートし、接続性を検証します。

      3. システムはルート、セキュリティグループ、ネットワーク ACL の設定をチェックし、診断結果を提供します。

      4. 一方向のパスが到達可能な場合は、逆方向のパスも設定して分析し、双方向の接続性を検証する必要があります。

    • 手動テスト:リクエスト元 VPC 内の ECS インスタンスから、コマンド ping <private IP of an ECS instance in the peer VPC> を実行します。

    パス分析 を使用する前に、Network Intelligence Service (NIS) が有効化されていることを確認してください。この機能を初めて使用する際に、システムはサービスリンクロール AliyunServiceRoleForNis を自動的に作成します。
    リージョン間の VPC ピアリング接続を作成した後、そのインスタンス ID をクリックして 編集 をクリックし、帯域幅 (Mbps)接続タイプ を変更できます。
    どちらのアカウントでも VPC ピアリング接続を削除できます。削除すると、プライベート通信は即座に中断され、元に戻すことはできません。続行する前に、この操作がワークロードに影響を与えないことを確認してください。

API

ピアリング接続の作成
  1. CreateVpcPeerConnection を呼び出して VPC ピアリング接続を作成します。

  2. 2 つの VPC が異なるアカウントに属している場合、受信側アカウントの所有者は AcceptVpcPeerConnection を呼び出して VPC ピアリング接続を承諾する必要があります。

    受信側は RejectVpcPeerConnection を呼び出して VPC ピアリング接続を拒否することもできます。
  3. 各アカウントから GetVpcPeerConnectionAttribute を呼び出して、もう一方の VPC の CIDR ブロックをクエリします。

  4. 各アカウントから CreateRouteEntry を呼び出して、ピアリング接続を指すルートエントリを作成します。

リージョン間ピアリング接続の変更

ModifyVpcPeerConnection を呼び出して、リージョン間 VPC ピアリング接続の帯域幅またはリンクタイプを変更します。

ピアリング接続の削除
  • DeleteRouteEntry を呼び出して、ピアリング接続を指すルートエントリを削除します。

  • DeleteVpcPeerConnection を呼び出して、VPC ピアリング接続を削除します。

ネットワーク到達性分析

ネットワーク到達性分析を使用して接続性を検証するには、以下の API オペレーションを順番に呼び出します。

  1. ネットワーク分析パスの作成

  2. ネットワーク到達性分析タスクの作成

  3. ネットワーク到達性分析タスクの結果の取得

Terraform

同一アカウントのピアリング接続
リソース:alicloud_vpc_peer_connectionalicloud_route_entry
データソース:alicloud_account
# VPC を所有するアカウント。
data "alicloud_account" "default" {}

provider "alicloud" {
  alias  = "local"
  region = "cn-hangzhou" # リクエスト元 VPC のリージョン。
}

provider "alicloud" {
  alias  = "accepting"
  region = "cn-beijing" # 受信側 VPC のリージョン。リクエスト元リージョンと同じでもかまいません。
}

# リクエスト元 VPC の ID。
variable "local_vpc_id" {
  default = "vpc-bp1c******"
}

# 受信側 VPC の ID。
variable "accepting_vpc_id" {
  default = "vpc-2zev******"
}

# VPC ピアリング接続を作成します。
resource "alicloud_vpc_peer_connection" "example_peer_connection" {
  provider             = alicloud.local
  peer_connection_name = "example_peer_connection_name"
  vpc_id               = var.local_vpc_id                 # リクエスト元 VPC の ID。
  accepting_ali_uid    = data.alicloud_account.default.id # 受信側アカウントの ID。   
  accepting_region_id  = "cn-beijing"                     # 受信側 VPC のリージョン。
  accepting_vpc_id     = var.accepting_vpc_id             # 受信側 VPC の ID。
  bandwidth            = 1024                             # 帯域幅 (Mbps)。このパラメーターはリージョン間接続でのみ設定できます。
  link_type            = "Gold"                           # リンクタイプ。このパラメーターはリージョン間接続でのみ設定できます。
}

# リクエスト元 VPC のルートを設定します。
resource "alicloud_route_entry" "example_local_route" {
  provider              = alicloud.local
  route_table_id        = "vtb-bp1a******"            # リクエスト元インスタンスの vSwitch に関連付けられたルートテーブル。
  destination_cidrblock = "172.16.0.0/12"             # 受信側 VPC の CIDR ブロック。
  nexthop_type          = "VpcPeer"                   # ネクストホップは VPC ピアリング接続です。
  nexthop_id            = alicloud_vpc_peer_connection.example_peer_connection.id
}

# 受信側 VPC のルートを設定します。
resource "alicloud_route_entry" "example_acceptor_route" {
  provider              = alicloud.accepting
  route_table_id        = "vtb-2ze1******"            # 受信側インスタンスの vSwitch に関連付けられたルートテーブル。
  destination_cidrblock = "10.0.0.0/8"                # リクエスト元 VPC の CIDR ブロック。
  nexthop_type          = "VpcPeer"                   # ネクストホップは VPC ピアリング接続です。
  nexthop_id            = alicloud_vpc_peer_connection.example_peer_connection.id
}
クロスアカウントのピアリング接続
リソース:alicloud_vpc_peer_connectionalicloud_vpc_peer_connection_accepteralicloud_route_entry
provider "alicloud" {
  alias  = "local"
  region = "cn-hangzhou" # リクエスト元リージョン。 
}

# 受信側リージョン。リクエスト元リージョンと同じでもかまいません。
variable "accepting_region" {
  default = "cn-beijing"
}

# 受信側アカウント。
variable "accepting_uid" {
  default = "1234******"
}

# 受信側アカウントの AccessKey ID。
variable "access_key_id" {
  description = "The AccessKey ID for operating your infrastructure"
}
# 受信側アカウントの AccessKey Secret。
variable "access_key_secret" {
  description = "The AccessKey Secret for managing your infrastructure"
}

provider "alicloud" {
  alias      = "acceptor"
  region     = var.accepting_region
  access_key = var.access_key_id
  secret_key = var.access_key_secret
}

# リクエスト元 VPC の ID。
variable "local_vpc_id" {
  default = "vpc-2ze0******"
}

# 受信側 VPC の ID。
variable "accepting_vpc_id" {
  default = "vpc-wz9e******"
}

# VPC ピアリング接続を作成します。
resource "alicloud_vpc_peer_connection" "example_peer_connection" {
  provider             = alicloud.local
  peer_connection_name = "example_peer_connection_name"
  vpc_id               = var.local_vpc_id     # リクエスト元 VPC の ID。
  accepting_ali_uid    = var.accepting_uid    # 受信側アカウントの ID。
  accepting_region_id  = var.accepting_region # 受信側リージョン。
  accepting_vpc_id     = var.accepting_vpc_id # 受信側 VPC の ID。
  bandwidth            = 1024                 # 帯域幅 (Mbps)。このパラメーターはリージョン間接続でのみ設定できます。
  link_type            = "Gold"               # リンクタイプ。このパラメーターはリージョン間接続でのみ設定できます。
}

# 受信側がピアリング接続リクエストを承諾します。
resource "alicloud_vpc_peer_connection_accepter" "example_peer_connection_accepter" {
  provider    = alicloud.acceptor
  instance_id = alicloud_vpc_peer_connection.example_peer_connection.id
}

# リクエスト元 VPC のルートを設定します。
resource "alicloud_route_entry" "example_local_route" {
  provider              = alicloud.local
  route_table_id        = "vtb-2zel******" # リクエスト元インスタンスの vSwitch に関連付けられたルートテーブル。
  destination_cidrblock = "192.168.0.0/24" # 受信側 VPC の CIDR ブロック。
  nexthop_type          = "VpcPeer"        # ネクストホップは VPC ピアリング接続です。
  nexthop_id            = alicloud_vpc_peer_connection.example_peer_connection.id
}

# 受信側 VPC のルートを設定します。
resource "alicloud_route_entry" "example_acceptor_route" {
  provider              = alicloud.acceptor
  route_table_id        = "vtb-wz95******" # 受信側インスタンスの vSwitch に関連付けられたルートテーブル。
  destination_cidrblock = "172.16.0.0/12"  # リクエスト元 VPC の CIDR ブロック。
  nexthop_type          = "VpcPeer"        # ネクストホップは VPC ピアリング接続です。
  nexthop_id            = alicloud_vpc_peer_connection.example_peer_connection.id
}

ネットワーク接続のトラブルシューティング

ネットワーク接続の検証には、ネットワーク到達性分析の使用を推奨します。

チェック項目

説明

解決策

ピアリング接続のステータス

対象のピアリング接続のステータスアクティベート済みであることを確認します。

ステータスが「承諾中」の場合、受信側に連絡して接続リクエストを承諾してもらいます。

CIDR ブロックの設定

リクエスト元 VPC と受信側 VPC の CIDR ブロックに以下の問題がないか確認します:

  1. CIDR ブロックの重複。

  2. RFC 1918 プライベート CIDR ブロック (例:198.19.0.0/16 や 30.0.0.0/8) の使用。VPC はこれらの CIDR ブロックをパブリックアドレスとして扱います。ECS インスタンスにパブリック IP アドレスがある場合、これらの宛先へのトラフィックはデフォルトでパブリックネットワーク経由でルーティングされます。

  3. ECS インスタンスに Docker がデプロイされている場合の Docker ネットワークインターフェースアドレスとの競合。

  1. CIDR ブロックが重複している場合は、ワークロードを重複しない CIDR ブロックを持つ VPC に移行し、新しいピアリング接続を作成します。

  2. 非 RFC 1918 プライベート CIDR ブロックが使用されている場合は、IPv4 ゲートウェイを使用してパブリック IP アドレスのプライベート利用を有効にし、トラフィックが正しく宛先 VPC にルーティングされるようにします。

  3. Docker の CIDR ブロックを変更します

ルート設定

ピアリング接続の詳細ページで、ルートエントリ を確認します:

  1. 各 VPC にピア VPC を指すルートエントリが設定されていること。

  2. 宛先 CIDR ブロックがピア VPC の CIDR ブロックに正しく設定されていること。

  3. ルートエントリは、リソースがデプロイされている vSwitch のルートテーブルに追加されます。

双方向ルート設定を確認し、修正します。

アクセスルール設定

  1. 通信する ECS インスタンスのセキュリティグループのインバウンドおよびアウトバウンドルールが、ピア IP アドレスからのトラフィックを許可していること。

  2. RDS、Redis、MongoDB、Elasticsearch などのクラウドサービスの許可リストにピア IP アドレスが含まれていること。

  3. vSwitch に関連付けられたネットワーク ACL のインバウンドおよびアウトバウンドルールが、ピア IP アドレスからのトラフィックを許可していること。

セキュリティグループ、ネットワーク ACL、およびすべてのクラウドサービスの許可リストが、ピア IP アドレスからのトラフィックを許可していることを確認します。

CIDR ブロック設定が接続障害を引き起こす理由

  1. CIDR ブロックの重複:

    ピアリングされた VPC の CIDR ブロックが重複しており、宛先としてピア VPC の CIDR ブロックを設定した場合、トラフィックはまずローカルのシステムルートに一致します。その結果、トラフィックはローカル VPC 内でルーティングされ、ピア VPC に到達できません。

    1. 重複しないピア vSwitch の CIDR ブロックへのルートを設定することも可能ですが、この方法は拡張が困難です。新しく作成する vSwitch も既存の vSwitch の CIDR ブロックと重複しない CIDR ブロックを使用する必要があり、ネットワーク計画が複雑になります。ワークロードを重複しない CIDR ブロックを持つ VPC に移行し、新しいピアリング接続を作成することを推奨します。

    2. vSwitch の CIDR ブロックが重複している場合、システムルートよりも具体的なルートを設定することはできません。この場合、ワークロードを重複しない CIDR ブロックを持つ VPC に移行し、新しいピアリング接続を作成する必要があります。

  2. RFC 1918 プライベート CIDR ブロック:

    VPC は、RFC 1918 (例:30.0.0.0/16) 以外の IP アドレス空間をパブリック CIDR ブロックとして扱います。VPC 内のリソースがインターネットにアクセスできる場合、このアドレス空間宛のトラフィックはピアリング接続経由ではなく、インターネットにルーティングされます。IPv4 ゲートウェイを使用してパブリック IP アドレスのプライベート利用を有効にし、トラフィックが正しく宛先 VPC にルーティングされるようにする必要があります。

複数のルートテーブルのトラブルシューティング

同じ VPC 内に複数のルートテーブルが存在する場合、以下の点に注意してください:

  • ルートエントリは、システムルートテーブルだけでなく、ECS インスタンスがデプロイされている vSwitch に関連付けられたルートテーブルに追加する必要があります。

  • vSwitch がカスタムルートテーブルに関連付けられている場合、システムルートテーブル内のルートエントリはその vSwitch に対して効果がありません。

カスタムルートテーブルを作成し、vSwitch をそれに関連付けたが、システムルートテーブルにのみピアリング接続を指すルートエントリを追加し、カスタムルートテーブルには追加しなかった場合、その vSwitch 内の ECS インスタンスはピア VPC に到達できません。

トラブルシューティング手順:

  1. VPC コンソール - ルートテーブルページに移動します。vSwitch に関連付けられたカスタムルートテーブルを見つけ、そのルートテーブル ID をクリックします。

  2. カスタムルート タブで、宛先 CIDR ブロックに対してピアリング接続を指すルートエントリが存在するかどうかを確認します。存在しない場合は、ルートエントリの追加 をクリックし、ピア vSwitch CIDR ブロックを入力し、ネクストホップの種類VPC ピアリング接続 に設定し、対応するピアリング接続インスタンスを選択します。

設定例

3 つの VPC の接続

VPC ピアリングのルートを設定する際には、以下のオプションがあります:

  • 宛先 CIDR ブロックをピア VPC の CIDR ブロックに設定します。これにより、両方の VPC 内のすべてのインスタンスが互いに通信できるようになり、管理が簡素化されます。

  • 宛先 CIDR ブロックをピア VPC 内の vSwitch の CIDR ブロックや特定のインスタンスの IP アドレスに設定することで、より具体的なルートを構成します。これによりセキュリティが向上しますが、新しいインスタンスが通信する必要がある場合に手動でルートテーブルを更新する必要があります。

例えば、VPC1 のルートは VPC2 の vSwitch 3 の CIDR ブロックと VPC3 の ECS インスタンス ECS04 を指しています。したがって、VPC1 のリソースは vSwitch 3 と ECS04 のリソースとのみプライベートに通信できます。対照的に、VPC2 と VPC3 のルートはそれぞれのピア VPC の CIDR ブロックを指しており、リソース間の完全な通信が可能です。

CEN から VPC ピアリング接続への移行

2 つの VPC 間のプライベートネットワーク通信を Cloud Enterprise Network (CEN) から VPC ピアリング接続に切り替えます。この例は、2 つの VPC 間のペアワイズ接続のみが必要で、よりシンプルなトポロジーを低コストで実現したい場合に使用します。クロスアカウントのシナリオでは、各アカウントが自身の VPC に対して操作を実行します。

前提条件

  • 2 つの VPC の CIDR ブロックが重複していないこと。

  • 2 つの VPC が現在 CEN を通じて通信していることを確認し、復元できるように両方の VPC の既存のルートエントリを記録していること。

手順

  1. VPC ピアリング接続を作成します。VPC コンソール - VPC ピアリング接続ページで、リクエスト元が VPC ピアリング接続の作成 をクリックし、ピアアカウント ID とピア VPC 情報を入力します。クロスアカウント接続の場合、受信側アカウントは接続リクエストに対して 承諾 をクリックします。接続が確立された後にのみ続行します。

  2. CEN を指すルートエントリを削除します。VPC コンソール - ルートテーブルページで、両方の VPC の ルートテーブル を開き、ネクストホップがトランジットルーター (CEN Enterprise Edition) またはタイプが CEN (CEN Basic Edition) のルートエントリを見つけます。手動で追加したルートエントリは直接削除できます。CEN が VPC に自動的に広報するルートエントリは、このページでは削除できません。CEN 側で VPC のネットワークインスタンス接続をデタッチした後に取り消されます。

  3. VPC ピアリング接続を指すルートエントリを追加します。各 VPC のルートテーブルで ルートエントリの追加 をクリックし、宛先 CIDR ブロック をピア VPC の CIDR ブロックに設定し (ピア VPC 内の vSwitch CIDR ブロックや特定のインスタンスの IP アドレスに絞り込むこともできます)、ネクストホップの種類VPC ピアリング接続 に設定し、作成したピアリング接続インスタンスを選択します。

  4. 結果を検証します。両方の VPC の ルートエントリ で、ピアリング接続を指す新しいルートエントリが利用可能であり、CEN を指すルートエントリが残っていないことを確認し、その後、2 つの VPC 内のリソース間のプライベートネットワーク通信を検証します。

サービス中断の評価

  • 2 つの VPC 間のプライベートネットワーク通信は、CEN ルートエントリが削除された瞬間から新しいルートエントリが有効になるまで中断されます。期間はルートの切り替えにかかる時間によって異なるため、オフピーク時に操作を実行してください。

  • ルートエントリを切り替える前にピアリング接続を作成して承諾しておくことで、中断ウィンドウ内に入るのはルートの切り替えのみになります。

  • 切り替えを検証するまで元の CEN 設定を保持しておくことで、元のルートエントリを復元して迅速にロールバックできます。

複数の VPC を中央 VPC に接続

例えば、ブランチ VPC は中央 VPC にデプロイされたサービスにアクセスできますが、ブランチ VPC 同士は通信できません。典型的なシナリオには以下が含まれます:

  • 複数部門の分離:異なる事業部門の VPC は互いに通信できませんが、中央 VPC の共有サービスにアクセスする必要があります。

  • 複数ユーザーの分離:サービスは複数のユーザーのために専用の VPC にデプロイされます。各ユーザーの VPC はサービス VPC と通信できますが、異なるユーザーの VPC 同士は通信できません。

不正なクロスアカウント接続の制限

デフォルトでは、vpc:CreateVpcPeerConnection および vpc:AcceptVpcPeerConnection 権限を持つ RAM ユーザーは、任意のアカウントと VPC ピアリング接続を確立できます。RAM ユーザーが組織内のアカウントまたは指定されたピアアカウントとのみ接続できるように制限し、不正なクロスアカウントネットワークチャネルを介した機密データの漏洩を防ぐには、RAM カスタムポリシーで acs:TargetRDIdacs:TargetRDPath などのグローバル条件キーを使用して、許可されるピアアカウントを制約します。

条件キー

権限付与の際、RAM は AcceptingAliUid (ピアリング接続作成時) または RequestingAliUid (ピアリング接続承諾時) に基づいてピアアカウントのリソースディレクトリを検索し、カスタムポリシーの条件と照合するために以下の条件キーを権限付与コンテキストに挿入します。

条件キー

タイプ

説明

ユースケース

acs:TargetRDId

String

ピアアカウントが属するリソースディレクトリ ID。例:rd-xxxxxx

ピアアカウントが指定されたリソースディレクトリに属していることを要求します。

acs:TargetRDPath

String

ピアアカウントが属するリソースディレクトリパス。フォーマットは {RDId}/{RootFolderId}/{FolderId}/{AccountId} です。ワイルドカードマッチングがサポートされています。

ピアアカウントがリソースディレクトリ内の指定されたフォルダの下にあることを要求し、階層的なガバナンスを可能にします。

使用上の制約:
vpc:CreateVpcPeerConnection および vpc:AcceptVpcPeerConnection のみが上記の条件キーを挿入します。クエリ、変更、削除などの他のピアリング接続操作は影響を受けません。
リクエストがポリシーによって拒否された場合、エラーコード Forbidden.NoPermission が返され、NoPermissionTypeExplicitDeny に設定されます。RequestId を使用して ActionTrail でポリシーのマッチングを追跡できます。

制限ポリシーの選択

ポリシーを設定する際は、例のリソースディレクトリ ID、パス、またはアカウント ID を組織の実際の値に置き換えてください。リソースディレクトリ ID とパスは Resource Management コンソールで確認できます。

リソースディレクトリ ID による

RAM ユーザーが指定されたリソースディレクトリ内のアカウントとのみ VPC ピアリング接続を作成できるようにします。rd-xxxxxx を実際のリソースディレクトリ ID に置き換えてください。

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "vpc:CreateVpcPeerConnection",
        "vpc:AcceptVpcPeerConnection"
      ],
      "Resource": "*",
      "Condition": {
        "StringNotEquals": {
          "acs:TargetRDId": ["rd-xxxxxx"]
        }
      }
    }
  ]
}

リソースディレクトリパスによる

RAM ユーザーが指定されたフォルダパス配下のアカウントとのみ VPC ピアリング接続を作成できるようにします。これは、詳細な階層ガバナンスに適しています。例のパスを実際のパスに置き換えてください。

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "vpc:CreateVpcPeerConnection",
        "vpc:AcceptVpcPeerConnection"
      ],
      "Resource": "*",
      "Condition": {
        "StringNotLike": {
          "acs:TargetRDPath": ["rd-xxxxxx/r-xxxxxx/fd-xxxxxx/*"]
        }
      }
    }
  ]
}

ポリシーの作成とアタッチ

コンソール

  1. RAM コンソールにログインします。左側のナビゲーションウィンドウで、権限管理 > 権限ポリシー を選択します。

  2. ポリシーの作成 をクリックします。JSON タブで、上記で選択したスキームのポリシーを貼り付けます。リソースディレクトリ ID、パス、またはアカウント ID を実際の値に置き換えます。

  3. はい をクリックし、ポリシー名 を入力して OK をクリックします。

  4. ポリシーを対象の RAM ユーザー、ユーザーグループ、またはロールにアタッチします

API

  1. CreatePolicy を呼び出してカスタムポリシーを作成します。上記で選択したスキームのポリシーを PolicyDocument パラメーターとして渡します。

  2. AttachPolicyToUserAttachPolicyToGroup、または AttachPolicyToRole を呼び出して、ポリシーを対象の RAM ユーザー、ユーザーグループ、またはロールにアタッチします。

監視と運用保守

リージョン間のピアリング接続では、トラフィック、帯域幅、パケット損失などのメトリックを監視できます。CloudMonitor を使用してしきい値ベースのアラートルールを作成し、接続状態をリアルタイムで監視し、ネットワークの輻輳や障害に迅速に対応します。

同一リージョン内のピアリング接続ではメトリックは利用できません。

メトリック

メトリック

説明

インバウンドトラフィック

統計期間内にリクエスト元から受信側に送信されたトラフィック。

アウトバウンドトラフィック

統計期間内に受信側からリクエスト元に送信されたトラフィック。

インバウンド帯域幅

リクエスト元から受信側へのトラフィックの帯域幅。

アウトバウンド帯域幅

受信側からリクエスト元へのトラフィックの帯域幅。

スロットリングによるアウトバウンドパケットドロップ数

ピアリング接続インスタンスのアウトバウンド帯域幅調整によりドロップされたデータパケットのレート。

コンソール

ピアリング接続の監視

  1. VPC コンソール - VPC ピアリング接続ページに移動します。上部のナビゲーションバーで、VPC があるリージョンを選択します。

  2. 対象のリージョン間 VPC ピアリング接続インスタンスの モニター 列で、icon アイコンをクリックして、トラフィック、帯域幅、パケット損失などのメトリックを表示します。

CloudMonitor アラート

  1. CloudMonitor コンソール - アラートルールページに移動し、アラームルールを作成 をクリックします。

  2. VPC ピアリング接続メトリックの各アラートレベルにしきい値を設定します。メトリックがしきい値に達すると、アラーム連絡先グループ は通知を受信します。また、アラートルールの アクション 列にある アラーム履歴 をクリックすると、そのアラートタイムラインを表示できます。

  3. アラートルールの アクション 列から、Modify無効化、または 削除 を行うことができます。

API

Terraform

しきい値ベースのアラートルールを設定するには、「ピアリング接続の CloudMonitor メトリック」で利用可能なメトリックのリストをご参照ください。
リソース:alicloud_cms_alarm_contactalicloud_cms_alarm_contact_groupalicloud_cms_alarm
# 監視対象のピアリング接続インスタンスの ID
variable "vpc_peer_id" {
  default = "pcc-28cv******"
}

# アラート連絡先の作成
resource "alicloud_cms_alarm_contact" "example_cms_alarm_contact" {
  alarm_contact_name = "example_cms_alarm_contact_name"
  describe           = "example_vpc_peer_alarm"
  channels_mail      = "xxx@xxx.com" # メールアドレスに置き換えてください
  lifecycle {
    ignore_changes = [channels_mail]
  }
}

# アラートグループの作成
resource "alicloud_cms_alarm_contact_group" "example_cms_alarm_contact_group" {
  alarm_contact_group_name = "example_cms_alarm_contact_group"
  contacts                 = [alicloud_cms_alarm_contact.example_cms_alarm_contact.id] # アラート連絡先
}

# アラートルールの作成
resource "alicloud_cms_alarm" "example_cms_alarm" {
  name               = "example_cms_alarm_name"
  project            = "acs_vpcpeer" # クラウドサービスのデータ名前空間
  metric             = "IntranetRX"  # メトリック名
  period             = 60            # 統計期間
  contact_groups     = [alicloud_cms_alarm_contact_group.example_cms_alarm_contact_group.alarm_contact_group_name]
  effective_interval = "06:00-20:00" # 有効期間
  metric_dimensions  = <<EOF
  [
    {
      "instanceId": "${var.vpc_peer_id}"
    }
  ]
  EOF
  escalations_critical {            # 重大レベルのアラートを定義
    statistics          = "Sum"     # アラートの統計メソッド
    comparison_operator = ">="      # しきい値の比較演算子
    threshold           = 104857600 # しきい値
    times               = 2         # アラートをトリガーするためにしきい値を超える必要がある連続期間の数
  }
}

よくある質問

クロスボーダーのピアリング接続はサポートされていますか?

はい。非クロスボーダー接続とクロスボーダー接続の両方がサポートされています。

  • 非クロスボーダー:中国本土内の 2 つのリージョン、または中国本土以外の 2 つのリージョンを接続します。

  • クロスボーダー:中国本土のリージョンと中国本土以外のリージョンを接続します。ご利用のアカウントで ビジネス本人確認 が完了していることを確認してください。

対象の VPC を選択できない

選択したリージョンとアカウントが、対象の VPC のリージョンおよび所有者と一致することを確認してください。

リクエスト元リージョンはページの上部に表示され、現在のアカウントがリクエスト元です。ピアリング接続を作成する際に、受信側アカウントとリージョンを指定します。

Docker を使用した ECS の通信障害

ルーティングとセキュリティグループの設定が正しい場合、問題は Docker ネットワークインターフェースの CIDR ブロックと宛先 CIDR ブロックの競合である可能性が高いです。ip addr を実行して、Docker ネットワークインターフェースのアドレスが宛先 CIDR ブロックと競合しているかどうかを確認します。

競合が存在する場合、以下の手順に従って Docker の CIDR ブロックを変更します。

  • Docker サービスの停止または CIDR ブロックの変更は、ワークロードを中断させます。この操作はオフピーク時に実行することを推奨します。

  • Docker の CIDR ブロックを変更する際は、潜在的な接続性の問題を避けるために、既存のコンテナやアプリケーションのネットワーク設定と互換性があることを確認してください。

  1. sudo systemctl stop docker を実行して Docker サービスを停止します。

  2. sudo vim /etc/docker/daemon.json を実行して Docker 設定ファイルを編集します。ファイルに以下の内容を追加して変更を保存します:

    Docker 設定ファイルは通常 /etc/docker/daemon.json または /etc/docker/daemon.conf にあります。正確なファイル名は異なる場合があります。
    {
        "bip":"新しい Docker CIDR ブロック"
    }
  3. sudo systemctl start docker を実行して Docker サービスを開始し、変更を適用します。

RAM ユーザーが VPC ピアリング接続作成時に CDT 権限エラーを受け取る

RAM ユーザーに AliyunVPCFullAccess 権限が付与されているにもかかわらず、VPC ピアリング接続を作成する際に cdt:GetCdtServiceStatus 権限が不足しているというエラーが表示されます。これは、VPC ピアリング接続が Cloud Data Transfer (CDT) サービスに依存しており、CDT 関連の API を呼び出す必要があるためです。VPC の権限だけでは不十分です。

RAM ユーザーに以下のいずれかの権限を付与してください:

  • AliyunCDTFullAccess:CDT へのフルアクセス権限。

  • AliyunCDTReadOnlyAccess:CDT への読み取り専用アクセス権限。RAM ユーザーがピアリング接続を作成するだけで、CDT リソースを管理する必要がない場合に適しています。

VPC ピアリング接続はパブリックネットワークアクセスに影響しますか?

いいえ。VPC ピアリング接続はプライベートルートエントリを追加するだけで、デフォルトルートは変更しません。パブリックネットワークのトラフィックは、既存の NAT ゲートウェイ、Elastic IP アドレス、およびその他のパブリックルートを通じて引き続き転送されます。

詳細情報

制限事項

  • 以下のシナリオでは VPC ピアリング接続を作成できません:

    • 2 つの VPC が異なる Alibaba Cloud サイトのアカウントに属している場合。例えば、Alibaba Cloud 中国サイトのアカウントと Alibaba Cloud 国際サイトのアカウント。

  • VPC ピアリング接続は推移的ルーティングをサポートしていません。

    例えば、VPC 1 が VPC 2 および VPC 3 と別々の VPC ピアリング接続で接続されている場合、VPC 2 と VPC 3 は VPC 1 を介して互いに通信することはできません。

    VPC 2 と VPC 3 間の通信を有効にするには、それらの間に別のピアリング接続を作成し、双方向ルートを設定する必要があります。

  • VPC が複数のアカウントで共有されている場合、リソース所有者のみが VPC ピアリング接続を作成、変更、または削除できます。リソースユーザーはこれらの操作を実行できません。

課金

同一リージョン内の VPC ピアリング接続は、VPC が同一アカウントに属しているか異なるアカウントに属しているかに関わらず、無料です。

リージョン間の VPC ピアリング接続については、Cloud Data Transfer (CDT) がアウトバウンドトラフィックに基づいてデータ転送料金を請求します。

  • 単価はリージョンペアとリンクタイプによって決まります。プラチナとゴールドのリンクタイプが利用可能で、それぞれ異なるサービスレベルを提供します。

  • 課金サイクルは 1 時間ごとです。課金サイクル内にリンクタイプを切り替えた場合、そのサイクル全体に対してより高いサービスレベルの料金が適用されます。

図に示すように、VPC1 と VPC2 の間にリージョン間、クロスアカウントの VPC ピアリング接続が確立されています。VPC1 と VPC2 からのアウトバウンドトラフィックがそれぞれ 200 GB と 100 GB で、リンクタイプが ゴールド であり、中国 (フフホト) から 中国 (広州) へのデータ転送料金が 0.072 USD/GB の場合、料金はアウトバウンドトラフィックの課金ルールに基づいて計算されます:

アカウント A の料金:0.072 USD/GB × 200 GB = 14.4 USD

アカウント B の料金:0.072 USD/GB × 100 GB = 7.2 USD

VPC ピアリング接続のライフサイクル

リクエスト元が作成リクエストを送信した後、VPC ピアリング接続はいくつかの状態を遷移します。

同一アカウントの VPC ピアリング接続を作成する場合、システムは自動的にリクエストを開始して承諾し、接続は「アクティブ化済み」になります。

状態

状態

説明

作成中

リクエスト元が VPC ピアリング接続リクエストを開始しました。

承諾中

受信側が VPC ピアリング接続リクエストを承諾するのを待っています。

更新中

リクエストが承諾された後、接続が設定されています。

アクティブ化済み

VPC ピアリング接続が正常に確立されました。VPC 間の通信が有効になります。

拒否済み

受信側が VPC ピアリング接続リクエストを拒否しました。

期限切れ

受信側が 7 日以内に応答しない場合、リクエストは期限切れになります。

削除中

一方の当事者の要求により、接続が削除されています。

削除済み

VPC ピアリング接続は正常に削除されました。

サポート対象リージョン

エリア

リージョン

アジア太平洋 - 中国

中国 (杭州)中国 (上海)中国 (南京-ローカルリージョン、提供終了)中国 (青島)中国 (北京)中国 (張家口)中国 (フフホト)中国 (ウランチャブ)中国 (深セン)中国 (河源)中国 (広州)中国 (成都)中国 (中衛)中国 (香港)中国 (武漢 - ローカルリージョン)、および 中国 (福州-ローカルリージョン - 提供終了)

アジア太平洋 - その他

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

ヨーロッパ & アメリカ

ドイツ (フランクフルト)イギリス (ロンドン)米国 (シリコンバレー)米国 (バージニア)、および ブラジル (サンパウロ)

中東

UAE (ドバイ) および サウジアラビア (リヤド - パートナー運営)

クォータ

クォータ名

説明

デフォルトクォータ

操作

vpc_quota_cross_region_peer_num_per_vpc

VPC あたりのリージョン間 VPC ピアリング接続の数。

20

クォータの引き上げをリクエストするには、クォータ管理ページまたはクォータセンターに移動します。

vpc_quota_intra_region_peer_num_per_vpc

VPC あたりの同一リージョン内 VPC ピアリング接続の数。

10

vpc_quota_peer_num

Alibaba Cloud アカウントあたりのリージョンごとの VPC ピアリング接続の数。

20

vpc_quota_peer_cross_border_bandwidth

最大クロスボーダー帯域幅。

1,024 Mbps

vpc_quota_peer_cross_region_bandwidth

最大リージョン間帯域幅。

1,024 Mbps