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

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

最終更新日:Mar 14, 2026

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

仕組み

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

重複する VPC と vSwitch 内の ECS インスタンスが通信しようとする場合:

  • ピア VPC の CIDR ブロックを宛先 CIDR ブロックとして設定した場合、トラフィックはまずシステムルートにマッチし、VPC 内で転送されます。ピア VPC には到達しません。

  • ピア vSwitch の CIDR ブロックを宛先 CIDR ブロックとして設定した場合、既存のシステムルートと同じか、より具体的な宛先 CIDR ブロックを持つカスタムルートを追加することはできません。

image

NAT ベースのソリューション

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

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

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

トラフィックパスの例

中国 (杭州) のある企業が、既存の 2 つの VPC を接続しようとしています。しかし、VPC の CIDR ブロックが重複しています。これを解決するため、VPC NAT ゲートウェイを使用してアドレス変換を行います。次に、トラフィックが VPC NAT ゲートウェイに向かうようにルートを設定します。最後に、Cloud Enterprise Network (CEN) インスタンスまたはピアリング接続をデプロイして、プライベートネットワークピアリングを有効にします。

例えば、ECS_A (プライベート IP アドレス:192.168.0.86) が VPC_NATGW_B (プライベート IP アドレス:10.0.0.53) にアクセスする場合を考えます。

  1. ECS_A からのトラフィックは、その vSwitch にバインドされたカスタムルートテーブルのルート設定に従い、VPC NAT ゲートウェイに転送されます。

  2. VPC_NAT_A で設定された SNAT ルールにより、パケットのソース IP が NAT IP アドレス (172.16.0.89) に変換されます。

  3. VPC_A のシステムルートテーブルは、パケットをトランジットルーター TR に転送します。TR はそれを VPC_B に転送し、最終的に VPC_B 内の VPC NAT ゲートウェイに転送します。

  4. VPC_NATGW_B の DNAT ルールにより、宛先 IP アドレスが ECS_B に変換されます。その後、トラフィックはターゲットサーバーに転送され、ECS インスタンス間の通信が可能になります。

ECS_B が応答パケットを送信すると、セッションマッピングテーブルが元のプライベート IP アドレスを復元します。その後、ルーティングによってパケットが 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_A および VPC_B の vSwitch を作成します。

    • 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 ゲートウェイを作成し、セカンダリ 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 ルールに基づいて、パケットの宛先 IP アドレスを NAT IP アドレスに変換します。

    1. VPC NAT ゲートウェイリストページに移動します。トップメニューバーで、ご利用の VPC NAT ゲートウェイが存在するリージョンを選択します。

    2. 目的の VPC NAT ゲートウェイの 操作 列で[DNAT 管理] をクリックします。DNAT エントリの作成 をクリックします。

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

      • プライベート IP アドレスの選択:相互に通信する必要がある VPC 内の ECS インスタンスを選択します。

      • ポート設定:このトピックでは、サービスが相互接続されていることを確認する方法として SSH サービスを使用します。SSH サービスは、接続指向の TCP プロトコルを使用し、ポート 22 で動作します。したがって、特定のポート のフロントエンドポートとバックエンドポートの両方を 22 に設定し、プロトコルの種類として TCP を選択します。

        必要に応じてカスタム DNAT エントリを作成してください。

ステップ 3:VPC の接続

  1. VPC 接続を作成します。

    サポートされているリージョンとゾーン
    この例では、同じアカウントおよびリージョン内の VPC を接続します。異なるアカウントまたはリージョン内の VPC については、「リージョン間 VPC ピアリング」または「アカウント間 VPC ピアリング」をご参照ください。
    1. およびCloud Enterprise Network (CEN) 管理コンソールに移動し、CEN インスタンスの作成 をクリックします。CEN のみを作成OK を選択します。

    2. 作成が成功したら、接続の作成 > Intra-region をクリックします。

      この例では、アドレス競合のある VPC は同じリージョン内にあります。そのため、リージョン内接続を作成します。異なるリージョンにある VPC の場合は、リージョン間接続を作成します。
      CEN インスタンス ID をクリックすることもできます。その後、[基本情報] タブで、VPC の下にある image をクリックしてリージョン内接続を作成します。
      • ネットワークタイプ:Virtual Private Cloud (VPC) を選択します。

      • リージョン:VPC が配置されているリージョンを選択します。

      • リソース所有者 ID:VPC のアカウント所有権に基づいて選択します。このトピックでは 現在のアカウント を選択します。

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

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

      • 詳細設定:すべて選択します。

    3. 作成が完了したら、[接続の作成を続行] をクリックして VPC_B の VPC 接続を作成します。

  2. ルートを設定します。

    NAT ゲートウェイはアドレス変換のみを処理し、トラフィックフローは制御しません。VPC 内のルートテーブルが、トラフィックを NAT ゲートウェイに送信するかどうか、および変換後のトラフィックの宛先を決定します。

    1. カスタムルートテーブルを作成し、vSwitch にバインドします。

      1. ルートテーブルページに移動します。トップメニューバーで、ご利用の VPC が存在するリージョンを選択します。

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

        • VPC:VPC_A と VPC_B のルートテーブルをそれぞれ作成します。

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

      3. 「ルートテーブル」ページで、ターゲットカスタムルートテーブルのリソースの関連付け 列の関連付け をクリックして、ECS インスタンスを含む vSwitch を関連付けます。

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

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

      VPC

      ルートテーブル

      宛先 CIDR ブロック

      ネクストホップ

      VPC_A

      システムルートテーブル

      10.0.0.0/24

      トランジットルーター

      カスタムルートテーブル

      10.0.0.0/24

      VPC_NATGW_A

      VPC_B

      システムルートテーブル

      172.16.0.0/24

      トランジットルーター

      カスタムルートテーブル

      172.16.0.0/24

      VPC_NATGW_B

ステップ 4:結果の確認

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

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

これにより、ECS_A が VPC_NATGW_A の NAT IP アドレス (172.16.0.89) を経由して、VPC_NATGW_B の NAT IP アドレス (10.0.0.53) にアクセスしていることが確認できます。これにより、ECS_B へのリモートログインが可能になります。

image

課金情報

  • VPC NAT ゲートウェイ:インスタンス料金と容量単位 (CU) 料金が含まれます。

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