Private NAT でネットワーク アドレス変換を設定、管理する

このページでは、Private NAT を使用してネットワーク アドレス変換(NAT)を構成する方法について説明します。Private NAT 構成を設定する前に、Private NAT をご覧ください。

始める前に

Private NAT を設定する前に、次の操作を行います。

IAM 権限を取得する

Compute ネットワーク管理者のロールroles/compute.networkAdmin)により、Cloud Router での NAT ゲートウェイの作成、NAT IP アドレスの予約と割り当て、トラフィックが NAT ゲートウェイによるネットワーク アドレス変換を使用する必要があるサブネットワーク(サブネット)の指定を行う権限を取得できます。

Google Cloud を設定する

始める前に、Google Cloud で次の項目を設定します。

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  3. Google Cloud プロジェクトで課金が有効になっていることを確認します

  4. Compute Engine API を有効にします。

    API を有効にする

  5. Google Cloud CLI をインストールします。
  6. gcloud CLI を初期化するには:

    gcloud init
  7. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  8. Google Cloud プロジェクトで課金が有効になっていることを確認します

  9. Compute Engine API を有効にします。

    API を有効にする

  10. Google Cloud CLI をインストールします。
  11. gcloud CLI を初期化するには:

    gcloud init

このページの Google Cloud CLI の説明では、コマンド発行前にプロジェクト ID を設定済みであることを前提としています。

  1. プロジェクト ID は、次のコマンドで設定できます。

    gcloud config set project PROJECT_ID
    
  2. すでに設定されているプロジェクト ID を表示することもできます。

    gcloud config list --format='text(core.project)'
    

目的 PRIVATE_NAT の NAT サブネットを作成する

Private NAT を構成する前に、目的が PRIVATE_NAT の NAT サブネットを作成します。NAT サブネットは、Private NAT ゲートウェイを作成する予定のリージョンと同じリージョンに存在する必要があります。Private NAT ゲートウェイは、このサブネットの IP アドレス範囲を使用して NAT を実行します。このサブネットが、接続されたどのネットワークでも既存のサブネットと重複しないようにしてください。このサブネットにはリソースを作成できません。 このサブネットは Private NAT にのみ使用されます。

コンソール

  1. Google Cloud コンソールの [VPC ネットワーク] ページに移動します。

    [VPC ネットワーク] に移動

  2. VPC ネットワークの詳細ページを表示するには、VPC ネットワークの名前をクリックします。

  3. [サブネット] タブをクリックします。

  4. [サブネットを追加] をクリックします。[サブネットを追加] ダイアログで、次の操作を行います。

    1. サブネットの名前を入力します。
    2. リージョンを選択します。
    3. [目的] で [プライベート NAT] を選択します。
    4. [IP アドレス範囲] を入力します。これは、サブネットのプライマリ IPv4 範囲です。

      RFC 1918 アドレス以外の範囲を選択した場合は、その範囲が既存の構成と競合していないことを確認します。有効な IPv4 サブネット範囲の詳細については、IPv4 サブネット範囲をご覧ください。

  5. [追加] をクリックします。

gcloud

compute networks subnet create コマンドを使用して、サブネットを作成します。

    gcloud compute networks subnets create NAT_SUBNET \
      --network=NETWORK \
      --region=REGION \
      --range=IP_RANGE \
      --purpose=PRIVATE_NAT

次のように置き換えます。

  • NAT_SUBNET: 作成する Private NAT サブネット範囲の名前。
  • NETWORK: サブネットワークが属するネットワーク。
  • REGION: 作成するサブネットワークのリージョン。指定しない場合、リージョンの選択を求められる場合があります(インタラクティブ モードのみ)。
  • IP_RANGE: このサブネットに割り振られる IP 空間(CIDR 形式)。IP_RANGE では、VM あたりに必要なポートの 2 倍の大きさが使用されるようにします。

Private NAT 構成を作成する

次の Private NAT サービスをサポートするように、Private NAT ゲートウェイを構成できます。

  • Inter-VPC NAT: 共通の Network Connectivity Center ハブに接続している VPC スポークとして構成されている VPC ネットワーク間のトラフィックに対して NAT を実行します。
  • ハイブリッド NAT(プレビュー): Google Cloud のエンタープライズ ハイブリッド接続ソリューション上で接続されている VPC ネットワークとオンプレミス ネットワークまたは他のクラウド プロバイダ ネットワーク間のトラフィックで NAT を実行します。

プライベート NAT を設定する

