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

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

制限事項

  • NAT IP アドレスの手動割り振りを使用しているときに、Cloud NAT に使用している IP アドレスを変更すると、古い IP アドレスのすべての接続がすぐに終了します。これを回避する方法については、NAT に関連付けられた外部 IP アドレスをドレインするをご覧ください。

  • 静的ポートの割り当てを使用して Cloud NAT ゲートウェイを構成している場合、VM あたりの最小ポート数を減らすと、確立された NAT 接続が切断される可能性があります。詳細については、VM あたりのポート数を減らすをご覧ください。

  • 動的ポート割り当てを使用して Cloud NAT ゲートウェイを構成し、さらに構成を変更すると、確立された NAT 接続が切断される可能性があります。構成が変更されると、各 VM に現在割り当てられているポート数が構成された最小数に一時的にリセットされる場合があります。

  • 動的ポート割り当てを使用して Cloud NAT ゲートウェイを構成している場合、動的ポート割り当てを無効にすると、NAT ゲートウェイを使用するすべての VM 接続が終了します。

  • エンドポイントに依存しないマッピングが有効になっている場合、動的ポートの割り当てNAT ルールは構成できません。

始める前に

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

IAM 権限を取得する

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

Google Cloud の設定

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

  1. Google Cloud アカウントにログインします。Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
  2. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

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

  3. Cloud プロジェクトに対して課金が有効になっていることを確認します。詳しくは、プロジェクトで課金が有効になっているかどうかを確認する方法をご覧ください。

  4. Google Cloud CLI をインストールして初期化します。
  5. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

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

  6. Cloud プロジェクトに対して課金が有効になっていることを確認します。詳しくは、プロジェクトで課金が有効になっているかどうかを確認する方法をご覧ください。

  7. Google Cloud CLI をインストールして初期化します。

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

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

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

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

NAT の作成

シンプルな構成を作成する

この構成では、あるリージョンに NAT サービスを提供するために必要な外部 IP アドレスが自動的に割り振られます。リージョンのどのサブネットにも外部 IP アドレスを持たない VM インスタンスは、NAT 経由でインターネットにアクセスできます。この構成では静的ポートの割り当てが使用されます。つまり、各 VM に同じ数のポートが割り当てられます。この構成では、すべてのログタイプに対してロギングが有効になります。

NAT IP アドレスの自動割り振りを使用すると、Google Cloud によってプロジェクト内の IP アドレスが自動的に予約されます。これらのアドレスは、プロジェクトの静的 IP アドレス割り振りを減らします。

ゲートウェイのエンドポイントに依存しないマッピングを有効または無効にできます。設定については、エンドポイント マッピングの設定をご覧ください。

コンソール

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

    [Cloud NAT] に移動

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

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

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

  5. NAT ゲートウェイのリージョンを設定します。

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

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

  8. [Stackdriver Logging] で [変換とエラー] を選択します。これにより、すべてのログが Cloud Logging に送信されます。

  9. [作成] をクリックします。

gcloud

gcloud compute routers nats create NAT_CONFIG \
    --router=NAT_ROUTER \
    --auto-allocate-nat-external-ips \
    --nat-all-subnet-ip-ranges \
    --enable-logging

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

  • NAT_CONFIG: NAT 構成の名前
  • NAT_ROUTER: Cloud Router の名前

Terraform

Terraform モジュールを使用して、NAT ゲートウェイを持つ Cloud Router を作成できます。

module "cloud_router" {
  source  = "terraform-google-modules/cloud-router/google"
  version = "~> 0.4"
  project = var.project_id # Replace this with your project ID in quotes
  name    = "my-cloud-router"
  network = "default"
  region  = "us-central1"

  nats = [{
    name = "my-nat-gateway"
  }]
}

作成される NAT ゲートウェイは、次のデフォルト値を使用します。

enable_endpoint_independent_mapping = true
icmp_idle_timeout_sec               = 30
min_ports_per_vm                    = 0
nat_ip_allocate_option              = "AUTO_ONLY"
source_subnetwork_ip_ranges_to_nat  = "ALL_SUBNETWORKS_ALL_IP_RANGES"
tcp_established_idle_timeout_sec    = 1200
tcp_transitory_idle_timeout_sec     = 30
udp_idle_timeout_sec                = 30
log_config {
    enable = true
    filter = "ALL"
}

