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

Cloud Enterprise Network:Enterprise Edition トランジットルーターを使用したリージョン間 VPC 間の IPv6 通信の有効化

最終更新日:Apr 02, 2026

Enterprise Edition トランジットルーターは、デフォルトで IPv6 トラフィックを転送し、IPv6 ルートを学習し、アドバタイズします。このトピックでは、Enterprise Edition トランジットルーターを使用して、異なるリージョンにある Virtual Private Cloud (VPC) 間の IPv6 通信を有効にする方法について説明します。

ワンクリックでサンプルの Terraform 構成を実行します (&example=201-use-case-enable-ipv6-network-communication-between-vpcs-in-different-regions)。

利用シーン

image

ある企業が、中国 (杭州) リージョンに IPv4 VPC (VPC1) を、中国 (上海) リージョンに IPv4 VPC (VPC2) を所有しているとします。両方の VPC では、アプリケーションがデプロイされた Elastic Compute Service (ECS) インスタンスが実行されています。ビジネスの成長をサポートするために、同社は 2 つの VPC 間に IPv6 通信を確立する必要があります。

設定方法

このトピックでは、コンソールと Terraform の 2 つの方法について説明します。ご自身のワークフローに合った方法を選択してください。

コンソール

前提条件

開始する前に、以下を確認してください:

  • 中国 (杭州) リージョンと中国 (上海) リージョンにそれぞれ IPv4 VPC があり、アプリケーションがデプロイされた ECS インスタンスが実行されていること。詳細については、「IPv4 CIDR ブロックを持つ VPC の作成」をご参照ください。

  • Cloud Enterprise Network (CEN) インスタンス。詳細については、「CEN インスタンスの作成」をご参照ください。

  • ECS1 と ECS2 のセキュリティグループルールで、ICMPv6 インバウンドトラフィックが許可されていること。プロトコルを ICMPv6 に、権限付与オブジェクトを ::/0 に設定したインバウンドルールを追加します。詳細については、「セキュリティグループルールの追加」をご参照ください。

手順の概要

  1. VPC の IPv6 の有効化

  2. ECS インスタンスへの IPv6 アドレスの割り当て

  3. トランジットルーターの作成

  4. VPC 接続の作成

  5. リージョン間接続の作成

  6. ルート同期の有効化

  7. ネットワーク接続のテスト

ステップ 1:VPC の IPv6 の有効化

VPC の IPv6 通信を確立するには、まず IPv6 機能を有効にする必要があります。VPC1 と VPC2 の両方でこれらの手順を実行します。

重要

VPC とその vSwitch で IPv6 がすでに有効になっており、IPv6 CIDR ブロックが割り当てられている場合は、このステップをスキップしてください。

  1. VPC コンソールにログインします。

  2. 上部のナビゲーションバーで、VPC が存在するリージョンを選択します。

  3. [VPC] ページで、VPC を見つけて、[IPv6 CIDR ブロック] 列の [IPv6の有効化] をクリックします。

  4. [IPv6 の有効化] ダイアログボックスで、[IPv6 CIDR ブロックタイプ][BGP (マルチ ISP) の割り当て] に設定し、[すべての VSwitch で IPv6 を自動的に有効にする] を選択して、[OK] をクリックします。

    • すべての VSwitch で IPv6 を自動的に有効化」を選択しない場合、各 vSwitch に IPv6 CIDR ブロックを個別に割り当てます。詳細については、「vSwitch で IPv6 を有効化する」をご参照ください。

    • 有効化後、システムは VPC とその vSwitch に IPv6 CIDR ブロックを割り当てます。これらは、[VPC] または [vSwitch] ページの [IPv6 CIDR ブロック] 列で確認できます。

    ipV6网段

ステップ 2:ECS インスタンスへの IPv6 アドレスの割り当て

IPv6 通信を確立する前に、各 ECS インスタンスに IPv6 アドレスが必要です。この例では、ECS1 と ECS2 は両方とも Alibaba Cloud Linux 3.2104 LTS (64 ビット) を実行しています。

  1. 各 ECS インスタンスに IPv6 アドレスを割り当てます。詳細については、「既存のインスタンスへの IPv6 アドレスの割り当て」をご参照ください。

    ECS インスタンスの作成時に IPv6 アドレスがすでに割り当てられている場合は、このステップをスキップしてください。
  2. ECS インスタンスで IPv6 アドレスを設定します。詳細については、「IPv6 通信」をご参照ください。

