Public NAT でネットワーク アドレス変換を設定、管理する
このページでは、Public NAT を使用してネットワーク アドレス変換(NAT)を設定して管理する方法について説明します。Public NAT を設定する前に、Public NAT の概要をご覧ください。
制限事項
Cloud NAT ゲートウェイに自動的に割り振られた IP アドレスのネットワーク ティアを変更すると、以前に割り振られた IP アドレスのすべての接続がすぐに終了します。
NAT IP アドレスの手動割り振りを使用しているときに、Cloud NAT に使用している IP アドレスを変更すると、以前に割り振られた IP アドレスのすべての接続がすぐに終了します。これを回避する方法については、NAT に関連付けられた外部 IP アドレスをドレインするをご覧ください。
静的ポートの割り当てを使用して Cloud NAT ゲートウェイを構成している場合、仮想マシン(VM)インスタンスあたりの最小ポート数を減らすと、確立された NAT 接続が切断されることがあります。詳細については、VM あたりのポート数を減らすをご覧ください。
動的ポート割り当てを使用して Cloud NAT ゲートウェイを構成し、さらに構成を変更すると、確立された NAT 接続が切断されることがあります。構成が変更されると、各 VM に割り当てられているポート数が構成された最小数に一時的にリセットされる場合があります。詳細については、VM あたりのポート数を減らすをご覧ください。
動的ポート割り当てを使用して Cloud NAT ゲートウェイを構成している場合、動的ポート割り当てを無効にすると、NAT ゲートウェイを使用するすべての VM 接続が終了します。詳細については、ポートの割り当て方式を切り替えるをご覧ください。
エンドポイントに依存しないマッピングが有効になっている場合、動的ポートの割り当てや NAT ルールは構成できません。
Cloud NAT は IP フラグメントをサポートしていません。
Cloud NAT 構成は Virtual Private Cloud(VPC)ネットワークに関連付けられています。そのため、構成はそのネットワークのサブネットに属するすべてのリソースに適用されます。Cloud NAT ゲートウェイで処理する VM を指定することはできません。
IPv6 から IPv4 への変換(プレビュー)は、次のマシンシリーズの Compute Engine VM インスタンスでのみ使用できます。
- 第 2 世代以前のすべてのシリーズ
- M3 シリーズ
詳細については、Compute Engine の用語をご覧ください。
Google Kubernetes Engine(GKE)ノード、サーバーレス エンドポイント、リージョン インターネット ネットワーク エンドポイント グループ(NEG)の場合、Public NAT は IPv4 アドレスのみを変換します。 Google Cloud のどのサービスに IPv6 のみのサポートが含まれているかについては、 Google Cloudの IPv6 サポートをご覧ください。
始める前に
Public NAT を設定する前に、次の操作を行います。
IAM 権限を取得する
コンピューティング ネットワーク管理者のロール(roles/compute.networkAdmin
)には、Public NAT の構成に必要な権限が含まれています。
環境を準備する
Google Cloud コンソールまたは gcloud CLI を使用して Public NAT を設定するかどうかに応じて、 Google Cloudで次のリソースを構成します。
コンソール
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine API.
gcloud
- 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.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine API:
gcloud services enable compute.googleapis.com
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine API:
gcloud services enable compute.googleapis.com
DNS64 を構成する
IPv6 から IPv4 への変換(NAT64)を使用する場合は、DNS64 を構成する必要があります。Cloud DNS で DNS64 を構成するには、DNS64 を構成するの手順に沿ってください。
IPv4 トラフィックにのみ Cloud NAT を使用する場合は、この手順をスキップします。
Public NAT を構成する
Public NAT を構成するには、ソース VPC ネットワークに Cloud NAT ゲートウェイを作成します。各ゲートウェイは、1 つの VPC ネットワーク、リージョン、Cloud Router に関連付けられます。Cloud NAT は、NAT 構成情報のグループ化にのみ Cloud Router を使用し、Cloud Router に Border Gateway Protocol の使用やルートの追加を指示することはありません。NAT トラフィックは Cloud Router を通過しません。
Cloud NAT ゲートウェイを作成するときに、次の設定を構成できます。
設定 | サポートされるオプション | 説明 |
---|---|---|
ソース エンドポイントのタイプ |
|
デフォルトでは、Public NAT は VM インスタンス、GKE ノード、サーバーレス エンドポイントに NAT サービスを提供します。これらのリソースに Cloud NAT ゲートウェイを作成するには、次のセクションの手順を実施します。 リージョン インターネット NEG の Cloud NAT ゲートウェイを作成するには、次の「Cloud NAT ゲートウェイを設定する」をご覧ください。
Cloud NAT がサポートする Google Cloud リソースの一覧については、Cloud NAT の概要をご覧ください。 |
ソース IP バージョン |
|
Public NAT は、IPv4 から IPv4 への変換と IPv6 から IPv4 への変換をサポートしています。NAT64 を構成する場合は(プレビュー)、DNS64 を構成する必要もあります。
|
ソースのサブネット | IPv4 トラフィックの場合:
IPv6 トラフィックの場合:
|
Public NAT は、指定した VPC ネットワークのリージョンで次のサブネット範囲をサポートします。
|
IP アドレスの割り振り |
|
デフォルトでは、Public NAT は NAT IP アドレスの自動割り振りを使用します。この構成では、あるリージョンに NAT サービスを提供するために必要な外部 IP アドレスが自動的に割り振られます。リージョンのどのサブネットにも外部 IP アドレスを持たない VM インスタンスは、NAT 経由でインターネットにアクセスできます。NAT IP アドレスの自動割り振りを使用すると、 Google Cloud はプロジェクト内の IP アドレスを予約します。これらのアドレスは、プロジェクトの静的 IP アドレス割り振りを消費します。 Cloud NAT ゲートウェイに NAT IP アドレスを手動で割り振ることができます。手動割り振りを選択した場合は、パケットが破棄されないように十分な IP アドレスを割り当てるようにしてください。 詳細については、Public NAT IP アドレスをご覧ください。 |
ネットワーク ティア |
|
Public NAT を使用すると、Cloud NAT ゲートウェイが外部 IP アドレスを割り振る Network Service Tiers を指定できます。デフォルトでは、ネットワーク ティアは現在のプロジェクト レベルのティアに設定されています。
|
高度な構成 |
|
デフォルトでは、Public NAT では静的ポートの割り当てが使用されます。つまり、各 VM に同じ数のポートが割り当てられます。動的ポートの割り当ては、NAT IP アドレスの自動割り振りまたは手動割り振りで構成できます。動的ポート割り当てを使用すると、Cloud NAT ゲートウェイは使用状況に応じて各 VM に異なる数のポートを割り当てます。Cloud NAT ゲートウェイが NAT ルールまたは動的ポートの割り当てを使用する場合、エンドポイントに依存しないマッピングを有効化できません。 ロギングはデフォルトで無効になっています。NAT タイムアウトとそのデフォルト値については、NAT タイムアウトをご覧ください。 |
Cloud NAT ゲートウェイを作成する
コンソール
Google Cloud コンソールで、[Cloud NAT] ページに移動します。
最初の Cloud NAT ゲートウェイの場合は [開始]、それ以降のゲートウェイの場合は [Cloud NAT ゲートウェイの作成] をクリックします。
[ゲートウェイの名前] フィールドに、ゲートウェイの名前を入力します。
[NAT タイプ] で、[Public] を選択します。
[Cloud Router の選択] セクションで、次の構成を行います。
- [ネットワーク] フィールドで、ゲートウェイを作成する VPC ネットワークを選択します。
- [リージョン] フィールドで、ゲートウェイのリージョンを設定します。
- [Cloud Router] フィールドで、リージョンの Cloud Router を選択または作成します。
[Cloud NAT マッピング] セクションの [ソース エンドポイントのタイプ] で、[VM インスタンス、GKE ノード、サーバーレス] オプションが選択されていることを確認します。
[ソース IP バージョン] フィールドでソース IP バージョンを選択し、Cloud NAT を使用するソースのサブネット範囲を構成します。
- IPv4 サブネット範囲の場合は、[ソースのサブネット] フィールドで次のいずれかを選択します。
- リージョン内のすべてのサブネットのプライマリ IP 範囲とセカンダリ IP 範囲に Cloud NAT を使用するには、[Primary and secondary IP ranges for all subnets] を選択します。
- プライマリ IP 範囲にのみ Cloud NAT を使用するには、[Primary IP ranges for all subnets] を選択します。
- Cloud NAT を使用できるサブネット IP 範囲を制限するには、[カスタム] を選択し、次の操作を行います。
- [サブネット] セクションで、サブネットを選択します。
- [IP 範囲] リストで、含めるサブネット IP 範囲を選択し、[OK] をクリックします。
- 省略可: 追加の範囲を指定する場合は、[サブネットと IP 範囲の追加] をクリックして別のサブネットを追加します。
- IPv6 サブネット範囲の場合は、[ソースのサブネット] フィールドで次のいずれかを選択します。
- リージョン内のすべてのサブネットの内部 IP 範囲と外部 IP 範囲に Cloud NAT を使用するには、[すべてのサブネット] を選択します。
- Cloud NAT を使用できるサブネットを制限するには、[カスタム] を選択し、次の操作を行います。
- [サブネット] セクションで、サブネットを選択します。
- 省略可: サブネットをさらに指定する場合は、[サブネットを追加] をクリックして別のサブネットを追加します。
- IPv4 サブネット範囲の場合は、[ソースのサブネット] フィールドで次のいずれかを選択します。
次のいずれかを選択して、NAT IP アドレスの割り振りタイプとネットワーク ティアを構成します。
- NAT IP アドレスの自動割り振りを使用する手順は次のとおりです。
- [Cloud NAT IP アドレス] リストで、[自動(推奨)] を選択します。
- [ネットワーク サービス ティア] で、[プレミアム] と [スタンダード] のどちらかを選択します。
- 手動 NAT IP アドレス割り振りを使用する手順は次のとおりです。
- [Cloud NAT IP アドレス] リストで、[手動] を選択します。
- [ネットワーク サービス ティア] で、[プレミアム] と [スタンダード] のどちらかを選択します。
- NAT に使用する予約された静的外部 IP アドレスを選択または作成します。
- 追加の IP アドレスを指定する場合は、[IP アドレスを追加] をクリックし、予約した静的外部 IP アドレスを選択または作成します。
- 省略可: カスタム NAT ルールを作成する場合は、[Cloud NAT ルール] セクションを構成します。手順については、NAT ルールを作成するをご覧ください。
- NAT IP アドレスの自動割り振りを使用する手順は次のとおりです。
省略可: [高度な構成] セクションで、次のいずれかの設定を調整します。
- ロギングを構成するかどうか。デフォルトでは、[ロギングなし] が選択されています。
- Cloud NAT がポートを割り当てる方法を変更するかどうか。デフォルトでは、[動的ポートの割り当てを有効にする] は選択されていません。
静的ポートの割り当ての場合、[VM インスタンスあたりの最小ポート数] フィールドは
64
に設定されます。- 静的ポートの割り当てで VM インスタンスあたりの最小ポート数を更新するには、[VM インスタンスあたりの最小ポート数] フィールドに値を指定します。この値は
2
~57344
に設定できます。 - 動的ポートの割り当てを構成するには、[動的ポートの割り当てを有効にする] を選択し、[VM インスタンスあたりの最小ポート数] フィールド(デフォルトは
32
)と [VM インスタンスあたりの最大ポート数] フィールド(デフォルトは65536
)の値を選択します。
- 静的ポートの割り当てで VM インスタンスあたりの最小ポート数を更新するには、[VM インスタンスあたりの最小ポート数] フィールドに値を指定します。この値は
- プロトコル接続の NAT タイムアウトを更新するかどうか。これらのタイムアウトとそのデフォルト値については、NAT タイムアウトをご覧ください。
[作成] をクリックします。
gcloud
Cloud NAT ゲートウェイを作成するには、gcloud compute routers nats create
コマンドを使用します。すべての構成オプションをデフォルト値に設定して Cloud NAT ゲートウェイを作成することも、ゲートウェイ構成をカスタマイズすることもできます。
デフォルト設定で Cloud NAT ゲートウェイを作成する
Cloud NAT ゲートウェイを使用するリージョンに Cloud Router を作成します。Cloud NAT ゲートウェイを作成するには、この Cloud Router が必要です。
NAT を構成するソースのサブネット範囲の IP バージョンに応じて、次のいずれかのコマンドを実行して Cloud NAT ゲートウェイを作成します。
IPv4 サブネット範囲に Cloud NAT を構成します。
gcloud compute routers nats create NAT_CONFIG \ --router=NAT_ROUTER \ --region=REGION \ --nat-all-subnet-ip-ranges \ --auto-allocate-nat-external-ips
この構成により、リージョン内の IPv4 のみのサブネットとデュアルスタック サブネットのすべての IPv4 サブネット範囲で NAT が有効になります。
IPv6 サブネット範囲に Cloud NAT を構成します(プレビュー)。
gcloud compute routers nats create NAT_CONFIG \ --router=NAT_ROUTER \ --region=REGION \ --nat64-all-v6-subnet-ip-ranges \ --auto-allocate-nat-external-ips
この構成により、リージョン内の IPv6 のみのサブネットとデュアルスタック サブネットのすべての IPv6 サブネット範囲で NAT が有効になります。
IPv4 サブネット範囲と IPv6 サブネット範囲の両方に Cloud NAT を構成します(プレビュー)。
gcloud compute routers nats create NAT_CONFIG \ --router=NAT_ROUTER \ --region=REGION \ --nat-all-subnet-ip-ranges \ --nat64-all-v6-subnet-ip-ranges \ --auto-allocate-nat-external-ips
この構成により、リージョン内の IPv4 のみ、デュアルスタック、IPv6 のみのサブネットのすべての IPv4 サブネット範囲と IPv6 サブネット範囲で NAT が有効になります。
次のように置き換えます。
NAT_CONFIG
: NAT 構成の名前NAT_ROUTER
: 前の手順で作成した Cloud Router の名前REGION
: Cloud NAT ゲートウェイを使用するリージョン
Cloud NAT ゲートウェイの構成設定をカスタマイズする
Cloud NAT ゲートウェイを作成するときに、デフォルト構成をカスタマイズできます。使用できるフラグの完全なリストについては、gcloud compute routers nats create
コマンドをご覧ください。
IPv6 サブネット範囲の Cloud NAT ゲートウェイは、Compute Engine VM インスタンスに NAT64 を構成する場合にのみ作成します。GKE ノード、サーバーレス エンドポイント、リージョン インターネット NEG の場合、Public NAT は IPv4 アドレスのみを変換します。
Cloud NAT ゲートウェイを作成します。
Cloud NAT ゲートウェイを使用するリージョンに Cloud Router を作成します。Cloud NAT ゲートウェイを作成するには、この Cloud Router が必要です。
カスタマイズする各パラメータを指定して、Cloud NAT ゲートウェイを作成します。
次の例は、ソースのサブネット、NAT IP アドレスの割り振りタイプ、ネットワーク ティア、ポートの割り当てタイプをカスタマイズする方法を示しています。
これらの例のそれぞれで実行するコマンドは、NAT を構成するソースのサブネット範囲の IP バージョンによって異なります。
NAT を使用できるソースのサブネットを制限する。NAT を使用できるサブネットとサブネット範囲を制限する Cloud NAT ゲートウェイを作成するには、次のいずれかのコマンドを実行します。
NAT を使用できる IPv4 のサブネット範囲を制限します。
gcloud compute routers nats create NAT_CONFIG \ --router=NAT_ROUTER \ --region=REGION \ --nat-custom-subnet-ip-ranges=IPV4_SUBNET_RANGES \ --auto-allocate-nat-external-ips
NAT を使用できる IPv6 のサブネット範囲を制限します(プレビュー)。
gcloud compute routers nats create NAT_CONFIG \ --router=NAT_ROUTER \ --region=REGION \ --nat64-custom-v6-subnet-ip-ranges=IPV6_SUBNET_RANGES \ --auto-allocate-nat-external-ips
IPv4 と IPv6 の両方のサブネット範囲を制限します(プレビュー)。
gcloud compute routers nats create NAT_CONFIG \ --router=NAT_ROUTER \ --region=REGION \ --nat-custom-subnet-ip-ranges=IPV4_SUBNET_RANGES \ --nat64-custom-v6-subnet-ip-ranges=IPV6_SUBNET_RANGES \ --auto-allocate-nat-external-ips
次のように置き換えます。
NAT_CONFIG
: NAT 構成の名前NAT_ROUTER
: 前の手順で作成した Cloud Router の名前REGION
: Cloud NAT ゲートウェイを使用するリージョンIPV4_SUBNET_RANGES
: サブネット名のカンマ区切りリスト。例:SUBNET_NAME_1:ALL,SUBNET_NAME_2:ALL
: サブネットSUBNET_NAME_1
およびSUBNET_NAME_2
の プライマリ サブネット範囲とすべてのセカンダリ サブネット範囲の両方が含まれます。SUBNET_NAME_1,SUBNET_NAME_2
: サブネットSUBNET_NAME_1
およびSUBNET_NAME_2
のプライマリ範囲のみが含まれます。SUBNET_NAME:SECONDARY_RANGE_NAME
: サブネットSUBNET_NAME
の指定されたセカンダリ範囲が含まれますが、プライマリ範囲は含まれません。SUBNET_NAME_1,SUBNET_NAME_2:SECONDARY_RANGE_NAME
: サブネットSUBNET_NAME_1
のプライマリ範囲と、サブネットSUBNET_NAME_2
の指定されたセカンダリ範囲が含まれます。
IPV6_SUBNET_RANGES
: サブネット名のカンマ区切りリスト(例:SUBNET_NAME_1,SUBNET_NAME_2
)
手動 NAT IP アドレスの割り振りを構成する。手動の NAT IP アドレスの割り振りで Cloud NAT ゲートウェイを作成するには、次のいずれかのコマンドを実行します。
IPv4 サブネット範囲の場合:
gcloud compute routers nats create NAT_CONFIG \ --router=NAT_ROUTER \ --region=REGION \ --nat-all-subnet-ip-ranges \ --nat-external-ip-pool=IP_ADDRESS_1,IP_ADDRESS_2
IPv6 サブネット範囲の場合 (プレビュー):
gcloud compute routers nats create NAT_CONFIG \ --router=NAT_ROUTER \ --region=REGION \ --nat64-all-v6-subnet-ip-ranges \ --nat-external-ip-pool=IP_ADDRESS_1,IP_ADDRESS_2
IPv4 サブネット範囲と IPv6 サブネット範囲のゲートウェイを作成する場合は、このコマンドで
--nat-all-subnet-ip-ranges
フラグと--nat64-all-v6-subnet-ip-ranges
フラグの両方を指定します。
次のように置き換えます。
NAT_CONFIG
: NAT 構成の名前NAT_ROUTER
: 前の手順で作成した Cloud Router の名前REGION
: Cloud NAT ゲートウェイを使用するリージョンIP_ADDRESS_1
とIP_ADDRESS_2
: NAT に使用する予約済み静的外部 IP アドレス--nat-external-ip-pool
フラグを使用する場合は、1 つ以上の IP アドレスを指定できます。
ネットワーク ティアを指定する。Cloud NAT ゲートウェイが外部 IP アドレスを割り振るネットワーク ティアを指定するには、次のいずれかのコマンドを実行します。
IPv4 サブネット範囲の場合:
gcloud compute routers nats create NAT_CONFIG \ --router=NAT_ROUTER \ --region=REGION \ --nat-all-subnet-ip-ranges \ --auto-allocate-nat-external-ips \ --auto-network-tier=AUTO_NETWORK_TIER
IPv6 サブネット範囲の場合 (プレビュー):
gcloud compute routers nats create NAT_CONFIG \ --router=NAT_ROUTER \ --region=REGION \ --nat64-all-v6-subnet-ip-ranges \ --auto-allocate-nat-external-ips \ --auto-network-tier=AUTO_NETWORK_TIER
IPv4 サブネット範囲と IPv6 サブネット範囲のゲートウェイを作成する場合は、このコマンドで
--nat-all-subnet-ip-ranges
フラグと--nat64-all-v6-subnet-ip-ranges
フラグの両方を指定します。
次のように置き換えます。
NAT_CONFIG
: NAT 構成の名前NAT_ROUTER
: 前の手順で作成した Cloud Router の名前REGION
: Cloud NAT ゲートウェイを使用するリージョンAUTO_NETWORK_TIER
: Cloud NAT ゲートウェイの IP アドレスを自動的に割り振るときに使用するネットワーク ティア。指定できる値はPREMIUM
、STANDARD
です。指定しない場合、現在のプロジェクト レベルのデフォルト ティアが Cloud NAT ゲートウェイに関連付けられます。NAT IP アドレスの手動割り振りでネットワーク ティアを指定することもできます。ゲートウェイに複数の IP アドレスを割り当てる場合は、割り当てる IP アドレスはすべて同じネットワーク ティアのものにする必要があります。
動的ポートの割り当てを構成する。動的ポート割り当てで Cloud NAT ゲートウェイを作成するには、次のいずれかのコマンドを実行します。
IPv4 サブネット範囲の場合:
gcloud compute routers nats create NAT_CONFIG \ --router=NAT_ROUTER \ --region=REGION \ --nat-all-subnet-ip-ranges \ --auto-allocate-nat-external-ips \ --enable-dynamic-port-allocation \ [--min-ports-per-vm=MIN_PORTS ] \ [--max-ports-per-vm=MAX_PORTS ]
IPv6 サブネット範囲の場合 (プレビュー):
gcloud compute routers nats create NAT_CONFIG \ --router=NAT_ROUTER \ --region=REGION \ --nat64-all-v6-subnet-ip-ranges \ --auto-allocate-nat-external-ips \ --enable-dynamic-port-allocation \ [--min-ports-per-vm=MIN_PORTS ] \ [--max-ports-per-vm=MAX_PORTS ]
IPv4 サブネット範囲と IPv6 サブネット範囲のゲートウェイを作成する場合は、このコマンドで
--nat-all-subnet-ip-ranges
フラグと--nat64-all-v6-subnet-ip-ranges
フラグの両方を指定します。
次のように置き換えます。
NAT_CONFIG
: NAT 構成の名前NAT_ROUTER
: 前の手順で作成した Cloud Router の名前REGION
: Cloud NAT ゲートウェイを使用するリージョン- 省略可:
MIN_PORTS
: 各 VM に割り当てるポートの最小数。動的ポート割り当てが有効になっている場合、MIN_PORTS
は2
の累乗数でなければならず、32
~32768
の範囲で指定する必要があります。デフォルト値は32
です。 - 省略可:
MAX_PORTS
: 各 VM に割り当てるポートの最大数。MAX_PORTS
は2
の累乗数にする必要があります。64
~65536
の範囲で指定できます。MAX_PORTS
は、MIN_PORTS
より大きくしてくださいデフォルト値は65536
です。
Terraform
Terraform モジュールを使用して、IPv4 トラフィック用の NAT ゲートウェイを持つ Cloud Router を作成できます。
作成される 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" }
Public NAT の構成を表示する
コンソール
Google Cloud コンソールで、[Cloud NAT] ページに移動します。
NAT ゲートウェイの詳細、マッピング情報、構成の詳細を表示するには、NAT ゲートウェイの名前をクリックします。
NAT ステータスを表示するには、NAT ゲートウェイの [ステータス] 列を確認します。
gcloud
NAT 構成の詳細を表示するには、次のコマンドを実行します。
Public 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
Public NAT ゲートウェイのステータスを表示します。
gcloud compute routers get-status ROUTER_NAME \ --region=REGION
Cloud NAT ゲートウェイに割り当てられた外部 IP アドレスを表示する
自動的に追加された NAT IP アドレスを確認するには、静的外部 IP アドレスのリストをご覧ください。これらのアドレスはプロジェクトごとの割り当てに反映されません。
コンソール
Google Cloud コンソールで、[IP アドレス] ページに移動してから、[外部 IP アドレス] をクリックします。
gcloud
割り振られたすべての NAT IP アドレスを一覧表示するには、次のコマンドを使用します。
gcloud compute routers get-nat-ip-info NAT_ROUTER \ --region=REGION
その他の例については、gcloud compute routers get-nat-ip-info
コマンドをご覧ください。
Public NAT の構成を更新する
Cloud NAT ゲートウェイを設定したら、要件に基づいてゲートウェイ構成を更新できます。以降のセクションでは、Cloud NAT ゲートウェイを更新するために実施できるタスクを示します。
NAT で構成されたサブネットを更新する
コンソール
Google Cloud コンソールで、[Cloud NAT] ページに移動します。
Cloud NAT ゲートウェイをクリックします。
[
編集] をクリックします。[NAT マッピング] で、[ソースのサブネット] を [カスタム] に設定します。
サブネットを選択します。
[IP 範囲] リストで、含めるサブネット IP 範囲を選択します。
追加の範囲を指定する場合は、[サブネットと IP 範囲の追加] をクリックします。
[保存] をクリックします。
gcloud
gcloud compute routers nats update
コマンドを使用します。
既存の Cloud NAT ゲートウェイのソースのサブネット範囲を更新するには、更新するサブネット範囲の IP バージョンに応じて、次のいずれかのコマンドを実行します。
以下のとおり、IPv4 サブネット範囲を更新します。
gcloud compute routers nats update NAT_CONFIG \ --router=NAT_ROUTER \ --region=REGION \ --nat-custom-subnet-ip-ranges=IPV4_SUBNET_RANGES
IPv6 サブネット範囲を更新します(プレビュー)。
gcloud compute routers nats update NAT_CONFIG \ --router=NAT_ROUTER \ --region=REGION \ --nat64-custom-v6-subnet-ip-ranges=IPV6_SUBNET_RANGES
以下のとおり、IPv4 と IPv6 のサブネット範囲の両方を更新します(プレビュー)。
gcloud compute routers nats update NAT_CONFIG \ --router=NAT_ROUTER \ --region=REGION \ --nat-custom-subnet-ip-ranges=IPV4_SUBNET_RANGES \ --nat64-custom-v6-subnet-ip-ranges=IPV6_SUBNET_RANGES
次のように置き換えます。
NAT_CONFIG
: NAT 構成の名前NAT_ROUTER
: Cloud Router の名前REGION
: NAT ゲートウェイのリージョン。IPV4_SUBNET_RANGES
: サブネット名のカンマ区切りリスト。例:SUBNET_NAME_1:ALL,SUBNET_NAME_2:ALL
: サブネットSUBNET_NAME_1
およびSUBNET_NAME_2
の プライマリ サブネット範囲とすべてのセカンダリ サブネット範囲の両方が含まれます。SUBNET_NAME_1,SUBNET_NAME_2
: サブネットSUBNET_NAME_1
およびSUBNET_NAME_2
のプライマリ範囲のみが含まれます。SUBNET_NAME:SECONDARY_RANGE_NAME
: サブネットSUBNET_NAME
の指定されたセカンダリ範囲が含まれますが、プライマリ範囲は含まれません。SUBNET_NAME_1,SUBNET_NAME_2:SECONDARY_RANGE_NAME
: サブネットSUBNET_NAME_1
のプライマリ範囲と、サブネットSUBNET_NAME_2
の指定されたセカンダリ範囲が含まれます。
IPV6_SUBNET_RANGES
: サブネット名のカンマ区切りリスト(例:SUBNET_NAME_1,SUBNET_NAME_2
)
NAT からサブネットを削除する
Cloud NAT ゲートウェイから使用していないサブネットを削除できます。
コンソール
Google Cloud コンソールで、[Cloud NAT] ページに移動します。
Cloud NAT ゲートウェイをクリックします。
[
編集] をクリックします。NAT マッピングから削除するサブネットを削除します。
[保存] をクリックします。
gcloud
gcloud compute routers nats update
コマンドを使用します。
削除できるのは、IPv4 または IPv6 のどちらかのサブネット範囲のみです。両方を削除することはできません。
次の例では、IPv6 サブネット範囲の NAT を無効にします。
gcloud compute routers nats update NAT_CONFIG \ --router=NAT_ROUTER \ --region=REGION \ --clear-nat64-subnet-ip-ranges
次のように置き換えます。
NAT_CONFIG
: NAT 構成の名前NAT_ROUTER
: Cloud Router の名前REGION
: NAT ゲートウェイのリージョン。
NAT に割り当てられた外部 IP アドレスを更新する
特定のゲートウェイの外部 IP アドレスのリストを変更できます。また、IP の手動割り当てから IP の自動割り振りに切り替えることもできます。その場合、 Google Cloud により以前に割り振られた IP アドレスが削除され、新しいアドレスが追加されます。以前に割り振られた IP アドレスに対する既存の接続は直ちに終了します。これらの IP アドレスで新しい接続を禁止しながら、既存の接続を継続できるようにするには、このドキュメントの NAT に関連付けられた外部 IP アドレスをドレインするのセクションをご覧ください。
コンソール
Google Cloud コンソールで、[Cloud NAT] ページに移動します。
Cloud NAT ゲートウェイをクリックします。
[
編集] をクリックします。[NAT IP アドレス] リストをクリックしてから、[自動] または [手動] を選択します。
[手動] を選択した場合は、外部 IP アドレスを指定します。
高可用性のために、[IP アドレスの追加] をクリックし、2 つ目のアドレスを追加します。
[保存] をクリックします。
gcloud
gcloud compute routers nats update
コマンドを使用します。
gcloud compute routers nats update NAT_CONFIG \ --router=NAT_ROUTER \ --region=REGION \ --nat-external-ip-pool=IP_ADDRESS_1,IP_ADDRESS_2
次のように置き換えます。
NAT_CONFIG
: NAT 構成の名前。NAT_ROUTER
: Cloud Router の名前。REGION
: 更新する NAT のリージョン。指定しない場合、リージョンの選択を求められる場合があります(インタラクティブ モードのみ)。IP_ADDRESS_1
: 手動外部 IP アドレス。IP_ADDRESS_2
: 別の手動外部 IP アドレス。
別のネットワーク ティアから外部 IP アドレスを使用して NAT を更新する
既存の Cloud NAT ゲートウェイを更新するには、ゲートウェイに関連付けられた外部 IP アドレスのネットワーク ティアを変更します。
自動で割り振られた外部 IP アドレスのネットワーク ティアを変更して NAT を更新する
既存の Cloud NAT ゲートウェイに関連付けられている自動割り振りされた外部 IP アドレスのネットワーク ティアを変更すると、Google Cloud は以前に割り振られた IP アドレスを削除し、指定されたネットワーク ティアの IP アドレスに置き換えます。以前に割り振られた IP アドレスに対する既存の接続は直ちに終了します。
コンソール
Google Cloud コンソールで、[Cloud NAT] ページに移動します。
IP アドレスが自動的に割り振られた Cloud NAT ゲートウェイの名前をクリックします。
[
編集] をクリックします。[ネットワーク サービス ティア] で、[プレミアム] と [スタンダード] のどちらかを選択します。
[保存] をクリックします。
gcloud
gcloud compute routers nats update
コマンドを使用します。
gcloud compute routers nats update NAT_CONFIG \ --router=NAT_ROUTER \ --region=REGION \ --auto-allocate-nat-external-ips --auto-network-tier=AUTO_NETWORK_TIER
次のように置き換えます。
NAT_CONFIG
: NAT 構成の名前NAT_ROUTER
: Cloud Router の名前REGION
: 作成する NAT のリージョン。指定しない場合、リージョンの選択を求められる場合があります(インタラクティブ モードのみ)。AUTO_NETWORK_TIER
: Cloud NAT ゲートウェイの IP アドレスを自動的に割り振るときに使用するネットワーク ティア。指定できる値はPREMIUM
、STANDARD
です。指定しない場合、現在のプロジェクト レベルのデフォルト ティアが Cloud NAT ゲートウェイに関連付けられます。
手動で割り当てられた IP アドレスのネットワーク ティアを変更して NAT を更新する
別のティアから外部 IP アドレスを手動で指定することで、既存の NAT を更新できます。特定の条件に従って、スタンダード ティア、プレミアム ティア、またはその両方から外部 IP アドレスを割り当てることができます。別のティアから外部 IP アドレスを指定する前に、既存の IP アドレスをドレインして、既存の接続を継続できるようにし、既存の IP アドレスでの新しい接続を防ぎます。
コンソール
Google Cloud コンソールで、[Cloud NAT] ページに移動します。
IP アドレスが手動で割り当てられた Cloud NAT ゲートウェイの名前をクリックします。
[
編集] をクリックします。選択されているティアと異なるティアから IP アドレスを指定するには、既存の IP アドレスをすべて削除するか、既存のすべての IP アドレスのドレインを有効にします。
既存の IP アドレスでドレインが無効になっている場合は、ネットワーク ティアを変更できません。
[ネットワーク サービス ティア] で、[プレミアム] と [スタンダード] のどちらかを選択します。
アクティブで使用可能な IP アドレスのリストから外部 IP アドレスを選択します。
省略可: 追加の IP アドレスを追加するには、[IP アドレスを追加] をクリックします。
[保存] をクリックします。
gcloud
現在の外部 IP アドレスを別のネットワーク階層に属する新しい IP アドレスに手動で変更することで、既存のゲートウェイを更新するには、gcloud compute routers nats update
コマンドの --nat-external-ip-pool
フラグを使用します。
既存の外部 IP アドレスを手動で変更する詳細については、NAT に関連付けられた外部 IP アドレスを更新するをご覧ください。
NAT に割り当てられた外部 IP アドレスをドレインする
手動で構成した IP アドレスを削除する前に、そのアドレスをドレインすることで、既存の接続の中断を防ぐことができます。IP アドレスをドレインすると、既存の接続はすべて自然と期限切れになるまで続行されます。ログを表示して、既存の接続のステータスを確認できます。
ドレインされた IP アドレスで新しい接続は許可されません。ただし、その IP アドレスは NAT 構成に関連付けられたままになります。
NAT 構成には少なくとも 1 つの有効なアドレスが必要です。つまり、構成内のすべての IP アドレスをドレインすることはできません。
NAT IP アドレスの状態を確認するには、Public NAT 構成を表示します。
コンソール
Google Cloud コンソールで、[Cloud NAT] ページに移動します。
Cloud NAT ゲートウェイをクリックします。
[
編集] をクリックします。[NAT IP アドレス] で、IP アドレスの横にある [IP ドレイン] の値を [オン] に設定します。
[保存] をクリックします。
gcloud
gcloud compute routers nats update
コマンドを使用します。
アドレスをドレインするには、同じコマンドでアドレスをアクティブ プールからドレインプールに移動する必要があります。1 つのコマンドでドレインプールに追加せずにアクティブ プールから削除すると、IP アドレスはサービスから削除され、既存の接続はすぐに終了します。
IP アドレスをドレインプールからアクティブ プールに移動すると、IP アドレスのドレインは取り消されます。両方のプールから NAT IP アドレスを削除すると、NAT 構成から IP アドレスの接続が切断されます。
このコマンドでは、NAT 構成の他のフィールドは変更されません。
gcloud compute routers nats update NAT_CONFIG \ --router=NAT_ROUTER \ --region=REGION \ --nat-external-ip-pool=IP_ADDRESS_2 \ --nat-external-drain-ip-pool=IP_ADDRESS_1
ここで
--nat-external-ip-pool=IP_ADDRESS_2
: アクティブ プールを更新して、IP_ADDRESS_1
を除外します。--nat-external-drain-ip-pool=IP_ADDRESS_1
:IP_ADDRESS_1
をドレインプールへ追加します。
以下を置き換えます。
NAT_CONFIG
: NAT 構成の名前。NAT_ROUTER
: Cloud Router の名前。REGION
: 更新する NAT のリージョン。指定しない場合、リージョンの選択を求められる場合があります(インタラクティブ モードのみ)。IP_ADDRESS_2
: IP アドレス。IP_ADDRESS_1
: 別の IP アドレス。
エンドポイント マッピングを更新する
ゲートウェイのエンドポイントに依存しないマッピングを有効または無効にできます。デフォルトではこのオプションは無効になっています。エンドポイントに依存しないマッピングを有効から無効(または無効から有効)に切り替えても、既存の接続は中断されません。
Cloud NAT ゲートウェイが NAT ルールまたは動的ポートの割り当てを使用する場合、エンドポイントに依存しないマッピングを有効にすることはできません。
コンソール
Google Cloud コンソールで、[Cloud NAT] ページに移動します。
Cloud NAT ゲートウェイをクリックします。
[
編集] をクリックします。[詳細構成] をクリックします。
エンドポイントに依存しないマッピングを有効にするには、[エンドポイントに依存しないマッピングの有効化] チェックボックスをオンにします。エンドポイントに依存しないマッピングを無効にするには、チェックボックスをオフにします。
[保存] をクリックします。
gcloud
gcloud compute routers nats update
コマンドを使用します。
gcloud compute routers nats update NAT_CONFIG \ --router=NAT_ROUTER \ --region=REGION \ [--enable-endpoint-independent-mapping | --no-enable-endpoint-independent-mapping]
次のように置き換えます。
NAT_CONFIG
: NAT 構成の名前NAT_ROUTER
: Cloud Router の名前REGION
: 更新する NAT のリージョン。指定しない場合、リージョンの選択を求められる場合があります(インタラクティブ モードのみ)。
ロギングを更新する
既存の Cloud NAT ゲートウェイのロギングを追加、変更、削除する場合は、ロギングを構成するをご覧ください。
Public NAT の構成を削除する
ゲートウェイ構成を削除すると、Cloud Router から NAT 構成が削除されます。ゲートウェイ構成を削除しても、ルーター自体は削除されません。
コンソール
Google Cloud コンソールで、[Cloud NAT] ページに移動します。
削除するゲートウェイ構成の横にあるチェックボックスをオンにします。
メニューで、[削除] をクリックします。
gcloud
gcloud compute routers nats delete NAT_CONFIG \ --router=ROUTER_NAME \ --region=REGION
以下を置き換えます。
NAT_CONFIG
: NAT 構成の名前ROUTER_NAME
: Cloud Router の名前REGION
: 削除する NAT のリージョン。指定しない場合、リージョンの選択を求められる場合があります(インタラクティブ モードのみ)。
割り当てと上限
割り当てと上限の詳細については、割り当てと上限をご覧ください。
設定例
- Compute Engine で Public NAT を使用する
- GKE で Public NAT を使用する
- DNS64 と NAT64 を使用して IPv6 専用のサブネットとインスタンスを構成する
次のステップ
- Cloud NAT のロギングとモニタリングを構成する。
- NAT 構成に関する一般的な問題のトラブルシューティングを行う。