VPC ネットワークと他のネットワークの間のトラフィックで NAT を実行するカスタム NAT ルールで、Private NAT ゲートウェイを作成します。

コンソール

  1. Google Cloud コンソールで、[Cloud NAT] ページに移動します。

    [Cloud NAT] に移動

  2. [開始] または [Cloud NAT ゲートウェイを作成] をクリックします。

  3. ゲートウェイ名を入力します。

  4. [NAT タイプ] で [プライベート] を選択します。

  5. NAT ゲートウェイの VPC ネットワークを選択します。

  6. NAT ゲートウェイのリージョンを選択します。

  7. リージョンの Cloud Router を選択または作成します。

  8. 送信元エンドポイントのタイプとして [VM インスタンス] が選択されていることを確認します。

  9. [ソース] リストで [カスタム] を選択します。

  10. NAT を実行するサブネットを選択します。

  11. 追加の範囲を指定する場合は、[サブネットと IP 範囲の追加] をクリックします。

  12. [ルールの追加] をクリックします。

  13. [ルール番号] フィールドに、165000 の任意の値を入力します。

  14. [一致] の場合は、次のいずれかのオプションを選択します。

    • Inter-VPC NAT で、[Network Connectivity Center ハブ] を選択します。
    • ハイブリッド NAT(プレビュー)の場合は、[ハイブリッド接続ルート] を選択します。
  15. プライベート NAT サブネット範囲を選択するか作成します。

  16. [完了]、[作成] の順にクリックします。

gcloud

  1. NAT を実行する対象の VPC ネットワークに Cloud Router を作成します。compute routers create コマンドを使用します。

    gcloud compute routers create ROUTER_NAME \
      --network=NETWORK --region=REGION
    

    次のように置き換えます。

    • ROUTER_NAME: 作成するルーターの名前。
    • NETWORK: このルーターの VPC ネットワーク。
    • REGION: 作成するルーターのリージョン。指定しない場合、リージョンの選択を求められる場合があります(インタラクティブ モードのみ)。
  2. NAT を実行するソース VPC ネットワークのサブネットを指定して、Private NAT ゲートウェイを作成します。

    --type フラグを PRIVATE に設定して compute routers nats create コマンドを使用します。

    gcloud compute routers nats create NAT_CONFIG \
      --router=ROUTER_NAME --type=PRIVATE --region=REGION \
      --nat-custom-subnet-ip-ranges=SUBNETWORK:ALL|[SUBNETWORK_1:ALL ...] | \
      [--nat-all-subnet-ip-ranges]
    

    次のように置き換えます。

    • NAT_CONFIG: 作成する Private NAT 構成の名前。
    • ROUTER_NAME: このゲートウェイで使用するルーターの名前。ルーターは、前の手順で作成したものと同じです。このルーターに他のリソースが関連付けられていないことを確認してください。
    • SUBNETWORK: ゲートウェイの使用が許可されるサブネットの名前またはサブネットのリスト。SUBNETWORK_1, SUBNETWORK_2 のようなカンマ区切り形式でサブネットのリストを指定することもできます。Google Cloud では、指定されたサブネットやサブネットのリストのすべてのサブネット IP 範囲で常に NAT が実行されます。
  3. 要件に基づいてトラフィックをマッチするルールを作成します。

    • NAT の実行を、ソース VPC スポークを経由して一致する Network Connectivity Center ハブに接続されたピア VPC スポークのいずれかに向う下り(外向き)トラフィックに対して行うには、Private NAT ゲートウェイに NAT ルールを作成します。NAT ルールに基づいて、Private NAT ゲートウェイが Private NAT サブネットから NAT IP アドレスを割り振り、トラフィックに対して NAT を実行します。

      compute routers nats rules create コマンドを使用します。

      gcloud beta compute routers nats rules create NAT_RULE_NUMBER \
      --router=ROUTER_NAME --region=REGION \
      --nat=NAT_CONFIG \
      --match='nexthop.hub == "//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/hubs/HUB"' \
      --source-nat-active-ranges=NAT_SUBNET ...
      

      次のように置き換えます。

      • NAT_RULE_NUMBER: 作成するルールを一意に識別する番号。
      • NAT_CONFIG: 作成するルールの Private NAT 構成の名前。この構成は、前の手順で作成したものと同じです。
      • PROJECT_ID: ルーターが配置されているプロジェクトのグローバルに一意な ID。
      • HUB: 一致する Network Connectivity Center ハブの名前。
      • NAT_SUBNET: 前に作成した Private NAT サブネットの名前。サブネットのリストをカンマ区切り形式で指定することもできます。
    • Google Cloud のエンタープライズ ハイブリッド接続ソリューション(プレビュー)上でソース VPC ネットワークからオンプレミスまたは他のクラウド プロバイダ ネットワークに向う下り(外向き)トラフィックに NAT を実行するには、Private NAT ゲートウェイに NAT ルールを作成します。NAT ルールに基づいて、Private NAT ゲートウェイが Private NAT サブネットから NAT IP アドレスを割り振り、トラフィックに対して NAT を実行します。

      compute routers nats rules create コマンドを使用します。

      gcloud beta compute routers nats rules create NAT_RULE_NUMBER \
      --router=ROUTER_NAME --region=REGION \
      --nat=NAT_CONFIG \
      --match='nexthop.is_hybrid' \
      --source-nat-active-ranges=NAT_SUBNET ...
      

      次のように置き換えます。

      • NAT_RULE_NUMBER: 作成するルールを一意に識別する番号。
      • NAT_CONFIG: 作成するルールの Private NAT 構成の名前。この構成は、前の手順で作成したものと同じです。
      • NAT_SUBNET: 前に作成した Private NAT サブネットの名前。サブネットのリストをカンマ区切り形式で指定することもできます。