NAT の IP アドレスを指定する

NAT ゲートウェイに NAT IP アドレスを手動で割り振ることができます。手動割り振りを選択した場合は、パケットが破棄されないように十分な IP アドレスを割り当てるようにしてください。詳細については、NAT IP アドレスをご覧ください。

コンソール

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

    [Cloud NAT] に移動

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

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

  4. VPC ネットワークを選択します。

  5. NAT ゲートウェイのリージョンを設定します。

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

  7. [NAT IP アドレス] を [手動] に設定します。

  8. NAT に使用する予約された静的外部 IP アドレスを選択または作成します。

  9. 追加の IP アドレスを指定する場合は、[IP アドレスの追加] をクリックし、予約した静的外部 IP アドレスを選択または作成します。

  10. [作成] をクリックします。

gcloud

gcloud compute routers nats create NAT_CONFIG \
    --router=NAT_ROUTER \
    --nat-all-subnet-ip-ranges \
    --nat-external-ip-pool=IP_ADDRESS1,IP_ADDRESS2

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

  • NAT_CONFIG: NAT 構成の名前
  • NAT_ROUTER: Cloud Router の名前
  • IP_ADDRESS1: NAT に使用する静的外部 IP アドレス。
  • IP_ADDRESS2: NAT に使用する別の静的外部 IP アドレス

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

この構成では、動的ポート割り当てを使用し、NAT IP アドレスを自動的に割り振ります。NAT IP アドレスの手動割り振りを使用して、動的ポート割り当てを構成することもできます。

動的ポート割り当てを使用すると、NAT ゲートウェイは使用状況に応じて各 VM に異なる数のポートを割り当てます。

コンソール

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

    [Cloud NAT] に移動

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

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

  4. VPC ネットワークを選択します。

  5. NAT ゲートウェイのリージョンを設定します。

  6. [Cloud Router] を選択するか、[新しいルーターを作成] をクリックして新しいルーターを作成します。

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

  8. [動的ポートの割り当ての有効化] を選択します。

  9. [VM インスタンスあたりの最小ポート数] を選択します。デフォルト値は 32 です。

  10. [VM インスタンスあたりの最大ポート数] を選択します。デフォルト値は 65536 です。

  11. [作成] をクリックします。

gcloud

gcloud compute routers nats create NAT_CONFIG \
    --router=NAT_ROUTER \
    --auto-allocate-nat-external-ips \
    --nat-all-subnet-ip-ranges \
    --enable-dynamic-port-allocation \
    [ --min-ports-per-vm=MIN_PORTS ] \
    [ --max-ports-per-vm=MAX_PORTS ]

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

  • NAT_CONFIG: NAT 構成の名前。

  • NAT_ROUTER: Cloud Router の名前。

  • MIN_PORTS: 各 VM に割り当てるポートの最小数。動的ポート割り当てが有効な場合、MIN_PORTS2 の累乗数で、3232768 の範囲で指定する必要があります。デフォルトは 32 です。

  • MAX_PORTS: 各 VM に割り当てるポートの最大数。MAX_PORTS2 の累乗数にする必要があります。6465536 の範囲で指定できます。MAX_PORTS は、MIN_PORTS より大きくしてくださいデフォルトは 65536 です。

NAT のサブネット範囲を指定する

デフォルトでは、特定の VPC ネットワークのリージョン内で、すべてのサブネットのすべてのプライマリ IP 範囲とセカンダリ IP 範囲に対して NAT が機能します。NAT を使用できるプライマリおよびセカンダリ サブネット範囲を制限できます。

コンソール

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

    [Cloud NAT] に移動

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

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

  4. VPC ネットワークを選択します。

  5. NAT ゲートウェイのリージョンを設定します。

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

  7. [NAT マッピング] で、[ソース] を [カスタム] に設定します。

  8. サブネットを選択します。

  9. [IP 範囲] のプルダウン リストで、含めるサブネット IP 範囲を選択します。

  10. [OK] をクリックします。

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

  12. [作成] をクリックします。

