NAT Gateway コンソールを使用して、同じ Virtual Private Cloud (VPC) 内のネットワークトラフィックを別のインターネット NAT Gateway に直接切り替えることはできません。ただし、同じ VPC 内に新しいインターネット NAT Gateway を作成し、宛先 CIDR ブロックが 0.0.0.0/0 のルートを変更することはできます。これにより、異なる vSwitch に属する、または異なるプライベート IP アドレスを使用する新しいインターネット NAT Gateway に切り替えることができます。
手順
このトピックでは、同じ VPC 内の異なる vSwitch にあるインターネット NAT Gateway に切り替える方法について説明します。
前提条件
開始する前に、次の要件が満たされていることを確認してください。
中国 (杭州) リージョンに VPC1 という名前の VPC が作成され、その VPC 内に VSW1 と VSW2 という名前の vSwitch が作成されていること。VSW1 はゾーン B に、VSW2 はゾーン H に作成されています。詳細については、「IPv4 CIDR ブロックを持つ VPC の作成」をご参照ください。
VSW1 に ECS1 という名前の Elastic Compute Service (ECS) インスタンスが作成されており、ECS1 には静的なパブリックアドレスが割り当てられていないこと。詳細については、「[カスタム起動] タブでインスタンスを作成する」をご参照ください。
VSW1 にインターネット NAT Gateway (インターネット NAT Gateway A) が作成されていること。VPC1 用に SNAT エントリが作成されています。ポートマッピングを使用する DNAT エントリが設定されています。DNAT エントリでは、プライベート IP アドレスは ECS1 のプライベート IP アドレスに設定され、パブリックポートとプライベートポートは 22 に設定され、プロトコルは TCP に設定されています。
ステップ 1: NAT Gateway A が期待どおりに機能するかどうかを確認する
VSW1 内の ECS1 にログオンします。詳細については、「接続方法」をご参照ください。
pingコマンドを実行して、ネットワーク接続をテストします。curl myip.ipip.netコマンドを実行して、ECS1 がインターネットへのアクセスに使用するパブリック IP アドレスをクエリします。クエリ結果は、ECS1 がインターネットへのアクセスに使用するパブリック IP アドレスが、NAT Gateway A の SNAT エントリで設定された Elastic IP アドレス (EIP) と同じであることを示しています。これは、ECS1 が NAT Gateway A の SNAT 機能を使用してインターネットにアクセスしていることを示します。

オンプレミスの Linux マシンにログオンします。
ssh root@public IP addressコマンドを実行します。このコマンドでは、パブリック IP アドレスは NAT Gateway A の DNAT エントリで設定された EIP です。次に、ECS1 のパスワードを入力し、ECS1 に接続できるかどうかを確認します。Welcome to Alibaba Cloud Elastic Compute Service! が返された場合、ECS1 が NAT Gateway A の DNAT 機能を使用してインターネット経由でサービスを提供していることを示します。

