トランジットルーターを使用することで、複数の Virtual Private Cloud (VPC) からのトラフィックを単一のインターネット NAT ゲートウェイ経由でインターネットにルーティングできます。この構成により、インターネット出口を一元化でき、各 VPC に個別の NAT ゲートウェイを作成する必要がなくなります。
背景情報
Cloud Enterprise Network (CEN) は、Alibaba Cloud のプライベートグローバルネットワーク上に構築された高可用性ネットワークです。CEN は、トランジットルーター (TR) を使用して、異なるリージョンの VPC 間、または VPC とオンプレミスデータセンター間のプライベート通信チャネルを確立します。
トランジットルーターインスタンスは、リージョン内のコア転送コンポーネントです。同一リージョンまたは異なるリージョンのネットワークインスタンス間でトラフィックを転送し、柔軟なルーティングポリシーをサポートします。CEN インスタンス内では、各リージョンに 1 つのトランジットルーターインスタンスを作成できます。ネットワークインスタンスを Enterprise Edition トランジットルーターに接続できます。接続が確立されると、Enterprise Edition トランジットルーターはネットワークインスタンスのルートを保存し、ルートテーブル内のエントリを検索してトラフィックを転送します。
詳細については、「トランジットルーターの仕組み」をご参照ください。
シナリオ例
ある企業は、中国 (成都) リージョンに 2 つの VPC (VPC-A と VPC-B) を保有しています。VPC-A には、vSwitch-A1 と vSwitch-A2 が作成されています。vSwitch-A1 にはインターネット NAT ゲートウェイが作成され、vSwitch-A2 には ECS1 という名前の ECS インスタンスが作成されています。VPC-B には、vSwitch-B1 と vSwitch-B2 が作成され、vSwitch-B1 には ECS2 という名前の ECS インスタンスが作成されています。業務上の理由により、VPC-A と VPC-B の両方でインターネットアクセスが必要です。
この企業は、トランジットルーターとそのルートテーブル機能を使用してこの要件を満たすことができます。VPC-A にインターネット NAT ゲートウェイを作成し、ゲートウェイに SNAT エントリを設定することで、VPC-A と VPC-B の両方が共有 NAT ゲートウェイを通じてインターネットにアクセスできます。
前提条件
次の表に示すように、VPC と vSwitch を作成済みであること。詳細については、「VPCの作成と管理」をご参照ください。
VPC
リージョン
vSwitch
ゾーンと CIDR ブロック
VPC-A
中国 (成都)
vSwitch-A1
成都ゾーン A、192.168.10.0/24
vSwitch-A2
成都ゾーン B、192.168.20.0/24
VPC-B
vSwitch-B1
成都ゾーン A、172.16.10.0/24
vSwitch-B2
成都ゾーン B、172.16.20.0/24
vSwitch-A2 に ECS1 という名前の Elastic Compute Service (ECS) インスタンス、vSwitch-B1 に ECS2 という名前の ECS インスタンスを作成済みであること。詳細については、「カスタム起動タブでインスタンスを作成」をご参照ください。
CEN インスタンスを作成済みであること。詳細については、「CENインスタンスの作成」をご参照ください。
VPC があるリージョンに Enterprise Edition トランジットルーターを作成済みであること。詳細については、「トランジットルーターの作成」をご参照ください。
操作手順
ステップ1:インターネット NAT ゲートウェイの作成
NAT Gateway コンソールにログインします。
[インターネット NAT ゲートウェイ] ページで、[インターネット NAT ゲートウェイを作成] をクリックします。
[NAT Gateway] ページで、次のパラメーターを設定し、[今すぐ購入] をクリックします。
パラメータ
説明
[リージョン]
インターネット NAT ゲートウェイを作成するリージョンを選択します。
[ネットワークとゾーン]
NAT ゲートウェイが属する VPC と vSwitch を選択します。NAT ゲートウェイの作成後は、VPC または vSwitch を変更できません。
[ネットワークタイプ]
この例では、[インターネット NAT ゲートウェイ] が選択されています。
[インターネット NAT ゲートウェイ]: ネットワークアドレス変換機能を提供し、EIP と関連付けて ECS インスタンスのインターネットアクセスを可能にすることで、プライベートネットワークとパブリックネットワーク間の通信を実現します。
[VPC NAT ゲートウェイ]: もネットワークアドレス変換機能を提供しますが、EIP と関連付けることはできません。プライベートネットワーク内の ECS インスタンスに対してのみアドレス変換を提供でき、内部アドレスの秘匿やアドレス競合の回避などのシナリオに適しています。
[EIP]
この例では、[EIP の購入] が選択されています。
[EIPの選択]
[EIP]: インスタンスに関連付けられていない EIP を選択します。
[EIP の購入]: デフォルトでは、トラフィック課金の [BGP (マルチ ISP)] EIP が作成されます。ビジネス要件に基づいて [最大帯域幅] を選択できます。
説明EIP を別の 回線タイプ または 課金方法 に関連付ける場合は、まず EIP を申請し、次に [EIP を選択] して関連付けます。
NAT ゲートウェイに関連付ける各 EIP は、NAT ゲートウェイが属する vSwitch のプライベート IP アドレスを 1 つ占有します。vSwitch に十分な利用可能なプライベート IP アドレスがあることを確認してください。そうでない場合、新しい EIP を NAT ゲートウェイに関連付けることができません。
[後で設定]:作成された NAT ゲートウェイにはインターネットアクセス機能がありません。手動で EIP を NAT ゲートウェイに関連付ける必要があります。
インターネット NAT ゲートウェイは、[インターネット NAT ゲートウェイ] ページで確認できます。