gcloud

gcloud compute routers nats create NAT_CONFIG \
    --router=NAT_ROUTER \
    --auto-allocate-nat-external-ips \
    --nat-custom-subnet-ip-ranges=SUBNETS_RANGES_LIST

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

  • NAT_CONFIG: NAT 構成の名前
  • NAT_ROUTER: Cloud Router の名前
  • SUBNETS_RANGES_LIST: サブネット名のカンマ区切りリスト。例:
    • SUBNET_NAME_1,SUBNET_NAME_2: SUBNET_NAME_1SUBNET_NAME_2 のプライマリ サブネット範囲のみが含まれます。
    • SUBNET_NAME:SECONDARY_RANGE_NAME: サブネット SUBNET_NAME のセカンダリ範囲 SECONDARY_RANGE_NAME が含まれます。SUBNET_NAME のプライマリ範囲は含まれません。
    • SUBNET_NAME_1,SUBNET_NAME_2:SECONDARY_RANGE_NAME: SUBNET_NAME_1 のプライマリ範囲と、サブネット SUBNET_NAME_2 の指定されたセカンダリ範囲 SECONDARY_RANGE_NAME が含まれます。

NAT の VM ごとに異なるデフォルトの最小ポート数を指定する

Cloud NAT ゲートウェイが各 VM に予約するポートの数を構成できます。詳細については、ポートと接続をご覧ください。

コンソール

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

    [Cloud NAT] に移動

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

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

  4. VPC ネットワークを選択します。

  5. NAT ゲートウェイのリージョンを設定します。

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

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

  8. [VM インスタンスあたりの最小ポート数] に異なる値に設定します。

  9. [作成] をクリックします。

gcloud

gcloud compute routers nats create NAT_CONFIG \
    --router=NAT_ROUTER \
    --auto-allocate-nat-external-ips \
    --min-ports-per-vm=128

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

  • NAT_CONFIG: NAT 構成の名前
  • NAT_ROUTER: Cloud Router の名前

NAT に異なるタイムアウトを指定する

タイムアウトの詳細については、NAT タイムアウトをご覧ください。

コンソール

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

    [Cloud NAT] に移動

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

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

  4. VPC ネットワークを選択します。

  5. NAT ゲートウェイのリージョンを設定します。

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

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

  8. 必要に応じてタイムアウトを変更します。

  9. [作成] をクリックします。

gcloud

  • 次のコマンドを使用して、次のタイムアウトにカスタム値を設定し、NAT ゲートウェイを作成します。

    • UDP マッピングのアイドル タイムアウト
    • TCP 確立済み接続のアイドル タイムアウト
    • TCP 一時接続のアイドル タイムアウト
    • TCP TIME_WAIT タイムアウト
    • ICMP のマッピングのアイドル タイムアウト
    gcloud compute routers nats create NAT_CONFIG \
      --router=NAT_ROUTER \
      --auto-allocate-nat-external-ips \
      --nat-custom-subnet-ip-ranges=SUBNETS_RANGES_LIST \
      --udp-idle-timeout=60s \
      --tcp-established-idle-timeout=60s \
      --tcp-transitory-idle-timeout=60s \
      --tcp-time-wait-timeout=60s \
      --icmp-idle-timeout=60s
    

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

  • NAT_CONFIG: NAT 構成の名前
  • NAT_ROUTER: Cloud Router の名前
  • SUBNETS_RANGES_LIST: サブネット名のカンマ区切りリスト。例:
    • SUBNET_NAME_1,SUBNET_NAME_2: SUBNET_NAME_1SUBNET_NAME_2 のプライマリ サブネット範囲のみが含まれます。
    • SUBNET_NAME:SECONDARY_RANGE_NAME: サブネット SUBNET_NAME のセカンダリ範囲 SECONDARY_RANGE_NAME が含まれます。SUBNET_NAME のプライマリ範囲は含まれません。
    • SUBNET_NAME_1,SUBNET_NAME_2:SECONDARY_RANGE_NAME: SUBNET_NAME_1 のプライマリ範囲と、サブネット SUBNET_NAME_2 の指定されたセカンダリ範囲 SECONDARY_RANGE_NAME が含まれます。

