Private NAT でネットワーク アドレス変換を設定、管理する
このページでは、Private NAT を使用してネットワーク アドレス変換(NAT)を構成する方法について説明します。Private NAT 構成を設定する前に、Private NAT をご覧ください。
始める前に
Private NAT を設定する前に、次の操作を行います。
IAM 権限を取得する
コンピューティング ネットワーク管理者ロール(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.
-
Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
-
Compute Engine API を有効にします。
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
-
Compute Engine API を有効にします。
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
このページの Google Cloud CLI の説明では、コマンド発行前にプロジェクト ID を設定済みであることを前提としています。
プロジェクト ID は、次のコマンドで設定できます。
gcloud config set project PROJECT_ID
すでに設定されているプロジェクト 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 にのみ使用されます。
コンソール
Google Cloud コンソールの [VPC ネットワーク] ページに移動します。
VPC ネットワークの詳細ページを表示するには、VPC ネットワークの名前をクリックします。
[サブネット] タブをクリックします。
[サブネットを追加] をクリックします。[サブネットを追加] ダイアログで、次の操作を行います。
- サブネットの名前を入力します。
- リージョンを選択します。
- [目的] で [プライベート NAT] を選択します。
[IP アドレス範囲] を入力します。これは、サブネットのプライマリ IPv4 範囲です。
RFC 1918 アドレス以外の範囲を選択した場合は、その範囲が既存の構成と競合していないことを確認します。有効な IPv4 サブネット範囲の詳細については、IPv4 サブネット範囲をご覧ください。
[追加] をクリックします。
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 ゲートウェイを構成できます。
- Network Connectivity Center のスポークの Private NAT は、次のトラフィックに対して NAT を実行します。
- 同じ Network Connectivity Center ハブで VPC スポークとして構成された VPC ネットワーク。詳細については、VPC スポークを作成するをご覧ください。
- 同じ Network Connectivity Center ハブで VPC スポークとして構成された VPC ネットワークと、ハイブリッド スポークを介してハブに接続しているオンプレミスまたは他のクラウド プロバイダ ネットワーク(プレビュー)。詳細については、VPC スポークとハイブリッド スポーク間の接続についてをご覧ください。
- ハイブリッド NAT(プレビュー)は、VPC ネットワークと、Cloud Interconnect または Cloud VPN 経由で Google Cloud に接続されているオンプレミス ネットワークまたは他のクラウド プロバイダ ネットワーク間のトラフィックで NAT を実行します。
プライベート NAT を設定する
VPC ネットワークと他のネットワーク間のトラフィックで NAT を実行するカスタム NAT ルールで Private NAT ゲートウェイを作成します。
コンソール
Google Cloud コンソールで、[Cloud NAT] ページに移動します。
[開始] または [Cloud NAT ゲートウェイを作成] をクリックします
ゲートウェイ名を入力します。
[NAT タイプ] で [プライベート] を選択します。
NAT ゲートウェイの VPC ネットワークを選択します。
NAT ゲートウェイのリージョンを選択します。
リージョンの Cloud Router を選択または作成します。
送信元エンドポイントのタイプとして [VM インスタンス] が選択されていることを確認します。
[ソース] リストで [カスタム] を選択します。
NAT を実行するサブネットを選択します。
追加の範囲を指定する場合は、[サブネットと IP 範囲の追加] をクリックします。
[ルールの追加] をクリックします。
[ルール番号] フィールドに、
1
~65000
の任意の値を入力します。[一致] の場合は、次のいずれかのオプションを選択します。
- Network Connectivity Center のスポークの Private NAT の場合は、[Network Connectivity Center ハブ] を選択します。
- ハイブリッド NAT(プレビュー)で、[ハイブリッド接続ルート] を選択します。
[完了]、[作成] の順にクリックします。
gcloud
NAT を実行する対象の VPC ネットワークに Cloud Router を作成します。
compute routers create
コマンドを使用します。gcloud compute routers create ROUTER_NAME \ --network=NETWORK --region=REGION
次のように置き換えます。
ROUTER_NAME
: 作成するルーターの名前。NETWORK
: このルーターの VPC ネットワーク。REGION
: 作成するルーターのリージョン。指定しない場合、リージョンの選択を求められる場合があります(インタラクティブ モードのみ)。
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 が実行されます。
要件に基づいてトラフィックをマッチするルールを作成します。
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 を構成できます。
コンソール
Google Cloud コンソールで、[Cloud NAT] ページに移動します。
[開始] または [Cloud NAT ゲートウェイを作成] をクリックします
ゲートウェイ名を入力します。
[NAT タイプ] で [プライベート] を選択します。
NAT ゲートウェイの VPC ネットワークを選択します。
NAT ゲートウェイのリージョンを選択します。
リージョンの Cloud Router を選択または作成します。
Cloud NAT マッピングの詳細を指定し、NAT ルールを作成します。詳細については、Private NAT を設定するをご覧ください。
[詳細構成] をクリックします。
[動的ポートの割り当ての有効化] をオフにします。
[VM インスタンスあたりの最小ポート数] の値を指定します。デフォルトは
64
です。[完了]、[作成] の順にクリックします。
gcloud
compute routers nats create
コマンドを使用し、--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,...] \ --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 構成を表示する
コンソール
Google Cloud コンソールで、[Cloud NAT] ページに移動します。
NAT ゲートウェイの詳細、マッピング情報、構成の詳細を表示するには、NAT ゲートウェイの名前をクリックします。
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 に関連付けられたサブネットを変更する
コンソール
Google Cloud コンソールで、[Cloud NAT] ページに移動します。
NAT ゲートウェイをクリックします。
[編集] をクリックします。
[Cloud NAT マッピング] の [ソース] リストで、[カスタム] を選択します。
使用可能なサブネットのリストから新しいサブネットを選択します。
追加の範囲を指定する場合は、[サブネットと IP 範囲の追加] をクリックして、別のサブネットを選択します。
[保存] をクリックします。
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 ゲートウェイから使用していない特定のサブネットを削除できます。
コンソール
Google Cloud コンソールで、[Cloud NAT] ページに移動します。
NAT ゲートウェイをクリックします。
[編集] をクリックします。
NAT マッピングから削除したいサブネットを削除します。
[保存] をクリックします。
Private NAT 構成に NAT サブネットを追加する
トラフィックに NAT を実行するために、Private NAT 構成では、目的が PRIVATE_NAT
のサブネットの NAT IP アドレスを使用します。Private NAT 構成で、使用可能な NAT IP アドレスの数を超える数が必要な場合は、目的が PRIVATE_NAT
のサブネットをさらに構成に追加できます。
コンソール
Google Cloud コンソールで、[Cloud NAT] ページに移動します。
NAT ゲートウェイをクリックします。
[編集] をクリックします。
既存のルールを展開します。
[サブネットの範囲を追加] をクリックします。
新しい NAT サブネット範囲を選択または作成し、[完了] をクリックします。
[保存] をクリックします。
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 構成が削除されます。ルーター自体は削除されません。
コンソール
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 のリージョン。指定しない場合、リージョンの選択を求められる場合があります(インタラクティブ モードのみ)。
次のステップ
- Cloud NAT のロギングとモニタリングを構成する。
- NAT 構成に関する一般的な問題のトラブルシューティングを行う。