Network Connectivity Center スポークの Private NAT

Private NAT では、Network Connectivity Center スポークと連携して次のネットワーク間でネットワーク アドレス変換(NAT)を実行する Private NAT ゲートウェイを作成できます。

  • Virtual Private Cloud(VPC)ネットワーク間: このシナリオでは、接続するそれぞれの VPC ネットワークが、VPC スポークとして Network Connectivity Center ハブに接続されています。
  • VPC ネットワークと Google Cloud外のネットワーク間: このシナリオでは、1 つ以上の VPC ネットワークが VPC スポークとして Network Connectivity Center ハブに接続されており、ハイブリッド スポークを介してオンプレミスまたは他のクラウド プロバイダ ネットワークに接続されています。

仕様

Private NAT の一般的な仕様に加えて、Network Connectivity Center スポークの Private NAT には以下の仕様があります。

  • Private NAT は、type=PRIVATE の NAT 構成を使用して、重複したサブネット IP アドレス範囲を持つネットワーク同士が通信できるようにします。ただし、互いに接続できるのは重複していないサブネットのみです。
  • Network Connectivity Center ハブを参照して、カスタム NAT ルールを作成する必要があります。この NAT ルールでは、接続されたネットワーク間のトラフィックに対して Private NAT が NAT を実行するために使用する、目的が PRIVATE_NAT のサブネット内の NAT IP アドレス範囲を指定します。
  • Private NAT が適用されるサブネット範囲で VM インスタンスを作成すると、宛先スポークがゲートウェイと同じ Network Connectivity Center ハブにある場合、この VM インスタンスからのすべての下り(外向き)トラフィックはゲートウェイによって変換されます。Private NAT は、Private NAT ゲートウェイと同じリージョン内の宛先スポークへのトラフィックと、リージョン間のトラフィックを変換します。
  • Private NAT ゲートウェイは、単一の VPC ネットワーク内の単一のリージョンにあるサブネット IP アドレス範囲に関連付けられています。つまり、1 つの VPC ネットワーク内に作成された Private NAT ゲートウェイは、Network Connectivity Center ハブの他のスポークにある VM には(たとえその VM がゲートウェイと同じリージョンにある場合でも)NAT サービスを提供しません。

VPC ネットワーク間のトラフィック

VPC ネットワーク間のトラフィック(Inter-VPC NAT)には、以下の仕様が追加で適用されます。

  • 2 つの VPC ネットワーク間の Inter-VPC NAT を有効にするには、各 VPC ネットワークを Network Connectivity Center ハブの VPC スポークとして構成する必要があります。VPC スポーク間で IP アドレス範囲が重複しないようにする必要があります。詳細については、VPC スポークを作成するをご覧ください。
  • Private NAT ゲートウェイに関連付けられた Network Connectivity Center ハブには、少なくとも 2 つの VPC スポークが必要であり、そのうちの 1 つは Private NAT ゲートウェイの VPC ネットワークです。
  • Inter-VPC NAT は、Network Connectivity Center の VPC スポーク間の NAT のみをサポートします。VPC ネットワーク ピアリングを使用して接続された VPC ネットワーク間の NAT はサポートしません。

VPC ネットワークと他のネットワークの間のトラフィック

VPC ネットワークと Google Cloud外のネットワークの間のトラフィックには、以下の仕様が追加で適用されます。

  • 送信元 VPC ネットワークは、Network Connectivity Center ハブの VPC スポークとして構成されている必要があります。
  • VPC スポークと Google Cloudの外部にある宛先ネットワークの間の接続を確立するには、ハイブリッド スポークを同じ Network Connectivity Center ハブに接続する必要があります。詳細については、ハイブリッド スポークと VPC スポーク間の接続の確立をご覧ください。

同じ Network Connectivity Center ハブで VPC スポークとハイブリッド スポークを使用するための要件については、VPC スポークでのルート交換をご覧ください。

基本的な構成とワークフロー

次の図は、2 つの VPC スポーク間のトラフィックに対する基本的な Private NAT 構成を示しています。

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

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

  • vpc-apvt-nat-gw ゲートウェイは、us-east1 リージョンの subnet-a のすべての IP アドレス範囲に適用されるように構成されています。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 を提供するように構成されています。

ワークフローの例

上の図において、vpc-asubnet-a 内の内部 IP アドレス 192.168.1.2 を持つ VM 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 ゲートウェイを構成する前に、目的が PRIVATE_NAT である Private NAT サブネット(10.1.2.0/29 など)を作成します。このサブネットが、同じ 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

Network Connectivity Center スポークの Private 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、変更なし

次のステップ