NAT の更新

NAT に関連付けられたサブネットと IP アドレス リソースを変更する

コンソール

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

    [Cloud NAT] に移動

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

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

  4. [NAT マッピング] で、[ソース] を [カスタム] に設定します。

  5. サブネットを選択します。

  6. [IP 範囲] のプルダウン リストで、含めるサブネット IP 範囲を選択します。

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

  8. [NAT IP アドレス] プルダウン リストをクリックし、[自動] または [手動] を選択します。

  9. [手動] を選択した場合は、外部 IP アドレスを指定します。

  10. 高可用性のために手動 IP アドレスを使用する場合は、[IP アドレスの追加] をクリックし、2 つ目のアドレスを追加します。

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

gcloud

gcloud compute routers nats update NAT_CONFIG \
    --router=NAT_ROUTER \
    --nat-external-ip-pool=IP_ADDRESS2,IP_ADDRESS3 \
    --nat-custom-subnet-ip-ranges=SUBNETS_RANGES_LIST

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

  • NAT_CONFIG: NAT 構成の名前
  • NAT_ROUTER: Cloud Router の名前
  • IP_ADDRESS2: 手動外部 IP アドレス
  • IP_ADDRESS3: 別の手動外部 IP アドレス
  • SUBNETS_RANGES_LIST: サブネット名のカンマ区切りリスト。例:
    • SUBNET_NAME_1,SUBNET_NAME_2: SUBNET_NAME_1SUBNET_NAME_2 のプライマリ サブネット範囲のみが含まれます。
    • SUBNET_NAME:SECONDARY_RANGE_NAME: サブネット SUBNET_NAME のセカンダリ範囲 SECONDARY_RANGE_NAME が含まれます。SUBNET_NAME のプライマリ範囲は含まれません。
    • SUBNET_NAME_1,SUBNET_NAME_2:SECONDARY_RANGE_NAME: SUBNET_NAME_1 のプライマリ範囲と、サブネット SUBNET_NAME_2 の指定されたセカンダリ範囲 SECONDARY_RANGE_NAME が含まれます。

NAT に関連付けられた外部 IP アドレスの変更

特定のゲートウェイの外部 IP アドレスのリストを変更できます。その場合、Google Cloud は古いアドレスを削除し、新しいアドレスを追加します。古い IP アドレスに対する既存の接続は、直ちに終了します。これらの IP アドレスで新しい接続を禁止し、既存の接続を継続できるようにする場合は、NAT に関連付けられた外部 IP アドレスをドレインするをご覧ください。

コンソール

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

    [Cloud NAT] に移動

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

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

  4. [NAT IP アドレス] プルダウン リストをクリックし、[自動] または [手動] を選択します。

  5. [手動] を選択した場合は、外部 IP アドレスを指定します。

  6. 高可用性のために、[IP アドレスの追加] をクリックし、2 つ目のアドレスを追加します。

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

gcloud

gcloud compute routers nats update NAT_CONFIG \
    --router=NAT_ROUTER \
    --nat-external-ip-pool=IP_ADDRESS2,IP_ADDRESS3

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

  • NAT_CONFIG: NAT 構成の名前
  • NAT_ROUTER: Cloud Router の名前
  • IP_ADDRESS2: 手動外部 IP アドレス
  • IP_ADDRESS3: 別の手動外部 IP アドレス

NAT に関連付けられた外部 IP アドレスをドレインする

手動で構成した IP アドレスを削除する前に、そのアドレスをドレインすることで、既存の接続の中断を防ぐことができます。IP アドレスをドレインすると、既存の接続がすべて期限切れになるまで続行できます。ログを表示して、既存の接続のステータスを確認できます。

ドレインされた IP アドレスで新しい接続は許可されません。ただし、その IP アドレスは NAT 構成に関連付けられたままになります。