静的ポートの割り当てを使用して Private NAT を設定する

Private NAT では、デフォルトで動的ポート割り当てが使用されます。ただし、静的ポートの割り当てを使用するように Private NAT を構成できます。

コンソール

  1. Google Cloud コンソールで、[Cloud NAT] ページに移動します。

    [Cloud NAT] に移動

  2. [開始] または [Cloud NAT ゲートウェイを作成] をクリックします。

  3. ゲートウェイ名を入力します。

  4. [NAT タイプ] で [プライベート] を選択します。

  5. NAT ゲートウェイの VPC ネットワークを選択します。

  6. NAT ゲートウェイのリージョンを選択します。

  7. リージョンの Cloud Router を選択または作成します。

  8. Cloud NAT マッピングの詳細を指定し、NAT ルールを作成します。詳細については、Private NAT を設定するをご覧ください。

  9. [詳細構成] をクリックします。

  10. [動的ポートの割り当ての有効化] をオフにします。

  11. [VM インスタンスあたりの最小ポート数] の値を指定します。デフォルトは 64 です。

  12. [完了]、[作成] の順にクリックします。

gcloud

--no-enable-dynamic-port-allocation フラグを指定して compute routers nats create コマンドを使用します。

  gcloud compute routers nats create NAT_CONFIG \
    --router=ROUTER_NAME --type=PRIVATE --region=REGION \
    --nat-custom-subnet-ip-ranges=SUBNETWORK:ALL|[SUBNETWORK_1:ALL,SUBNETWORK_2:ALL,...] \
    --no-enable-dynamic-port-allocation \
    [--min-ports-per-vm=VALUE]

次のように置き換えます。

  • NAT_CONFIG: 作成する Private NAT 構成の名前。
  • ROUTER_NAME: このゲートウェイで使用するルーターの名前。
  • SUBNETWORK: ゲートウェイの使用が許可されるサブネットの名前またはサブネットのリスト。

    SUBNETWORK_1, SUBNETWORK_2 のようなカンマ区切り形式でサブネットのリストを指定することもできます。Google Cloud では、指定されたサブネットやサブネットのリストのすべてのサブネット IP 範囲で常に NAT が実行されます。

  • VALUE: ゲートウェイに割り当てる VM あたりの最小ポート数。指定しない場合は、Google Cloud によってデフォルト値の 64 が割り当てられます。

NAT 構成を表示する

コンソール

  1. Google Cloud コンソールで、[Cloud NAT] ページに移動します。

    [Cloud NAT] に移動

  2. NAT ゲートウェイの詳細、マッピング情報、構成の詳細を表示するには、NAT ゲートウェイの名前をクリックします。

  3. NAT ステータスを表示するには、NAT ゲートウェイの [ステータス] 列を確認します。

gcloud

NAT 構成の詳細を表示するには、次のコマンドを実行します。

  • Private NAT ゲートウェイの構成を表示します。

    gcloud compute routers nats describe NAT_CONFIG \
       --router=ROUTER_NAME \
       --region=REGION
    

    次のように置き換えます。

    • NAT_CONFIG: NAT 構成の名前。
    • ROUTER_NAME: Cloud Router の名前。
    • REGION: 詳細を表示する NAT のリージョン。指定しない場合、リージョンの選択を求められる場合があります(インタラクティブ モードのみ)。
  • 各 VM のインターフェースに割り当てられた IP とポート範囲のマッピングを表示します。

    gcloud compute routers get-nat-mapping-info ROUTER_NAME \
      --region=REGION
    
  • Private NAT ゲートウェイのステータスを表示します。

    gcloud compute routers get-status ROUTER_NAME \
      --region=REGION
    