以下のスクリーンショットは、ECS1 と ECS2 に割り当てられた IPv6 アドレスを示しています。

ECS1 の IPv6 アドレス

ECS1-IPv6

ECS2 の IPv6 アドレス

ECS2-IPv

ステップ 3:トランジットルーターの作成

各リージョンに 1 つずつトランジットルーターを作成します。VPC1 用に中国 (杭州)、VPC2 用に中国 (上海) です。トランジットルーターは、VPC 間のリージョン間ルーティングを処理します。

  1. CEN コンソールにログインします。Cloud Enterprise Network コンソール

  2. [インスタンス] ページで、CEN インスタンスの ID をクリックします。

  3. [基本情報] > [トランジットルーター] に移動し、[トランジットルーターの作成] をクリックします。

  4. [トランジットルーターの作成] ダイアログボックスで、リージョン パラメーターを設定し、その他のすべてのパラメーターはデフォルト値のままにします。[OK] をクリックします。パラメーターの詳細については、「トランジットルーターの作成」をご参照ください。

トランジットルーターの作成には数分かかります。次のステップに進む前に、トランジットルーターのステータスが [アクティブ] に変わるまでお待ちください。

このステップを繰り返して、もう一方のリージョンにトランジットルーターを作成します。

ステップ 4:VPC 接続の作成

各 VPC をそのリージョンのトランジットルーターに接続します。

  1. CEN コンソールにログインします。

  2. [インスタンス] ページで、CEN インスタンスの ID をクリックします。

  3. 基本情報] > [トランジットルーター]タブで、トランジットルーターを見つけ、[接続の作成]を[操作]列でクリックします。

  4. ピアネットワークインスタンスとの接続」ページで、パラメーターを設定し、[OK] をクリックします。

VPC1 を中国 (杭州) のトランジットルーターに、VPC2 を中国 (上海) のトランジットルーターに接続します。以下の表は、主要なパラメーターを説明しています。他のすべてのパラメーターはデフォルト値のままにします。すべてのパラメーターの詳細については、「VPC 接続の作成」をご参照ください。

パラメーター説明VPC1VPC2
インスタンスタイプ接続するネットワークインスタンスのタイプ。VPCVPC
リージョンVPC が配置されているリージョン。中国 (杭州)中国 (上海)
IPv6VPC 接続で IPv6 を有効にするかどうかを指定します。デフォルトでは無効になっています。トランジットルーター経由で IPv6 トラフィックを伝送するには、この機能を有効にします。 >
説明

既存の VPC 接続で IPv6 を有効にすることもできます。詳細については、「既存の VPC 接続で IPv6 を有効にする」をご参照ください。

有効有効
リソース所有者 IDVPC を所有する Alibaba Cloud アカウント。現在のアカウント現在のアカウント
ネットワークインスタンス接続する VPC。VPC1VPC2
vSwitchトランジットルーターが配置されているゾーン内の vSwitch。次のように vSwitch を選択します: シングルゾーンのトランジットルーター:vSwitch を 1 つ選択します。マルチゾーンのトランジットルーター:ゾーンディザスタリカバリを有効にするには、異なるゾーンにある vSwitch を少なくとも 2 つ選択します。レイテンシーを最小限に抑えるには、ゾーンごとに 1 つの vSwitch を選択します。必要なゾーンに vSwitch が存在しない場合は、先に作成してください。詳細については、「vSwitch の作成」をご参照ください。
詳細設定詳細機能はデフォルトで有効になっています。デフォルト値を維持デフォルト値を維持

このステップを繰り返して、もう一方のリージョンに VPC 接続を作成します。

ステップ 5:リージョン間接続の作成

VPC をトランジットルーターに接続した後、リージョン間接続を作成して、それらの間のクロスリージョントラフィックを許可します。

  1. CEN コンソールにログインします。

  2. [インスタンス] ページで、CEN インスタンスの ID をクリックします。

  3. 基本情報 > トランジットルーター」タブで、トランジットルーターを見つけ、「接続の作成」を「操作」列からクリックします。

  4. [ピアネットワークインスタンスとの接続] ページで、パラメーターを設定し、[OK] をクリックします。