ステップ2:VPC 接続の作成とルートの設定
VPC-A と VPC-B を中国 (成都) リージョンのトランジットルーターに接続し、トランジットルーターのルートを設定します。
CEN コンソールにログインし、管理する CEN インスタンスを見つけて、その ID をクリックします。
[基本情報] ページで、 タブに移動し、宛先リージョンでトランジットルーターを見つけ、アクション 列で 接続の作成 をクリックします。
VPC-A と VPC-B の VPC 接続を作成します。
説明Enterprise Edition トランジットルーターをサポートするリージョンとゾーンについては、「トランジットルーターのエディション」をご参照ください。
次の例では、VPC-A 接続を使用します。[ネットワークインスタンス] で、[vpc-2*** | VPC-A] を選択します。[vSwitch] セクションで、ディザスタリカバリのために 2 つのゾーンからそれぞれ 1 つの vSwitch を選択します。
成都ゾーン B:[vsw-2*** | vSwitch-A2]
成都ゾーン A:[vsw-*** | vSwitch-A1]
[CONFIRM-LABEL-1] で、[CONFIRM-LABEL-3]、[CONFIRM-LABEL-4]、および [CONFIRM-LABEL-5] を選択します。
ルートテーブル タブで、[ルートエントリの追加] をクリックします。
0.0.0.0/0 のルートエントリを追加し、ネクストホップとして VPC-A 接続を指定し、IPv4 トラフィックを VPC-A に転送します。
ステップ3:VPC ルートテーブルの設定
ルートテーブルに 0.0.0.0/0 のルートエントリを追加し、ネクストホップをトランジットルーターに設定して IPv4 トラフィックを転送します。
- VPC コンソールにログインします。
- In the left-side navigation pane, click Route Tables.
[ルートテーブル] ページで、VPC-B のシステムルートテーブルを見つけ、その ID をクリックします。
ルートテーブルの詳細ページで、 タブをクリックし、次に [ルートエントリの追加] をクリックします。
[ルートエントリの追加] パネルで、以下のパラメーターを設定し、[OK] をクリックします。
パラメータ
説明
[名前]
ルートエントリの名前を入力します。
[宛先 CIDR ブロック]
[IPv4 CIDR ブロック]を選択し、[0.0.0.0/0] を入力します。
[ネクストホップタイプ]
ネクストホップのインスタンスタイプを選択します。
この例では、[トランジットルーター] を選択します。
[転送ルーター]
VPC-B 接続を選択します。
[カスタムルート] タブで、作成された VPC-B 接続へのルートエントリを表示できます。
ステップ4:SNAT エントリの作成
NAT ゲートウェイに SNAT エントリを設定し、指定されたリソースが関連付けられた EIP を通じてインターネットにアクセスできるようにします。
[インターネット NAT ゲートウェイ] ページで、管理する NAT ゲートウェイを見つけ、[SNAT の設定] を [アクション] 列でクリックします。
[SNAT] タブで、[SNAT エントリの作成] をクリックします。
[SNAT エントリの作成] ページで、次のパラメーターを設定し、[OK] をクリックします。
パラメータ
説明
[SNAT エントリの粒度]
この例では、VPC 粒度 が選択されています。 ビジネス要件に基づいて SNAT エントリの粒度を選択できます。
VPC 粒度:VPC 内のすべての ECS インスタンス、および CEN または Express Connect を通じて接続され、この VPC を指す 0.0.0.0/0 ルートを持つ他の VPC またはオンプレミスデータセンター内の ECS インスタンスが、同じ EIP を共有してインターネットにアクセスします。
vSwitch 粒度:より詳細な制御が可能です。指定された vSwitch 内の ECS インスタンスのみが NAT ゲートウェイを通じてインターネットにアクセスできます。
説明複数の vSwitch または ECS インスタンス/ENI を選択した場合、システムは同じ EIP を使用する複数の SNAT エントリを作成します。
ECS/ENI 粒度:より詳細な制御が可能です。指定された ECS インスタンスまたは Elastic Network Interface (ENI) のみが NAT ゲートウェイを通じてインターネットにアクセスできます。
カスタム CIDR ブロック粒度:NAT ゲートウェイを通じてインターネットにアクセスする任意の IP CIDR ブロックを柔軟に指定できます。このオプションは、VPC 間および IDC 間のネットワーク環境などのシナリオに対応します。
[EIPの選択]
インターネットアクセスを提供する 1 つ以上の EIP を選択します。この例では、ステップ 1 の作成時に購入し、インターネット NAT ゲートウェイに関連付けた EIP を選択します。
[エントリ名]
SNAT エントリの名前を入力します。
設定の検証
Workbench コンソールを使用して、ECS1 および ECS2 インスタンスにログインします。
ping 223.5.5.5コマンドを実行します。ping が成功すれば、ECS1 および ECS2 インスタンスがインターネットにアクセスできることを示しています。
ECS1 (IP アドレス:192.168.20.105) の検証結果:
[root@xxx ~]# ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.20.105 netmask 255.255.255.0 broadcast 192.168.20.255 inet6 fe80::216:3eff:fe05:a16b prefixlen 64 scopeid 0x20<link> ether 00:16:3e:05:a1:6b txqueuelen 1000 (Ethernet) RX packets 201827 bytes 292016507 (278.4 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 24840 bytes 6379164 (6.0 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 136 bytes 10888 (10.6 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 136 bytes 10888 (10.6 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 [root@xxx ~]# ping 223.5.5.5 PING 223.5.5.5 (223.5.5.5) 56(84) bytes of data. 64 bytes from 223.5.5.5: icmp_seq=1 ttl=125 time=4.05 ms 64 bytes from 223.5.5.5: icmp_seq=2 ttl=125 time=3.61 ms 64 bytes from 223.5.5.5: icmp_seq=3 ttl=125 time=3.68 ms 64 bytes from 223.5.5.5: icmp_seq=4 ttl=125 time=3.60 ms ^C --- 223.5.5.5 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3003ms rtt min/avg/max/mdev = 3.601/3.732/4.046/0.197 msECS2 (IP アドレス:172.16.10.30) の検証結果:
[root@xxx ~]# ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.16.10.30 netmask 255.255.255.0 broadcast 172.16.10.255 inet6 fe80::216:3eff:fe05:a187 prefixlen 64 scopeid 0x20<link> ether 00:16:3e:05:a1:87 txqueuelen 1000 (Ethernet) RX packets 203086 bytes 291677540 (278.1 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 27542 bytes 6764889 (6.4 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 136 bytes 10888 (10.6 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 136 bytes 10888 (10.6 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 [root@xxx ~]# ping 223.5.5.5 PING 223.5.5.5 (223.5.5.5) 56(84) bytes of data. 64 bytes from 223.5.5.5: icmp_seq=1 ttl=124 time=3.81 ms 64 bytes from 223.5.5.5: icmp_seq=2 ttl=124 time=3.55 ms 64 bytes from 223.5.5.5: icmp_seq=3 ttl=124 time=3.56 ms 64 bytes from 223.5.5.5: icmp_seq=4 ttl=124 time=3.52 ms ^C --- 223.5.5.5 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3004ms rtt min/avg/max/mdev = 3.520/3.609/3.809/0.123 ms