Private NAT 構成を更新する

Private NAT ゲートウェイを設定したら、要件に基づいてゲートウェイ構成を更新できます。以降のセクションでは、Private NAT ゲートウェイを更新するために実行できるタスクを示します。

Private NAT に関連付けられたサブネットを変更する

コンソール

  1. Google Cloud コンソールで、[Cloud NAT] ページに移動します。

    [Cloud NAT] に移動

  2. NAT ゲートウェイをクリックします。

  3. [編集] をクリックします。

  4. [Cloud NAT マッピング] の [ソース] リストで、[カスタム] を選択します。

  5. 使用可能なサブネットのリストから新しいサブネットを選択します。

  6. 追加の範囲を指定する場合は、[サブネットと IP 範囲の追加] をクリックして、別のサブネットを選択します。

  7. [保存] をクリックします。

gcloud

gcloud beta compute routers nats update NAT_CONFIG \
  --router=ROUTER_NAME \
  --region=REGION \
  --nat-custom-subnet-ip-ranges=SUBNETWORK:ALL|[SUBNETWORK_1:ALL,SUBNETWORK_2:ALL,..]

次のように置き換えます。

  • NAT_CONFIG: 更新する Private NAT 構成の名前。
  • ROUTER_NAME: このゲートウェイで使用するルーターの名前。
  • SUBNETWORK: 使用するサブネットの名前。

Private NAT に関連付けられたサブネットを削除する

NAT ゲートウェイから使用していない特定のサブネットを削除できます。

コンソール

  1. Google Cloud コンソールで、[Cloud NAT] ページに移動します。

    [Cloud NAT] に移動

  2. NAT ゲートウェイをクリックします。

  3. [編集] をクリックします。

  4. NAT マッピングから削除するサブネットを削除します。

  5. [保存] をクリックします。

Private NAT 構成に NAT サブネットを追加する

トラフィックに NAT を実行するため、Private NAT 構成では、目的が PRIVATE_NAT であるサブネットの NAT IP アドレスを使用します。Private NAT 構成で、使用可能な NAT IP アドレスの数を超える数が必要な場合は、目的が PRIVATE_NAT のサブネットをさらに構成に追加できます。

コンソール

  1. Google Cloud コンソールで、[Cloud NAT] ページに移動します。

    [Cloud NAT] に移動

  2. NAT ゲートウェイをクリックします。

  3. [編集] をクリックします。

  4. 既存のルールを展開します。

  5. [サブネットの範囲を追加] をクリックします。

  6. 新しい NAT サブネット範囲を選択または作成し、[完了] をクリックします。

  7. [保存] をクリックします。

gcloud

gcloud beta compute routers nats rules update NAT_RULE_NUMBER \
  --nat=NAT_CONFIG \
  --router=ROUTER_NAME \
  --region=REGION \
  --source-nat-active-ranges=NAT_SUBNET_1, NAT_SUBNET_2 ...

次のように置き換えます。

  • NAT_RULE_NUMBER: 更新するルールを一意に識別する番号。
  • NAT_CONFIG: 更新するルールの Private NAT 構成の名前。
  • PROJECT_ID: ルーターが配置されているプロジェクトのグローバルに一意な ID。
  • NAT_SUBNET: 既存の NAT 構成に追加する Private NAT サブネットの名前。

NAT 構成を削除する

ゲートウェイ構成を削除すると、Cloud Router から NAT 構成が削除されます。ルーター自体は削除されません。

コンソール

  1. Google Cloud コンソールで、[Cloud NAT] ページに移動します。

    [Cloud NAT] に移動

  2. 削除するゲートウェイ構成の横にあるチェックボックスをオンにします。

  3. メニューで、[削除] をクリックします。

gcloud

gcloud compute routers nats delete NAT_CONFIG \
    --router=ROUTER_NAME \
    --region=REGION

以下を置き換えます。

  • NAT_CONFIG: NAT 構成の名前。
  • ROUTER_NAME: Cloud Router の名前。
  • REGION: 削除する NAT のリージョン。指定しない場合、リージョンの選択を求められる場合があります(インタラクティブ モードのみ)。

次のステップ