以下の表は、主要なパラメーターを説明しています。他のすべてのパラメーターはデフォルト値のままにします。詳細については、「リージョン間接続の作成」をご参照ください。

パラメーター説明
インスタンスタイプリージョン間接続 を選択します。
リージョン接続するリージョンの1つです。この例では、[中国 (杭州)] です。
ピアリージョン接続先のもう一方のリージョン。この例では、[中国 (上海)] です。
帯域幅割り当てモード[データ転送量課金]リージョン間接続に帯域幅を割り当てる方法。この例では、 — 実際のデータ転送量に基づいて課金されます。
帯域幅リージョン間接続の最大帯域幅 (Mbit/s)。データ転送量による支払いを使用する場合、これは帯域幅上限を設定します。
[デフォルト 回線タイプ]接続の回線タイプ。デフォルト値を使用します。回線タイプの詳細については、「回線タイプ」をご参照ください。
詳細設定詳細機能はデフォルトで有効になっています。デフォルト値を維持します。

ステップ 6:ルート同期の有効化

デフォルトでは、Enterprise Edition トランジットルーターは接続された VPC に IPv6 ルートをアドバタイズしません。ルート同期を有効にして、トランジットルーターが VPC1 と VPC2 に IPv6 ルートをプッシュできるようにします。

  1. CEN コンソールにログインします。

  2. [インスタンス] ページで、CEN インスタンスの ID をクリックします。

  3. [基本情報] > [トランジットルーター] タブで、中国(杭州)のトランジットルーターの ID をクリックします。

  4. [リージョン内接続]」タブで、VPC1 接続を見つけ、[ルート同期]列でルート同期を有効にします。

  5. 中国 (上海) のトランジットルーター上の VPC2 接続に対して、このステップを繰り返します。

ルート同期が有効化されると、トランジットルーターは接続済みの VPC に自動的にルートをプッシュします。[詳細][ルート同期] 列でクリックし、[ネットワークルート] タブで同期されたルートを確認します。

VPC1 のルート

德国VPC1路由

VPC2 のルート

菲律宾

ステップ 7:ネットワーク接続のテスト

VPC1 と VPC2 が IPv6 経由で通信できることを確認します。

  1. VPC1 の ECS1 にログインします。接続方法については、「ECS インスタンスへの接続」をご参照ください。

  2. 次のコマンドを実行して、VPC2 の ECS2 にその IPv6 アドレスを使用して ping を実行します:

    ping6 <IPv6 address of ECS2>

以下に示すように ECS1 が ICMP エコー応答パケットを受信した場合、2 つの VPC 間の IPv6 通信は正常に機能しています。

IPv

Terraform

TerraformTerraform のインストール を使用して、同じ環境を自動的にプロビジョニングします。インストールと設定の手順については、「Terraform のインストール」をご参照ください。

以下の手順では、Linux ホストで Terraform v1.9.8 を実行します。開始する前に認証を完了してください。

この例で作成されたリソースには料金が発生する場合があります。不要になったら解放してください。