NAT 構成には少なくとも 1 つの有効なアドレスが必要です。つまり、構成内のすべての IP アドレスをドレインすることはできません。

NAT IP アドレスの状態を確認するには、NAT ステータスを表示します。

コンソール

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

    [Cloud NAT] に移動

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

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

  4. [NAT IP アドレス] で、IP アドレスの横にある [IP ドレイン] の値を [オン] に設定します。

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

gcloud

アドレスをドレインするには、同じコマンドでアドレスをアクティブ プールからドレインプールに移動する必要があります。1 つのコマンドでドレインプールに追加せずにアクティブ プールから削除すると、IP アドレスはサービスから削除され、既存の接続はすぐに終了します。

IP アドレスをドレインプールからアクティブ プールに移動すると、IP アドレスのドレインは取り消されます。両方のプールから NAT IP アドレスを削除すると、NAT 構成から IP アドレスの接続が切断されます。

このコマンドでは、NAT 構成の他のフィールドは変更されません。

gcloud compute routers nats update NAT_CONFIG \
    --router=NAT_ROUTER \
    --nat-external-ip-pool=IP_ADDRESS3 \
    --nat-external-drain-ip-pool=IP_ADDRESS2

ここで

  • --nat-external-ip-pool=IP_ADDRESS3: アクティブ プールを更新して、IP_ADDRESS2 を除外します。
  • --nat-external-drain-ip-pool=IP_ADDRESS2: IP_ADDRESS2 をドレインプールへ追加します。

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

  • NAT_CONFIG: NAT 構成の名前
  • NAT_ROUTER: Cloud Router の名前
  • IP_ADDRESS3: IP アドレス
  • IP_ADDRESS2: 別の IP アドレス

ポートの使用量を表示する

VM あたりの最小ポート使用量を変更する前に、VM あたりのポート使用量を確認します。この情報を得るには、compute.googleapis.com/nat/port_usage 指標を使用します。

コンソール

  1. [Monitoring] ページに移動します。

    [Monitoring] に移動

  2. ナビゲーション パネルで、Metrics Explorer を選択します。

  3. [指標を選択] メニューを開き、サブメニューを使用して compute.googleapis.com/nat/port_usage 指標を選択します。

    • リソースに [VM instance] を選択します。
    • 指標カテゴリに [Nat] を選択します。
    • 指標で [Port usage] を選択します。
  4. [Filters] フィールドを使用して、NAT ゲートウェイを選択します。

  5. [Group by] フィールドで [instance_id] を選択します。

  6. [Aggregator] フィールドを [max] に設定します。

  7. 詳細オプションで、[整列指定子] フィールドを [max] に設定します。

  8. 過去 30 日間の使用量を表示するには、右上のメニューで [1M] を選択します。

Metrics Explorer の使用方法の詳細については、Metrics Explorer 使用時に指標を選択するをご覧ください。

VM あたりの最小ポート数を選択する

NAT IP アドレスを最大限利用するには、適切な最小ポート数を選択することが重要です。

VM あたりのポート数を増やす前に、ポートの使用量を減らすために他の戦略を検討してください。

VM あたりのポート数を増やす必要がある場合は、まず、ゲートウェイでの VM あたりのポートの使用量を検討します。このデータを確認する方法については、ポートの使用量を表示するをご覧ください。

過去 30 日間の最大ポート使用量を確認するか、NAT ゲートウェイを表していると思われる別の期間の最大ポート使用量を確認します。

次のいずれかを行います。

  • 静的ポートの割り当てを使用している場合は、現在の最大ポート使用量と最小値が同じになるように VM あたりのポート数を構成します。

  • 動的ポートの割り当てを使用している場合は、最小値が最大ポート使用量よりも小さく、最大値が最大ポート使用量よりも高くなるように VM あたりのポート数を構成します。

NAT に関連付けられた VM ごとに割り当てられるデフォルトの最小ポート数を変更する

VM あたりの最小ポート数の構成方法の決定については、VM あたりの最小ポート数を選択するをご覧ください。

最小ポートの割り当ての変更による影響については、以下のセクションをご覧ください。

