Network Connectivity Center のスポークの Private NAT

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

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

仕様

Network Connectivity Center のスポークの Private NAT には、一般的な 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 ゲートウェイは、単一の VPC ネットワーク内の単一リージョンのサブネット IP アドレス範囲に関連付けられます。つまり、ある VPC ネットワークで作成された Private NAT ゲートウェイは、VM がゲートウェイと同じリージョンにある場合でも、Network Connectivity Center ハブの他のスポークの 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 スポークが必要です。VPC スポークの 1 つは Private NAT ゲートウェイの VPC ネットワークです。
  • Inter-VPC NAT は、Network Connectivity Center VPC スポーク間の NAT のみをサポートします。VPC ネットワーク ピアリングを使用して接続された VPC ネットワーク間ではサポートされません。
  • Inter-VPC NAT では、リージョン内およびリージョン間の VPC サブネットのアドレス変換がサポートされています。

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

VPC スポークと Google Cloud 以外のネットワーク(プレビュー)間のトラフィックには、次の追加仕様が適用されます。

  • VPC ネットワークとオンプレミスまたは他のクラウド プロバイダ ネットワークの間で Private NAT を有効にするには:
    1. VPC ネットワークは、Network Connectivity Center ハブの VPC スポークとして構成する必要があります。Network Connectivity Center のハブに複数の VPC スポークがある場合は、VPC スポーク間でサブネットの重複がないことを確認する必要があります。詳細については、VPC スポークを作成するをご覧ください。
    2. VPC スポークと Google Cloud 外のネットワークの間の接続を確立するには、ハイブリッド スポークを同じ Network Connectivity Center ハブに接続する必要があります。ハイブリッド スポークは、Cloud Interconnect、Cloud VPN トンネル、ルーター アプライアンス VM の VLAN アタッチメントをサポートしています。詳細については、VPC スポークとハイブリッド スポーク間の接続についてをご覧ください。
  • Private NAT ゲートウェイは、ハイブリッド スポークに関連付けられているルーティング VPC ネットワークではなく、ワークロードの VPC ネットワークで構成する必要があります。ワークロードと VPC ネットワークのルーティングの詳細については、VPC スポークとのルート交換をご覧ください。

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

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

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

この例では、Private 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 を提供するように構成されています。

ワークフローの例

上の図では、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 ゲートウェイを構成する前に、目的が 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、変更なし

次のステップ