Private NAT でネットワーク アドレス変換を設定、管理する
このページでは、Cloud NAT で Private-to-Private ネットワーク アドレス変換(NAT)を構成する方法について説明します。
始める前に
Private NAT を設定する前に、次の操作を行います。
Private NAT の仕様を確認する
次の仕様と要件をご覧ください。
- 一般的な仕様については、Private NAT をご覧ください。
- VPC スポークやハイブリッド スポークなど、Network Connectivity Center ハブのスポーク間のトラフィックについては、Network Connectivity Center スポークの Private NAT をご覧ください。
- Virtual Private Cloud(VPC)ネットワークとGoogle Cloud 以外のネットワークの間のトラフィック(Cloud Interconnect または Cloud VPN を経由)については、ハイブリッド NAT をご覧ください。
IAM 権限を取得する
Compute ネットワーク管理者のロール(roles/compute.networkAdmin
)により、Cloud Router での NAT ゲートウェイの作成、NAT IP アドレスの予約と割り当て、トラフィックが NAT ゲートウェイによるネットワーク アドレス変換を使用する必要があるサブネットワーク(サブネット)の指定を行う権限を取得できます。
Google Cloudを設定する
始める前に、 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.
-
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
-
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.
-
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
プロジェクト ID は、次のコマンドで設定できます。
gcloud config set project PROJECT_ID
すでに設定されているプロジェクト ID を表示することもできます。
gcloud config list --format='text(core.project)'
Google Cloud コンソールで、[VPC ネットワーク] ページに移動します。
VPC ネットワークの詳細ページを表示するには、VPC ネットワークの名前をクリックします。
[サブネット] タブをクリックします。
[サブネットを追加] をクリックします。[サブネットを追加] ダイアログで、次の操作を行います。
- サブネットの名前を入力します。
- リージョンを選択します。
- [目的] で [プライベート NAT] を選択します。
[IP アドレス範囲] を入力します。これは、サブネットのプライマリ IPv4 範囲です。
RFC 1918 アドレス以外の範囲を選択した場合は、その範囲が既存の構成と競合していないことを確認します。有効な IPv4 サブネット範囲の詳細については、IPv4 サブネット範囲をご覧ください。
[追加] をクリックします。
NAT_SUBNET
: 作成する Private NAT サブネット範囲の名前。NETWORK
: サブネットワークが属するネットワーク。REGION
: 作成するサブネットワークのリージョン。指定しない場合、リージョンの選択を求められる場合があります(インタラクティブ モードのみ)。IP_RANGE
: このサブネットに割り振られる IP 空間(CIDR 形式)。IP_RANGE では、VM あたりに必要なポートの 2 倍の大きさが使用されるようにします。Network Connectivity Center スポークの Private NAT。以下の間のトラフィックについて NAT を有効にします。
- 同じ Network Connectivity Center ハブ内の送信元 VPC ネットワークと宛先 VPC ネットワーク。両方のネットワークを VPC スポークとして構成する必要があります。
- Network Connectivity Center ハブで VPC スポークとして構成された送信元 VPC ネットワークと、ハイブリッド スポークを介してハブに接続されている宛先オンプレミスまたは他のクラウド プロバイダ ネットワーク。
Private NAT と同じ VPC スポークで Private Service Connect の伝播接続を使用する場合は、Private NAT を構成する前に Private Service Connect の伝播接続の相互作用をご覧ください。
ハイブリッド NAT。送信元 VPC ネットワークと宛先のオンプレミスまたは他のクラウド プロバイダ ネットワークの間のトラフィックに対して NAT を有効にします。ネットワークは Cloud Interconnect または Cloud VPN を介して接続する必要があります。
Google Cloud コンソールで、[Cloud NAT] ページに移動します。
[開始] または [Cloud NAT ゲートウェイを作成] をクリックします。
ゲートウェイ名を入力します。
[NAT タイプ] で [プライベート] を選択します。
NAT ゲートウェイの VPC ネットワークを選択します。
NAT ゲートウェイのリージョンを選択します。
リージョンの Cloud Router を選択または作成します。
送信元エンドポイントのタイプとして [VM インスタンス] が選択されていることを確認します。
[ソース] リストで [カスタム] を選択します。
NAT を実行するサブネットを選択します。
追加の範囲を指定する場合は、[サブネットと IP 範囲の追加] をクリックします。
[ルールの追加] をクリックします。
[ルール番号] フィールドに、
0
~65000
の任意の値を入力します。[一致] で、次のいずれかのオプションを選択します。
- ハイブリッド NAT を有効にするには、[ハイブリッド接続ルート] を選択します。
- Network Connectivity Center スポークで Private NAT を有効にするには、[Network Connectivity Center ハブ] を選択します。
- 両方のオプションを有効にするには、[ハイブリッド接続ルート] と [Network Connectivity Center ハブ] を選択します。
[完了] をクリックします。
省略可: [高度な構成] セクションで、次のいずれかの設定を調整します。
- ロギングを構成するかどうか。デフォルトでは、[ロギングなし] が選択されています。
- Cloud NAT がポートを割り当てる方法を変更するかどうか。デフォルトでは、[動的ポートの割り当ての有効化] が選択されています。静的ポートの割り当てを構成するには、[動的ポートの割り当ての有効化] をオフにして、[VM インスタンスあたりの最小ポート数] を指定します。デフォルト値は
64
です。 - プロトコル接続の NAT タイムアウトを更新するかどうか。これらのタイムアウトとそのデフォルト値については、NAT タイムアウトをご覧ください。
[作成] をクリックします。
NAT を構成する VPC ネットワークに Cloud Router を作成します。
gcloud compute routers create
コマンドを使用します。gcloud compute routers create ROUTER_NAME \ --network=NETWORK --region=REGION
次のように置き換えます。
ROUTER_NAME
: Cloud Router の名前。NETWORK
: Cloud Router を作成する VPC ネットワーク。REGION
: Cloud Router を作成するリージョン。
Private NAT ゲートウェイを作成し、NAT を構成するソース VPC ネットワークのサブネットを 1 つ以上指定します。
--type
フラグをPRIVATE
に設定してgcloud 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,...] | \ [--nat-all-subnet-ip-ranges]
次のように置き換えます。
NAT_CONFIG
: 作成する Private NAT 構成の名前。ROUTER_NAME
: このゲートウェイで使用する Cloud Router の名前。これは、前の手順で作成した Cloud Router です。他のリソースで使用されていない必要があります。SUBNETWORK
: NAT を使用するサブネットの名前またはサブネットのリスト。SUBNETWORK_1
,SUBNETWORK_2
のようなカンマ区切り形式でサブネットのリストを指定することもできます。Private NAT では、指定されたサブネットやサブネットのリストのすべてのサブネット IP 範囲で常に NAT が実行されます。
デフォルトでは、Private NAT は動的ポートの割り当てを使用します。静的ポートの割り当てを使用して Private NAT ゲートウェイを作成する場合は、
--no-enable-dynamic-port-allocation
フラグを指定して上記のコマンドを実行します。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,...] | \ [--nat-all-subnet-ip-ranges] --no-enable-dynamic-port-allocation \ [--min-ports-per-vm=VALUE]
VALUE
は、VM ごとに割り当てるポートの最小数に置き換えます。指定しない場合、Google Cloud はデフォルト値の64
を割り当てます。構成する NAT のタイプに基づいてトラフィックを照合する NAT ルールを作成します。
--match
フラグを次のいずれかのオプションに設定して、gcloud compute routers nats rules create
コマンドを使用します。nexthop.is_hybrid
: 送信元 VPC ネットワークから、Cloud Interconnect または Cloud VPN を介して Google Cloud に接続されているオンプレミスまたは他のクラウド プロバイダ ネットワークへのアウトバウンド トラフィックを変換します。nexthop.hub
: 送信元 VPC スポークから、送信元 VPC スポークと同じ Network Connectivity Center ハブに接続されている VPC またはハイブリッド スポークのいずれかにアウトバウンド トラフィックを変換します。nexthop.is_hybrid || nexthop.hub
: 両方のタイプの Private NAT を構成します。
ハイブリッド NAT の NAT ルールを作成するには、次のコマンドを実行します。
gcloud 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
Network Connectivity Center スポークの Private NAT の NAT ルールを作成するには、次のコマンドを実行します。
gcloud 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
Network Connectivity Center スポークのハイブリッド NAT と Private NAT の両方の NAT ルールを作成するには、次のコマンドを実行します。
gcloud compute routers nats rules create NAT_RULE_NUMBER \ --router=ROUTER_NAME --region=REGION \ --nat=NAT_CONFIG \ --match='nexthop.is_hybrid || nexthop.hub == "//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/hubs/HUB"' \ --source-nat-active-ranges=NAT_SUBNET
次のように置き換えます。
NAT_RULE_NUMBER
: NAT ルールを一意に識別する0
から65000
までのルール番号。ROUTER_NAME
: 前に作成した Cloud Router の名前。REGION
: Cloud Router のリージョン。NAT_CONFIG
: 前に作成した Private NAT 構成の名前。PROJECT_ID
: Network Connectivity Center ハブの Google Cloud プロジェクト。HUB
: Network Connectivity Center ハブの名前。NAT_SUBNET
: 前に作成した Private NAT サブネットの名前。サブネットのリストをカンマ区切り形式で指定することもできます。
Google Cloud コンソールで、[Cloud NAT] ページに移動します。
NAT ゲートウェイの詳細、マッピング情報、構成の詳細を表示するには、NAT ゲートウェイの名前をクリックします。
NAT ステータスを表示するには、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
Google Cloud コンソールで、[Cloud NAT] ページに移動します。
NAT ゲートウェイをクリックします。
[
編集] をクリックします。[Cloud NAT マッピング] の [ソース] リストで、[カスタム] を選択します。
使用可能なサブネットのリストから新しいサブネットを選択します。
追加の範囲を指定する場合は、[サブネットと IP 範囲の追加] をクリックして、別のサブネットを選択します。
[保存] をクリックします。
NAT_CONFIG
: 更新する Private NAT 構成の名前。ROUTER_NAME
: このゲートウェイで使用するルーターの名前。SUBNETWORK
: 使用するサブネットの名前。Google Cloud コンソールで、[Cloud NAT] ページに移動します。
NAT ゲートウェイをクリックします。
[
編集] をクリックします。NAT マッピングから削除するサブネットを削除します。
[保存] をクリックします。
Google Cloud コンソールで、[Cloud NAT] ページに移動します。
NAT ゲートウェイをクリックします。
[
編集] をクリックします。既存のルールを開きます。
[サブネットの範囲を追加] をクリックします。
新しい NAT サブネット範囲を選択または作成し、[完了] をクリックします。
[保存] をクリックします。
NAT_RULE_NUMBER
: 作成するルールを一意に識別する番号。NAT_CONFIG
: 更新するルールの Private NAT 構成の名前。ROUTER_NAME
: このゲートウェイで使用するルーターの名前。NAT_SUBNET
: 既存の NAT 構成に追加する Private NAT サブネットの名前。Google Cloud コンソールで、[Cloud NAT] ページに移動します。
削除するゲートウェイ構成の横にあるチェックボックスをオンにします。
メニューで、[削除] をクリックします。
NAT_CONFIG
: NAT 構成の名前ROUTER_NAME
: Cloud Router の名前REGION
: 削除する NAT のリージョン。指定しない場合、リージョンの選択を求められる場合があります(インタラクティブ モードのみ)。- Cloud NAT のロギングとモニタリングを構成する。
- NAT 構成に関する一般的な問題のトラブルシューティングを行う。
このページの Google Cloud CLI の説明では、コマンド発行前にプロジェクト ID を設定済みであることを前提としています。
目的 PRIVATE_NAT の NAT サブネットを作成する
Private NAT を構成する前に、目的 PRIVATE_NAT
の NAT サブネットを作成します。NAT サブネットは、Private NAT ゲートウェイを作成する予定のリージョンに存在する必要があります。Private NAT ゲートウェイは、このサブネットの IP アドレス範囲を使用して NAT を実行します。このサブネットが、接続されたどのネットワークでも既存のサブネットと重複しないようにしてください。このサブネットにはリソースを作成できません。このサブネットは Private NAT にのみ使用されます。
コンソール
gcloud
gcloud compute networks subnet create
コマンドを使用して、サブネットを作成します。
gcloud compute networks subnets create NAT_SUBNET \ --network=NETWORK \ --region=REGION \ --range=IP_RANGE \ --purpose=PRIVATE_NAT
次のように置き換えます。
Private NAT を構成する
Private NAT を構成するには、送信元 VPC ネットワークに Private NAT ゲートウェイを作成します。各ゲートウェイは、1 つの VPC ネットワーク、リージョン、Cloud Router に関連付けられます。
Private NAT を構成するときに、次のいずれかまたは両方を有効にできます。
Private NAT ゲートウェイを作成する
NAT を構成するソース VPC ネットワークに Private NAT ゲートウェイを作成します。
コンソール
gcloud
Private NAT 構成を表示する
コンソール
gcloud
NAT 構成の詳細を表示するには、次のコマンドを実行します。
Private NAT 構成を更新する
Private NAT ゲートウェイを設定したら、要件に基づいてゲートウェイ構成を更新できます。以降のセクションでは、Private NAT ゲートウェイを更新するために実行できるタスクを示します。
Private NAT に関連付けられたサブネットを変更する
コンソール
gcloud
gcloud compute routers nats update NAT_CONFIG \ --router=ROUTER_NAME \ --region=REGION \ --nat-custom-subnet-ip-ranges=SUBNETWORK:ALL|[SUBNETWORK_1:ALL,SUBNETWORK_2:ALL,..]
次のように置き換えます。
Private NAT に関連付けられているサブネットを削除する
NAT ゲートウェイから使用していない特定のサブネットを削除できます。
コンソール
Private NAT 構成に NAT サブネットを追加する
トラフィックに NAT を実行するために、Private NAT 構成では、目的が PRIVATE_NAT
のサブネットの NAT IP アドレスを使用します。Private NAT 構成で、使用可能な NAT IP アドレスの数を超える数が必要な場合は、目的が PRIVATE_NAT
のサブネットをさらに構成に追加できます。
コンソール
gcloud
gcloud 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 構成を削除する
ゲートウェイ構成を削除すると、Cloud Router から NAT 構成が削除されます。ゲートウェイ構成を削除しても、ルーター自体は削除されません。
コンソール
gcloud
gcloud compute routers nats delete NAT_CONFIG \ --router=ROUTER_NAME \ --region=REGION
以下を置き換えます。