Cloud NAT ゲートウェイに動的ポート割り当てが構成されている場合は、動的ポート割り当てが構成されている場合に最小ポート数または最大ポート数を変更するをご覧ください。

コンソール

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

    [Cloud NAT] に移動

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

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

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

  5. [VM インスタンスあたりの最小ポート数] フィールドを変更します。

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

gcloud

このコマンドでは、NAT 構成の他のフィールドは変更されません。

gcloud compute routers nats update NAT_CONFIG \
    --router=NAT_ROUTER \
    --min-ports-per-vm=128

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

  • NAT_CONFIG: NAT 構成の名前
  • NAT_ROUTER: Cloud Router の名前

既存の NAT ゲートウェイを更新して動的ポート割り当てを使用する

静的ポート割り当て動的ポート割り当てでは、構成要件が異なります。

既存の NAT ゲートウェイで動的ポート割り当てを有効にする場合は、その前に NAT ゲートウェイの構成が動的ポート割り当てに対応していることを確認してください。構成が対応していないと、変更が失敗します。

コンソール

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

    [Cloud NAT] に移動

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

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

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

  5. [動的ポートの割り当ての有効化] を選択します。

  6. 必要に応じて、[VM インスタンスあたりの最小ポート数] と [VM インスタンスあたりの最大ポート数] の値を調整します。

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

gcloud

このコマンドでは、NAT 構成の他のフィールドは変更されません。

gcloud compute routers nats update NAT_CONFIG \
    --router=NAT_ROUTER \
    --enable-dynamic-port-allocation \
    [ --min-ports-per-vm=MIN_PORTS ] \
    [ --max-ports-per-vm=MAX_PORTS ]

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

  • NAT_CONFIG: NAT 構成の名前
  • NAT_ROUTER: Cloud Router の名前
  • MIN_PORTS: 各 VM に割り当てるポートの最小数。動的ポート割り当てが有効な場合、MIN_PORTS2 の累乗数で、3232768 の範囲で指定する必要があります。
  • MAX_PORTS: 各 VM に割り当てるポートの最大数。MAX_PORTS2 の累乗数にする必要があります。6465536 の範囲で指定できます。MAX_PORTS は、MIN_PORTS より大きくしてくださいデフォルトは 65536 です。

動的ポート割り当てが構成されている場合に最小ポート数または最大ポート数を変更する

動的ポート割り当てを構成した後は、VM ごとに割り当てられる最小ポート数または最大ポート数を変更できます。

VM あたりの最小ポート数の構成方法の決定については、VM あたりの最小ポート数を選択するをご覧ください。

最小ポートの割り当ての変更による影響については、以下のセクションをご覧ください。

コンソール

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

    [Cloud NAT] に移動

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

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

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

  5. [VM インスタンスあたりの最小ポート数] フィールドと [VM インスタンスあたりの最大ポート数] フィールドの値を調整します。

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

gcloud

このコマンドでは、NAT 構成の他のフィールドは変更されません。

gcloud compute routers nats update NAT_CONFIG \
    --router=NAT_ROUTER \
    --min-ports-per-vm=MIN_PORTS \
    --max-ports-per-vm=MAX_PORTS

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

  • NAT_CONFIG: NAT 構成の名前
  • NAT_ROUTER: Cloud Router の名前
  • MIN_PORTS: 各 VM に割り当てるポートの最小数。動的ポート割り当てが有効な場合、MIN_PORTS2 の累乗数で、3232768 の範囲で指定する必要があります。
  • MAX_PORTS: 各 VM に割り当てるポートの最大数。MAX_PORTS2 の累乗数にする必要があります。6465536 の範囲で指定できます。MAX_PORTS は、MIN_PORTS より大きくしてください

NAT に関連付けられた接続タイムアウトの変更

タイムアウトの詳細については、NAT タイムアウトをご覧ください。

コンソール

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

    [Cloud NAT] に移動

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

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

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

  5. タイムアウトを必要な値に修正します。

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

