Inter-VPC NAT

Private NAT サービスの一つである Inter-VPC NAT を使用すると、Network Connectivity Center の Virtual Private Cloud(VPC)スポークと連動する Private NAT ゲートウェイを作成し、VPC ネットワーク間のネットワーク アドレス変換(NAT)を実行できます。

仕様

一般的な Private NAT 仕様に加えて、Inter-VPC NAT には次の仕様を検討してください。

  • Inter-VPC NAT では、type=PRIVATE の NAT 構成を使用して、サブネット IP アドレス範囲が重複する VPC ネットワークが通信できるようにします。ただし、重複しないサブネット内のリソースのみ、互いに接続できます。
  • 2 つの VPC ネットワーク間の Inter-VPC NAT を有効にするには、各 VPC ネットワークを Network Connectivity Center ハブの VPC スポークとして構成します。スポークを作成するときに、重複する IP アドレス範囲が他の VPC スポークと共有されないようにする必要があります。詳細については、VPC スポークを作成するをご覧ください。
  • Inter-VPC NAT では、Network Connectivity Center の Virtual Private Cloud(VPC)スポーク間のネットワーク アドレス変換(NAT)のみがサポートされます。VPC ネットワーク ピアリングを使用して接続された Virtual Private Cloud ネットワークはサポートされていません。
  • Network Connectivity Center ハブを参照して、カスタム NAT ルールを作成する必要があります。NAT ルールは、VM が別の VPC ネットワークと通信する際に使用できる、目的が PRIVATE_NAT のサブネット内の NAT IP アドレス範囲を指定します。
  • Inter-VPC NAT では、リージョン内およびリージョン間の VPC サブネットのアドレス変換がサポートされています。

基本的な Inter-VPC NAT の構成とワークフロー

次の図は、基本的な Inter-VPC NAT の構成を示しています。

Inter-VPC NAT 変換の例。
Inter-VPC NAT 変換の例(クリックして拡大)

この例では、Inter-VPC NAT が次のように設定されています。

  • pvt-nat-gw ゲートウェイは、us-east1 リージョンの subnet-a のすべての IP アドレス範囲に適用されるように vpc-a で構成されています。pvt-nat-gw の NAT IP 範囲を使用すると、vpc-asubnet-avpc-bsubnet-c と重複していても、vpc-asubnet-a にある仮想マシン(VM)インスタンスは、vpc-bsubnet-b にある VM にトラフィックを送信できます。
  • vpc-avpc-b の両方が、Network Connectivity Center ハブのスポークとして構成されています。
  • pvt-nat-gw ゲートウェイは、同じ Network Connectivity Center ハブへの VPC スポークとして構成されている VPC ネットワーク間で NAT を提供するように構成されています。

Inter-VPC NAT ワークフローの例

上の図では、vpc-asubnet-a 内の内部 IP アドレス 192.168.1.2 を持つ vm-a は、vpc-bsubnet-b 内の IP アドレス 192.168.2.2 を持つ vm-b から更新をダウンロードする必要があります。両方の VPC ネットワークは、VPC スポークと同じ Network Connectivity Center ハブに接続されています。vpc-b に、vpc-a のサブネットと重複する別のサブネット 192.168.1.0/24 が存在するとします。vpc-asubnet-avpc-bsubnet-b と通信するには、vpc-a で次のように Private NAT ゲートウェイ pvt-nat-gw を構成する必要があります。

  • Private NAT サブネット: Private NAT ゲートウェイを構成する前に、サブネット IP アドレス範囲を 10.1.2.0/29、目的を PRIVATE_NAT として、このサブネットを作成します。このサブネットが、同じ Network Connectivity Center ハブに接続されている VPC スポークのいずれかで既存のサブネットと重複していないことを確認します。

  • nexthop.hub が Network Connectivity Center ハブの URL と一致する NAT ルール。

  • subnet-a のすべてのアドレス範囲の NAT

次の表は、上記の例に指定したネットワーク構成をまとめたものです。

ネットワーク名 ネットワーク コンポーネント IP アドレス / 範囲 リージョン
vpc-a

subnet-a 192.168.1.0/24 us-east1
vm-a 192.168.1.2
pvt-nat-gw 10.1.2.0/29
vpc-b

subnet-b 192.168.2.0/24 us-west1
vm-b 192.168.2.2
subnet-c 192.168.1.0/24
vm-c 192.168.1.3

Inter-VPC NAT は、ポート予約手順に沿って、ネットワーク内の各 VM に NAT の送信元 IP アドレスと送信元ポートのタプルを予約します。たとえば、Private NAT ゲートウェイは、vm-a 用に 64 の送信元ポート(10.1.2.2:34000 から 10.1.2.2:34063)を予約します。

VM が TCP プロトコルを使用して、宛先ポート 80 で更新サーバー 192.168.2.2 にパケットを送信すると、次のようになります。

  1. VM が次の属性のリクエスト パケットを送信します。

    • 送信元 IP アドレス: 192.168.1.2、VM の内部 IP アドレス
    • 送信元ポート: 24000、VM のオペレーティング システムによって選択されたエフェメラル送信元ポート
    • 宛先アドレス: 192.168.2.2、更新サーバーの IP アドレス
    • 宛先ポート: 80、更新サーバーへの HTTP トラフィックの宛先ポート
    • プロトコル: TCP
  2. pvt-nat-gw ゲートウェイは、下り(外向き)で送信元ネットワーク アドレス変換(SNAT または送信元 NAT)を実行し、リクエスト パケットの NAT 送信元 IP アドレスと送信元ポートを書き換えます。

    • NAT 送信元 IP アドレス: 10.1.2.2、VM の予約済み NAT 送信元 IP アドレスと送信元ポートのタプルの 1 つ
    • 送信元ポート: 34022、VM の予約済み送信元ポートタプルの未使用の送信元ポート
    • 宛先アドレス: 192.168.2.2、変更なし
    • 宛先ポート: 80、変更なし
    • プロトコル: TCP、変更なし
  3. 更新サーバーは、次の属性の pvt-nat-gw ゲートウェイに到着するレスポンス パケットを送信します。

    • 送信元 IP アドレス: 192.168.2.2、更新サーバーの内部 IP アドレス
    • 送信元ポート: 80、更新サーバーからの HTTP レスポンス
    • 宛先アドレス: 10.1.2.2、リクエスト パケットの元の NAT 送信元 IP アドレスと一致
    • 宛先ポート: 34022、リクエスト パケットの送信元ポートと一致
    • プロトコル: TCP、変更なし
  4. pvt-nat-gw ゲートウェイは、レスポンス パケットに宛先ネットワーク アドレス変換(DNAT)を実行し、パケットが次の属性を使用して更新をリクエストした VM に配信されるように、レスポンス パケットの宛先アドレスと宛先ポートを書き換えます。

    • 送信元 IP アドレス: 192.168.2.2、変更なし
    • 送信元ポート: 80、変更なし
    • 宛先アドレス: 192.168.1.2、VM の内部 IP アドレス
    • 宛先ポート: 24000、リクエスト パケットの元のエフェメラル送信元ポートと一致
    • プロトコル: TCP、変更なし

次のステップ