ステップ 1:リソースの作成

  1. 作業ディレクトリを作成し、そのディレクトリに移動します。

    mkdir tf-CenIpv6 && cd tf-CenIpv6
  2. main.tf 構成ファイルを作成します。

    touch main.tf
  3. main.tf を開き、次の構成を貼り付け、ファイルを保存します。このファイルでは、2 つの VPC、4 つの vSwitch、IPv6 が有効化された 2 つの ECS インスタンス、セキュリティグループ、CEN インスタンス、2 つのトランジットルーター、VPC 添付ファイル、およびリージョン間ピアアタッチメントなど、必要なすべてのリソースが定義されています。

    variable "pname" {
      description = "The prefix name for resources"
      type        = string
      default     = "tf-CenIpv6"
    }
    
    variable "default_region_id" {
      description = "The default region id"
      type        = string
      default     = "cn-hangzhou"
    }
    
    variable "hangzhou_region_id" {
      description = "The hangzhou region id"
      type        = string
      default     = "cn-hangzhou"
    }
    
    variable "shanghai_region_id" {
      description = "The shanghai region id"
      type        = string
      default     = "cn-shanghai"
    }
    
    variable "hangzhou_az_list" {
      description = "List of availability zones to use"
      type        = list(string)
      default     = ["cn-hangzhou-j", "cn-hangzhou-k"]
    }
    
    variable "shanghai_az_list" {
      description = "List of availability zones to use"
      type        = list(string)
      default     = ["cn-shanghai-m", "cn-shanghai-n"]
    }
    
    # --- provider ---
    provider "alicloud" { # default hangzhou
      region = var.default_region_id
    }
    
    provider "alicloud" {
      alias  = "hangzhou"
      region = var.hangzhou_region_id
    }
    
    provider "alicloud" {
      alias  = "shanghai"
      region = var.shanghai_region_id
    }
    
    # --- 2 vpc and 4 vsw ---
    resource "alicloud_vpc" "vpc1" {
      provider    = alicloud.hangzhou
      vpc_name    = "${var.pname}-vpc1"
      cidr_block  = "10.0.0.0/16"
      enable_ipv6 = true
    }
    resource "alicloud_vpc" "vpc2" {
      provider    = alicloud.shanghai
      vpc_name    = "${var.pname}-vpc2"
      cidr_block  = "172.16.0.0/16"
      enable_ipv6 = true
    }
    resource "alicloud_vswitch" "vsw1-1" {
      provider             = alicloud.hangzhou
      vpc_id               = alicloud_vpc.vpc1.id
      cidr_block           = "10.0.0.0/24"
      zone_id              = var.hangzhou_az_list[0]
      vswitch_name         = "${var.pname}-vsw1-1"
      enable_ipv6          = true
      ipv6_cidr_block_mask = 1 # existed
    }
    resource "alicloud_vswitch" "vsw1-2" {
      provider             = alicloud.hangzhou
      vpc_id               = alicloud_vpc.vpc1.id
      cidr_block           = "10.0.1.0/24"
      zone_id              = var.hangzhou_az_list[1]
      vswitch_name         = "${var.pname}-vsw1-2"
      enable_ipv6          = true
      ipv6_cidr_block_mask = 2
    }
    resource "alicloud_vswitch" "vsw2-1" {
      provider             = alicloud.shanghai
      vpc_id               = alicloud_vpc.vpc2.id
      cidr_block           = "172.16.0.0/24"
      zone_id              = var.shanghai_az_list[0]
      vswitch_name         = "${var.pname}-vsw2-1"
      enable_ipv6          = true
      ipv6_cidr_block_mask = 3
    }
    resource "alicloud_vswitch" "vsw2-2" {
      provider             = alicloud.shanghai
      vpc_id               = alicloud_vpc.vpc2.id
      cidr_block           = "172.16.1.0/24"
      zone_id              = var.shanghai_az_list[1]
      vswitch_name         = "${var.pname}-vsw2-2"
      enable_ipv6          = true
      ipv6_cidr_block_mask = 4
    }
    
    # --- ecs1 ---
    resource "alicloud_instance" "ecs1" {
      provider             = alicloud.hangzhou
      instance_name        = "${var.pname}-ecs1"
      instance_type        = "ecs.e-c1m1.large"
      security_groups      = [alicloud_security_group.sg1.id]
      vswitch_id           = alicloud_vswitch.vsw1-1.id
      image_id             = "aliyun_3_x64_20G_qboot_alibase_20230727.vhd"
      system_disk_category = "cloud_essd"
      private_ip           = "10.0.0.1"
      ipv6_address_count   = 1
      instance_charge_type = "PostPaid"
      user_data = base64encode(<<-EOT
        #!/bin/bash
        echo ecs_ok > /root/ok.txt
        sudo acs-plugin-manager --exec --plugin=ecs-utils-ipv6
      EOT
      )
    }
    
    # --- ecs2 ---
    resource "alicloud_instance" "ecs2" {
      provider             = alicloud.shanghai
      instance_name        = "${var.pname}-ecs2"
      instance_type        = "ecs.e-c1m1.large"
      security_groups      = [alicloud_security_group.sg2.id]
      vswitch_id           = alicloud_vswitch.vsw2-1.id
      image_id             = "aliyun_3_x64_20G_qboot_alibase_20230727.vhd"
      system_disk_category = "cloud_essd"
      private_ip           = "172.16.0.1"
      ipv6_address_count   = 1
      instance_charge_type = "PostPaid"
      user_data = base64encode(<<-EOT
        #!/bin/bash
        echo ecs_ok > /root/ok.txt
        sudo acs-plugin-manager --exec --plugin=ecs-utils-ipv6
      EOT
      )
    }
    
    # sg
    resource "alicloud_security_group" "sg1" {
      provider = alicloud.hangzhou
      name     = "${var.pname}-sg1"
      vpc_id   = alicloud_vpc.vpc1.id
    }
    resource "alicloud_security_group_rule" "allow_inbound_ssh1" {
      provider          = alicloud.hangzhou
      type              = "ingress"
      ip_protocol       = "tcp"
      nic_type          = "intranet"
      policy            = "accept"
      port_range        = "22/22"
      priority          = 1
      security_group_id = alicloud_security_group.sg1.id
      cidr_ip           = "0.0.0.0/0"
    }
    resource "alicloud_security_group_rule" "allow_inbound_icmp1" {
      provider          = alicloud.hangzhou
      type              = "ingress"
      ip_protocol       = "icmp"
      nic_type          = "intranet"
      policy            = "accept"
      port_range        = "-1/-1"
      priority          = 1
      security_group_id = alicloud_security_group.sg1.id
      cidr_ip           = "0.0.0.0/0"
    }
    resource "alicloud_security_group_rule" "allow_inbound_ipv6_icmp1" {
      provider          = alicloud.hangzhou
      type              = "ingress"
      ip_protocol       = "all"
      nic_type          = "intranet"
      policy            = "accept"
      port_range        = "-1/-1"
      priority          = 1
      security_group_id = alicloud_security_group.sg1.id
      ipv6_cidr_ip      = "::/0"
    }
    
    resource "alicloud_security_group" "sg2" {
      provider = alicloud.shanghai
      name     = "${var.pname}-sg2"
      vpc_id   = alicloud_vpc.vpc2.id
    }
    resource "alicloud_security_group_rule" "allow_inbound_ssh2" {
      provider          = alicloud.shanghai
      type              = "ingress"
      ip_protocol       = "tcp"
      nic_type          = "intranet"
      policy            = "accept"
      port_range        = "22/22"
      priority          = 1
      security_group_id = alicloud_security_group.sg2.id
      cidr_ip           = "0.0.0.0/0"
    }
    resource "alicloud_security_group_rule" "allow_inbound_icmp2" {
      provider          = alicloud.shanghai
      type              = "ingress"
      ip_protocol       = "icmp"
      nic_type          = "intranet"
      policy            = "accept"
      port_range        = "-1/-1"
      priority          = 1
      security_group_id = alicloud_security_group.sg2.id
      cidr_ip           = "0.0.0.0/0"
    }
    resource "alicloud_security_group_rule" "allow_inbound_ipv6_icmp2" {
      provider = alicloud.shanghai
    
      type              = "ingress"
      ip_protocol       = "all"
      nic_type          = "intranet"
      policy            = "accept"
      port_range        = "-1/-1"
      priority          = 1
      security_group_id = alicloud_security_group.sg2.id
      ipv6_cidr_ip      = "::/0"
    }
    
    
    # --- cen and tr ---
    resource "alicloud_cen_instance" "cen1" {
      cen_instance_name = "${var.pname}-cen1"
    }
    resource "alicloud_cen_transit_router" "tr1" {
      provider            = alicloud.hangzhou
      transit_router_name = "${var.pname}-tr1"
      cen_id              = alicloud_cen_instance.cen1.id
    }
    resource "alicloud_cen_transit_router" "tr2" {
      provider            = alicloud.shanghai
      transit_router_name = "${var.pname}-tr2"
      cen_id              = alicloud_cen_instance.cen1.id
    }
    # get tr sys table id
    data "alicloud_cen_transit_router_route_tables" "tr1" { # get tr sys table
      transit_router_id               = alicloud_cen_transit_router.tr1.transit_router_id
      transit_router_route_table_type = "System"
    }
    data "alicloud_cen_transit_router_route_tables" "tr2" {
      transit_router_id               = alicloud_cen_transit_router.tr2.transit_router_id
      transit_router_route_table_type = "System"
    }
    
    # tr-peer
    resource "alicloud_cen_transit_router_peer_attachment" "peer" {
      provider                      = alicloud.hangzhou
      cen_id                        = alicloud_cen_instance.cen1.id
      transit_router_id             = alicloud_cen_transit_router.tr1.transit_router_id
      peer_transit_router_region_id = var.shanghai_region_id
      peer_transit_router_id        = alicloud_cen_transit_router.tr2.transit_router_id
      bandwidth_type                = "DataTransfer"
      bandwidth                     = 1
      auto_publish_route_enabled    = true # default is false
    }
    resource "alicloud_cen_transit_router_route_table_association" "ass_peer1" {
      transit_router_route_table_id = data.alicloud_cen_transit_router_route_tables.tr1.tables[0].id
      transit_router_attachment_id  = alicloud_cen_transit_router_peer_attachment.peer.transit_router_attachment_id
    }
    resource "alicloud_cen_transit_router_route_table_propagation" "propa_peer1" {
      transit_router_route_table_id = data.alicloud_cen_transit_router_route_tables.tr1.tables[0].id
      transit_router_attachment_id  = alicloud_cen_transit_router_peer_attachment.peer.transit_router_attachment_id
    }
    resource "alicloud_cen_transit_router_route_table_association" "ass_peer2" {
      transit_router_route_table_id = data.alicloud_cen_transit_router_route_tables.tr2.tables[0].id
      transit_router_attachment_id  = alicloud_cen_transit_router_peer_attachment.peer.transit_router_attachment_id
    }
    resource "alicloud_cen_transit_router_route_table_propagation" "propa_peer2" {
      transit_router_route_table_id = data.alicloud_cen_transit_router_route_tables.tr2.tables[0].id
      transit_router_attachment_id  = alicloud_cen_transit_router_peer_attachment.peer.transit_router_attachment_id
    }
    
    # cidr_list
    variable "cidr_list" {
      description = "The list of Private CIDR block"
      type        = list(string)
      default     = ["10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"]
    }
    
    # attach1
    resource "alicloud_cen_transit_router_vpc_attachment" "attach1" {
      provider          = alicloud.hangzhou
      cen_id            = alicloud_cen_instance.cen1.id
      transit_router_id = alicloud_cen_transit_router.tr1.transit_router_id
      vpc_id            = alicloud_vpc.vpc1.id
      zone_mappings {
        zone_id    = var.hangzhou_az_list[0]
        vswitch_id = alicloud_vswitch.vsw1-1.id
      }
      zone_mappings {
        zone_id    = var.hangzhou_az_list[1]
        vswitch_id = alicloud_vswitch.vsw1-2.id
      }
      transit_router_vpc_attachment_name    = "attach1"
      transit_router_vpc_attachment_options = { ipv6Support : "enable" }
      auto_publish_route_enabled            = true # default is false
    }
    resource "alicloud_cen_transit_router_route_table_association" "ass1" {
      transit_router_route_table_id = data.alicloud_cen_transit_router_route_tables.tr1.tables[0].id
      transit_router_attachment_id  = alicloud_cen_transit_router_vpc_attachment.attach1.transit_router_attachment_id
    }
    resource "alicloud_cen_transit_router_route_table_propagation" "propa1" {
      transit_router_route_table_id = data.alicloud_cen_transit_router_route_tables.tr1.tables[0].id
      transit_router_attachment_id  = alicloud_cen_transit_router_vpc_attachment.attach1.transit_router_attachment_id
    }
    resource "alicloud_route_entry" "vpc1_to_tr1" {
      provider              = alicloud.hangzhou
      count                 = 3
      route_table_id        = alicloud_vpc.vpc1.route_table_id
      destination_cidrblock = var.cidr_list[count.index]
      nexthop_type          = "Attachment"
      nexthop_id            = alicloud_cen_transit_router_vpc_attachment.attach1.transit_router_attachment_id
    }
    
    # attach2
    resource "alicloud_cen_transit_router_vpc_attachment" "attach2" {
      provider          = alicloud.shanghai
      cen_id            = alicloud_cen_instance.cen1.id
      transit_router_id = alicloud_cen_transit_router.tr2.transit_router_id
      vpc_id            = alicloud_vpc.vpc2.id
      zone_mappings {
        zone_id    = var.shanghai_az_list[0]
        vswitch_id = alicloud_vswitch.vsw2-1.id
      }
      zone_mappings {
        zone_id    = var.shanghai_az_list[1]
        vswitch_id = alicloud_vswitch.vsw2-2.id
      }
      transit_router_vpc_attachment_name    = "attach2"
      transit_router_vpc_attachment_options = { ipv6Support : "enable" }
      auto_publish_route_enabled            = true # default is false
    }
    resource "alicloud_cen_transit_router_route_table_association" "ass2" {
      transit_router_route_table_id = data.alicloud_cen_transit_router_route_tables.tr2.tables[0].id
      transit_router_attachment_id  = alicloud_cen_transit_router_vpc_attachment.attach2.transit_router_attachment_id
    }
    resource "alicloud_cen_transit_router_route_table_propagation" "propa2" {
      transit_router_route_table_id = data.alicloud_cen_transit_router_route_tables.tr2.tables[0].id
      transit_router_attachment_id  = alicloud_cen_transit_router_vpc_attachment.attach2.transit_router_attachment_id
    }
    resource "alicloud_route_entry" "vpc2_to_tr2" {
      provider              = alicloud.shanghai
      count                 = 3
      route_table_id        = alicloud_vpc.vpc2.route_table_id
      destination_cidrblock = var.cidr_list[count.index]
      nexthop_type          = "Attachment"
      nexthop_id            = alicloud_cen_transit_router_vpc_attachment.attach2.transit_router_attachment_id
    }
    
    output "ecs1_login_address" {
      value = "https://ecs-workbench.aliyun.com/?from=EcsConsole&instanceType=ecs&regionId=${var.hangzhou_region_id}&instanceId=${alicloud_instance.ecs1.id}"
    }
    
    output "ecs2_login_address" {
      value = "https://ecs-workbench.aliyun.com/?from=EcsConsole&instanceType=ecs&regionId=${var.shanghai_region_id}&instanceId=${alicloud_instance.ecs2.id}"
    }
  4. 作業ディレクトリを初期化します。

    terraform init
  5. 構成を適用します。Terraform が作成されるリソースのプレビューを表示します。確認するには yes を入力します。

    terraform apply

    terraform apply の実行が完了すると、[出力] セクションに ECS1 および ECS2 のログインアドレスが表示されます。

