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

NAT Gateway:VPC NAT ゲートウェイを使用した IP アドレスの競合の解決

最終更新日:Sep 02, 2026

重複する CIDR ブロックを持つ Virtual Private Cloud (VPC) を接続するには、セカンダリ CIDR ブロックを追加して VPC NAT ゲートウェイを作成します。このゲートウェイはアドレス変換を使用して IP アドレスの競合を解決します。

仕組み

IP アドレスの競合が発生する理由

IP アドレスの競合は、重複する CIDR ブロックを持つ VPC 内の ECS インスタンスが相互に通信しようとするときに発生します:

  • 宛先 CIDR ブロックをピア VPC の CIDR ブロックに設定すると、トラフィックはまずシステムルートと照合されます。その後、トラフィックはローカル VPC 内で転送され、ピア VPC には到達できません。

  • 宛先 CIDR ブロックをピア vSwitch の CIDR ブロックに設定すると、既存のシステムルートと同じか、より具体的なカスタムルートを作成することはできません。

image

NAT ソリューション

  1. セカンダリ IPv4 CIDR ブロックの追加:重複しないセカンダリ CIDR ブロックを 2 つの VPC のそれぞれに追加し、競合しないプライベート IP アドレスを提供します。

  2. アドレス変換:VPC NAT ゲートウェイを使用して ECS インスタンスのプライベート IP アドレスを変換し、IP アドレスの競合を解決します。

  3. VPC 間通信の有効化:VPC をトランジットルーターにアタッチし、カスタムルートエントリを設定して、トラフィックが正しく転送されるようにします。

トラフィックパスの例

ある企業が、中国 (杭州) リージョンにある 2 つの既存 VPC の接続を計画していますが、それらの CIDR ブロックが重複しています。これを解決するため、同社は VPC NAT ゲートウェイをアドレス変換に使用し、ゲートウェイにトラフィックを転送するルートを設定します。その後、Cloud Enterprise Network (CEN) またはピアリング接続をデプロイして、プライベートネットワークピアリングを有効にできます。

この例では、ECS_A (プライベート IP アドレス:192.168.0.86) が、VPC_B 内の ECS_B に対応する宛先 NAT IP アドレス 172.16.0.53 にアクセスする方法を示します。

  1. ECS_A の vSwitch にアタッチされているカスタムルートテーブルのルートに基づき、パケットは VPC NAT ゲートウェイに転送されます。

  2. VPC_NAT_A に設定された SNAT ルールに基づき、パケットの送信元 IP アドレスは NAT IP アドレス (10.0.0.89) に変換されます。

  3. VPC_A のシステムルートテーブルのルートに基づき、パケットはトランジットルーター (TR) に転送されます。TR はパケットを VPC_B に転送し、そこで VPC NAT ゲートウェイに到達します。

  4. VPC_NAT_B に設定された DNAT ルールに基づき、パケットの宛先アドレスは ECS_B の IP アドレスに変換されます。その後、パケットは ECS_B に転送され、ECS インスタンス間の通信が可能になります。

ECS_B が応答パケットを送信すると、セッションマッピングテーブルに基づいてアドレス変換が逆に行われ、パケットはルーティングされて ECS_A に配信されます。

image

操作手順

このトピックでは、トラフィックパスの例のシナリオを使用します。

ステップ 1:セカンダリ CIDR ブロックの設定

  1. セカンダリ CIDR ブロックの追加:

    1. VPC コンソールに移動します。上部メニューで、VPC のリージョンを選択します。

    2. 対象の VPC の ID をクリックし、CIDR タブをクリックし、次に IPv4 CIDR の追加 をクリックして VPC_A と VPC_B にセカンダリ CIDR ブロックを追加します。

  2. vSwitch の作成:vSwitch 作成ページに移動します。

    • [VPC]: VPC を選択します。VPC_A 用に vSwitch を 1 つ、VPC_B 用にもう 1 つ作成する必要があります。

    • [IPv4 CIDR ブロック]:追加したセカンダリ IPv4 CIDR ブロックを選択します。

ステップ 2:VPC NAT ゲートウェイの設定

VPC NAT ゲートウェイを作成し、SNAT および DNAT エントリを設定します。これにより、各 VPC の ECS インスタンスのプライベート IP アドレスが NAT IP アドレスに変換され、アドレス競合が解決されます。

  1. VPC NAT ゲートウェイの作成:VPC NAT ゲートウェイ購入ページに移動します。

    • [リージョン]: VPC がデプロイされているリージョンを選択します。

    • [ネットワーク & ゾーン]: VPC_A 用と VPC_B 用に、それぞれ VPC NAT ゲートウェイを 1 つずつ作成します。 各ゲートウェイでは、セカンダリ CIDR ブロックから作成した vSwitch を選択します。

  2. SNAT エントリの設定:VPC NAT ゲートウェイは、設定された SNAT ルールに基づいて、パケットの送信元 IP アドレスを NAT IP アドレスに変換します。

    1. VPC NAT ゲートウェイ一覧ページに移動します。上部メニューで、VPC NAT ゲートウェイのリージョンを選択します。

    2. 対象の VPC NAT ゲートウェイインスタンスの 操作 列で、SNAT タブをクリックし、SNAT エントリの作成 をクリックします。

      • [SNAT エントリ]には、このトピックでは VPC の指定 を使用します。必要に応じて変更できます。

      • [NAT IP アドレスの選択]:VPC NAT ゲートウェイのプライベート IP アドレスを選択します。

  3. DNAT エントリの設定:VPC NAT ゲートウェイは、DNAT ルールを使用して、パケットの宛先である NAT IP アドレスを、バックエンドサーバーのプライベート IP アドレスに変換します。

    1. VPC NAT ゲートウェイ一覧ページに移動します。上部メニューで、VPC NAT ゲートウェイのリージョンを選択します。

    2. 対象の VPC NAT ゲートウェイインスタンスの操作列で DNAT タブをクリックし、DNAT エントリの作成をクリックします。

      • [NAT IP アドレスの選択]: VPC NAT ゲートウェイのプライベート IP アドレスを選択します。

      • [プライベート IP アドレスの選択]: 通信を許可したい VPC 内の ECS インスタンスを選択します。

      • [ポート設定]:このトピックでは、Secure Shell (SSH) サービスを使用してサービスの相互接続を検証します。SSH サービスは、コネクション型 TCP プロトコルとポート 22 を使用します。したがって、特定のポート のフロントエンドポートとバックエンドポートの両方を 22 に設定し、プロトコルタイプを TCP に設定します。

        必要に応じて DNAT エントリを作成します。