gcloud

  • 次のコマンドを使用して、次のタイムアウトを変更します。

    • UDP マッピングのアイドル タイムアウト
    • TCP 確立済み接続のアイドル タイムアウト
    • TCP 一時接続のアイドル タイムアウト
    • TCP TIME_WAIT タイムアウト
    • ICMP のマッピングのアイドル タイムアウト

    このコマンドでは、NAT 構成の他のフィールドは変更されません。

    gcloud compute routers nats update NAT_CONFIG \
      --router=NAT_ROUTER \
      --udp-idle-timeout=60s \
      --tcp-established-idle-timeout=60s \
      --tcp-transitory-idle-timeout=60s \
      --tcp-time-wait-timeout=60s \
      --icmp-idle-timeout=60s
    

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

  • NAT_CONFIG: NAT 構成の名前
  • NAT_ROUTER: Cloud Router の名前

関連付けられた NAT の接続タイムアウトをデフォルト値にリセットする

タイムアウトの詳細については、NAT タイムアウトをご覧ください。

コンソール

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

    [Cloud NAT] に移動

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

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

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

  5. リセットするユーザー定義の値をすべて削除します。

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

削除された値はデフォルト値にリセットされます。

gcloud

このコマンドでは、NAT 構成の他のフィールドは変更されません。

gcloud compute routers nats update NAT_CONFIG \
    --router=NAT_ROUTER \
    --clear-udp-idle-timeout \
    --clear-icmp-idle-timeout \
    --clear-tcp-established-idle-timeout \
    --clear-tcp-time-wait-timeout \
    --clear-tcp-transitory-idle-timeout

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

  • NAT_CONFIG: NAT ゲートウェイの名前
  • NAT_ROUTER: Cloud Router の名前

エンドポイント マッピングの設定

ゲートウェイのエンドポイントに依存しないマッピングを有効または無効にできます。デフォルトでは無効になっています。エンドポイントに依存しないマッピングを有効から無効(または無効から有効)に切り替えても、既存の接続は中断されません。

NAT ゲートウェイが NAT ルールまたは動的ポート割り当てを使用する場合は、エンドポイントに依存しないマッピングを有効にしないでください。

コンソール

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

    [Cloud NAT] に移動

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

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

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

  5. エンドポイントに依存しないマッピングを有効にするには、[エンドポイントに依存しないマッピングの有効化] チェックボックスをオンにします。エンドポイントに依存しないマッピングを無効にするには、チェックボックスをオフにします。

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

gcloud

既存のゲートウェイの更新

gcloud compute routers nats update NAT_CONFIG \
    --router=NAT_ROUTER \
    [--enable-endpoint-independent-mapping | --no-enable-endpoint-independent-mapping]

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

  • NAT_CONFIG: NAT 構成の名前
  • NAT_ROUTER: Cloud Router の名前

ロギングを構成する

既存のゲートウェイのロギングを追加(有効化)、変更、削除する方法については、ロギングの構成をご覧ください。

NAT の削除

これにより、Cloud Router から NAT 構成が削除されます。ルーター自体は削除されません。

コンソール

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

    [Cloud NAT] に移動

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

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

gcloud

gcloud compute routers nats delete NAT_CONFIG --router=NAT_ROUTER

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

  • NAT_CONFIG: NAT 構成の名前
  • NAT_ROUTER: Cloud Router の名前

NAT 構成を表示する

コンソール

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

    [Cloud NAT] に移動

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

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

gcloud

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

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

    gcloud compute routers nats describe NAT_CONFIG --router=NAT_ROUTER
    

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

    • NAT_CONFIG: NAT 構成の名前
    • NAT_ROUTER: Cloud Router の名前
  • 各 VM のインターフェースに割り当てられた IP とポート範囲のマッピングを表示します。

    gcloud compute routers get-nat-mapping-info NAT_ROUTER
    
  • Cloud NAT ゲートウェイのステータスを表示します。

    gcloud compute routers get-status NAT_ROUTER
    

割り当てと上限

割り当てと上限の詳細については、割り当てページをご覧ください。

設定例

次の例は、Google Cloud で Cloud NAT をテストする方法を示しています。

次のステップ