ステップ 2:ネットワーク接続のテスト

  1. ECS2 (インスタンス名: tf-CenIpv6-ecs2) にログオンします。Terraform の出力から ecs2_login_address をコピーしてブラウザで開きます。プロンプトが表示されたら、[一時的な SSH キーベース] 認証を選択します。

    image

  2. 次のコマンドを実行して、ECS2 の IPv6 アドレスを取得します:

    ifconfig

    ECS2-IPv

  3. ECS1(インスタンス名: tf-CenIpv6-ecs1)にログインします。Terraform の出力から ecs1_login_address をコピーし、ブラウザで開きます。プロンプトが表示されたら、[一時的な SSH キーによる認証] を選択します。

    image

  4. ステップ 2 で取得した IPv6 アドレスを使用して、次のコマンドを実行して ECS2 に ping を実行します:

    ping6 <IPv6 address of ECS2>

    上記のように ECS1 が ICMP エコー応答パケットを受信した場合、VPC1 と VPC2 間の IPv6 通信は正常に機能しています。

    IPv

ステップ 3:リソースの解放

リソースが不要になったら、次のコマンドを実行してリソースを削除し、課金を停止します。

terraform destroy --auto-approve

次のステップ

  • Enterprise Edition トランジットルーターの機能の詳細については、「トランジットルーター」をご参照ください。

  • リージョン間トラフィックをモニターするには、Cloud Monitor をご参照ください。