ステップ 3:VPC の接続

  1. VPC 接続の作成:

    トランジットルーターをサポートするリージョンとゾーン。
    この例では、同じリージョン内にあり、同一アカウントに属する VPC を接続する方法を示します。他のシナリオについては、「リージョン間 VPC 接続」または「クロスアカウント VPC 接続」をご参照ください。
    1. Cloud Enterprise Network コンソールに移動し、CEN インスタンスの作成 をクリックします。 選択し、OK をクリックします。

    2. インスタンスの作成後、接続の作成 > リージョン内接続の作成 をクリックします。

      この例では、競合する CIDR ブロックを持つ VPC は同じリージョン内にあります。したがって、同一リージョン内接続を作成する必要があります。異なるリージョンの VPC を接続するには、リージョン間接続を作成します。
      既存の CEN ID をクリックし、[基本情報] タブで、[VPC] の下にある image をクリックして、同一リージョン内接続を作成することもできます。
      • [ネットワークタイプ]:仮想プライベートクラウド (VPC) を選択します。

      • [リージョン]: VPC がデプロイされているリージョンを選択します。

      • [リソース所有者 ID]: VPC の所有者を選択します。 このトピックでは現在のアカウントを使用します。

      • [ネットワーク]:VPC_A を選択します。

      • [[VSwitch]]: マルチゾーンディザスタリカバリを実装するには、少なくとも 2 つのゾーンを選択します。 VPC NAT ゲートウェイが配置されている vSwitch を含める必要があります。

      • [詳細設定]:すべてのオプションを選択します。

    3. 接続が作成されたら、接続をさらに作成 をクリックして VPC_B の VPC 接続を作成します。

  2. ルートの設定:

    NAT ゲートウェイは IP アドレスを変換するだけで、トラフィックパスを決定しません。VPC のルートテーブルは、トラフィックを NAT ゲートウェイに送信するかどうか、およびアドレス変換後のトラフィックの転送先を制御します。

    1. カスタムルートテーブルを作成し、vSwitch をアタッチします:

      1. ルートテーブルページに移動します。上部メニューで、VPC のリージョンを選択します。

      2. 作成 をクリックします。

        • [VPC]:VPC_A 用と VPC_B 用にルートテーブルを 1 つずつ作成します。

        • [リソータイプ]: vSwitch を選択します。

      3. 「ルートテーブル」ページで、作成したカスタムルートテーブルを見つけ、リソースの関連付け 列で 関連付け をクリックして、ECS インスタンスが配置されている vSwitch をアタッチします。

    2. ルートエントリの設定:ターゲットルートテーブルの ID をクリックします。カスタムルート タブで、ルートエントリの追加 をクリックします。宛先 CIDR ブロックとネクストホップを設定します。

      次の表の説明に従ってルートを設定し、トラフィックが正しく転送されるようにします。

      VPC

      ルートテーブル

      宛先 CIDR ブロック

      ネクストホップ

      VPC_A

      システムルートテーブル

      10.0.0.0/24

      トランジットルーター

      カスタムルートテーブル

      172.16.0.0/24

      VPC_NATGW_A

      VPC_B

      システムルートテーブル

      172.16.0.0/24

      トランジットルーター

      カスタムルートテーブル

      10.0.0.0/24

      VPC_NATGW_B

ステップ 4:結果の確認

ECS_A インスタンスにログインし、次のコマンドを実行します。

# ECS_B に対応する宛先 NAT IP アドレス (172.16.0.53) を使用して、ECS_B インスタンスにリモートでログインします。
# ECS_B インスタンスのセキュリティグループでポート 22 が許可されていることを確認してください。
ssh root@172.16.0.53
# ネットワークインターフェイスコントローラー (NIC) の IP アドレスを表示します。
ifconfig

ECS_A インスタンスが VPC_NATGW_A の SNAT IP アドレス (10.0.0.89) を送信元 IP として使用し、宛先 NAT IP アドレス (172.16.0.53) にアクセスすることで、ECS_B インスタンスにリモートでログインできることがわかります。

課金

  • VPC NAT ゲートウェイ:インスタンス料金とキャパシティーユニット (CU) 料金が課金されます。

  • Cloud Enterprise Network (CEN):同一リージョン内接続の場合、接続料金とトラフィック処理料金が課金されます。リージョン間接続の場合、クロスリージョン帯域幅料金も課金されます。