ステップ 2: NAT Gateway B を作成し、EIP を NAT Gateway B に関連付ける
この例では、NAT Gateway B は VSW2 にアタッチされます。
NAT Gateway コンソールにログオンします。
[Internet NAT Gateway] ページで、[NAT Gateway の作成] をクリックします。
[NAT Gateway] ページで、次の設定を行い、[今すぐ購入] をクリックします。
パラメーター
説明
リージョン
インターネット NAT Gateway を作成するリージョンを選択します。
ネットワークとゾーン
NAT Gateway が属する VPC と vSwitch を選択します。NAT Gateway の作成後、VPC または vSwitch を変更することはできません。
ネットワークタイプ
この例では、[インターネット NAT Gateway] が選択されています。
インターネット NAT Gateway: ネットワークアドレス変換機能を提供し、EIP と関連付けて ECS インスタンスがインターネットにアクセスできるようにし、プライベートネットワークとパブリックネットワーク間の通信を可能にします。
VPC NAT Gateway: これもネットワークアドレス変換機能を提供しますが、EIP と関連付けることはできません。ECS インスタンスのプライベートネットワーク内でのみアドレス変換を提供でき、内部アドレスの非表示やアドレス競合の回避などのシナリオに適しています。
Elastic IP アドレス
この例では、[EIP の購入と関連付け] が選択されています。
既存のものを選択
EIP インスタンス: [インスタンスに関連付けられていません] の EIP を選択します。
EIP の購入と関連付け: デフォルトでは、トラフィック課金の BGP (マルチ ISP) EIP が作成されます。ビジネス要件に基づいて 帯域幅ピーク を選択できます。
説明異なる回線タイプまたは課金方法の EIP を関連付けたい場合は、まず EIP を申請し、次に [既存の EIP を選択] して関連付けます。
NAT Gateway に関連付ける各 EIP は、NAT Gateway が属する vSwitch のプライベート IP アドレスを 1 つ占有します。vSwitch に十分な利用可能なプライベート IP アドレスがあることを確認してください。そうでない場合、新しい EIP を NAT Gateway に関連付けることはできません。
後で設定: 作成された NAT Gateway にはインターネットアクセス機能がありません。手動で EIP を NAT Gateway に関連付ける必要があります。
ステップ 3: NAT Gateway B に SNAT エントリと DNAT エントリを作成する
NAT Gateway B に SNAT エントリと DNAT エントリを作成します。NAT Gateway A の SNAT エントリと DNAT エントリを設定したのと同じ方法で SNAT エントリと DNAT エントリを設定します。ただし、NAT Gateway B に指定する EIP は、NAT Gateway A に指定する EIP とは異なる必要があります。
NAT Gateway コンソールにログオンします。
上部のナビゲーションバーで、インターネット NAT Gateway を作成するリージョンを選択します。
[Internet NAT Gateway] ページで、管理する NAT Gateway を見つけ、[アクション] 列の [SNAT の設定] をクリックします。
[SNAT 管理] タブで、[SNAT エントリの作成] をクリックします。
[SNAT エントリの作成] ページで、次のパラメーターを設定し、[確認] をクリックします。
パラメーター
説明
SNAT エントリ
この例では、[VPC] が選択されています。ビジネス要件に基づいて SNAT エントリタイプを選択できます。
VPC: VPC 内のすべての ECS インスタンス、および CEN または専用回線を通じて接続され、この VPC を指す 0.0.0.0/0 ルートを持つ他の VPC またはデータセンターの ECS インスタンスが、同じ EIP を通じてインターネットにアクセスする必要があるシナリオに適しています。
VSwitch: インターネットアクセスに対する詳細な制御が必要なシナリオに適しており、指定された vSwitch のみがインターネットアクセス機能を持つことができます。
ECS/ENI: インターネットアクセスに対する詳細な制御が必要なシナリオに適しており、指定された ECS インスタンスまたは Elastic Network Interface (ENI) のみがインターネットアクセス機能を持つことができます。
カスタム CIDR ブロック: NAT Gateway を通じてインターネットアクセス機能を設定するために、任意の IP CIDR ブロックを柔軟に指定する必要があるシナリオに適しています。これにより、VPC 内、VPC 間、またはオンプレミスのデータセンター間のさまざまなネットワーク環境をカバーし、複雑またはカスタマイズされたネットワーク構造の要件を満たすことができます。
説明複数の vSwitch または ECS インスタンス/ENI を選択した場合、同じパブリック IP アドレスを使用して複数の SNAT エントリが作成されます。
EIP の選択
インターネットへのアクセスに使用する EIP を選択します。
[Internet NAT Gateway] ページに戻り、NAT Gateway B を見つけ、[アクション] 列の [DNAT の設定] をクリックします。
[DNAT 管理] タブで、[DNAT エントリの作成] をクリックします。
[DNAT エントリの作成] ページで、次のパラメーターを設定し、[確認] をクリックします。
パラメーター
説明
EIP の選択
インターネット向けサービスを提供するために使用される EIP を選択します。この例では、NAT Gateway B に関連付けられている EIP が選択されています。
プライベート IP アドレスの選択
DNAT エントリを使用してインターネット向けサービスを提供する ECS インスタンスを選択します。
この例では、[ECS または ENI で選択] が選択され、ドロップダウンリストから ECS1 が選択されています。
ポート設定
DNAT マッピングメソッドを選択します。
この例では、[特定のポート] が選択されています。[パブリックポート] は 22 に、[プライベートポート] は 22 に、[プロトコルタイプ] は [TCP] に設定されています。
エントリ名
DNAT エントリの名前を入力します。
名前は 2~128 文字で、数字、アンダースコア (_)、ハイフン (-) を使用できます。名前は文字で始まる必要があります。
ステップ 4: システムルートテーブルのカスタムルートを変更する
VPC に最初のインターネット NAT Gateway を作成すると、VPC のルートテーブルにルートが自動的に追加されます。ルートの宛先 CIDR ブロックは 0.0.0.0/0 で、ネクストホップはインターネット NAT Gateway です。これにより、ネットワークトラフィックがインターネット NAT Gateway にルーティングされることが保証されます。NAT Gateway B を作成した後、システムは宛先 CIDR ブロックが 0.0.0.0/0 でネクストホップが NAT Gateway B であるルートをシステムルートテーブルに追加しません。そのため、ネットワークトラフィックを NAT Gateway B にルーティングできません。ネクストホップとして NAT Gateway B を指定して、宛先 CIDR ブロックが 0.0.0.0/0 のルートを変更する必要があります。これにより、ネットワークトラフィックは NAT Gateway A ではなく NAT Gateway B にルーティングされます。
VPC コンソールにログオンします。
左側のナビゲーションウィンドウで、[ルートテーブル] をクリックします。
上部のナビゲーションバーで、ルートテーブルが属するリージョンを選択します。
[ルートテーブル] ページで、VPC1 のルートテーブルを見つけ、その ID をクリックします。
を選択し、宛先 CIDR ブロックが 0.0.0.0/0 でネクストホップが NAT Gateway A のカスタムルートを見つけ、[アクション] 列の [削除] をクリックします。
[ルートエントリの削除] ダイアログボックスで、[OK] をクリックします。
[ルートエントリの追加] をクリックします。[ルートエントリの追加] パネルで、次のパラメーターを設定し、[OK] をクリックします。
パラメーター
説明
名前
ルートエントリの名前を入力します。
名前は 2~128 文字で、数字、ハイフン (-)、アンダースコア (_) を使用できます。名前は文字で始まる必要があります。
宛先 CIDR ブロック
宛先 CIDR ブロックを入力します。この例では、[IPv4 CIDR ブロック] が選択され、0.0.0.0/0 が入力されています。
ネクストホップタイプ
ネクストホップタイプを選択します。この例では、[NAT Gateway] が選択されています。
NAT Gateway
ネクストホップとして NAT Gateway を選択します。この例では、NAT Gateway B が選択されています。
説明ルートが作成された後、既存の接続はワークロードが再接続された後にのみ再開できます。オフピーク時にルートを作成することをお勧めします。
ステップ 5: ネットワーク接続をテストする
ECS インスタンスが NAT Gateway A の代わりに NAT Gateway B を使用してインターネットと通信するかどうかを確認します。この例では、異なる vSwitch に属し、異なるプライベート IP アドレスを持つインターネット NAT Gateway に切り替えます。同じ vSwitch 内で異なるプライベート IP アドレスを使用するインターネット NAT Gateway に切り替えたい場合も、このトピックの手順を参照できます。
VSW1 内の ECS1 にログオンします。
pingコマンドを実行して、ネットワーク接続をテストします。curl myip.ipip.netコマンドを実行して、ECS1 がインターネットへのアクセスに使用するパブリック IP アドレスをクエリします。クエリ結果は、ECS1 がインターネットへのアクセスに使用するパブリック IP アドレスが、NAT Gateway B の SNAT エントリで設定された EIP と同じであることを示しています。これは、ECS1 が NAT Gateway B の SNAT 機能を使用してインターネットにアクセスしていることを示します。

オンプレミスの Linux マシンにログオンします。
ssh root@public IP addressコマンドを実行します。このコマンドでは、パブリック IP アドレスは NAT Gateway B の DNAT エントリで設定された EIP です。次に、ECS1 のパスワードを入力し、ECS1 に接続できるかどうかを確認します。Welcome to Alibaba Cloud Elastic Compute Service! が返された場合、ECS1 が NAT Gateway B の DNAT 機能を使用してインターネット経由でサービスを提供できることを示します。
