ワークロード VM のインターネット アクセスを構成する
Google Cloud VMware Engine では、VMware ワークロードのインターネット アクセス ネットワーク サービスをリージョン単位で構成します。 のインターネット エッジまたはオンプレミス 接続を使用して、ワークロード VM からインターネットに向かうトラフィックを転送できます。 Google Cloud
VMware Engine には、ワークロード VM のインターネット アクセスを構成するための次の方法があります。
- VMware Engine インターネット アクセス サービス: Google Cloudのインターネット エッジを使用して、ワークロード VM がインターネットに直接アクセスできるようにします。インターネット アクセス サービスを構成するをご覧ください。
- オンプレミス接続: ワークロード VM からインターネットに向かうトラフィックをオンプレミス接続経由でルーティングします。ワークロードのインターネット接続にオンプレミス接続を使用するをご覧ください。
- コンシューマー VPC ネットワーク: ワークロード VM からインターネットに向かうトラフィックをコンシューマー VPC ネットワーク経由でルーティングします。ワークロードのインターネット アクセスにプロジェクトの VPC を使用するをご覧ください。
インターネットにアクセスできるワークロード VM も、 Google Cloud サービスにプライベート Google アクセスを使用してアクセスできます。 プライベート Google アクセスを使用して Google Cloud サービスにアクセスする場合、そのアクセスは Google Cloud ネットワーク内に留まるため、インターネットに接続されることはありません。
インターネット アクセス ネットワーク サービスは、以下をサポートしています。
- リージョンごとに最大 100 個のパブリック IP アドレス
- ネットワーク ポリシーごとに最大 100 個の外部アクセスルール
- リージョンごとに最大 2 Gbps のスループット
- TCP、UDP、ICMP プロトコル
インターネット アクセス ネットワーク サービスは、アプリケーション レベル ゲートウェイ(ALG)機能をサポートしていません。
始める前に
プライベート クラウドのインターネット アクセス設定を変更するには、VMware Engine に対する管理者権限が必要です。
インターネット アクセスを有効にするには、Edge サービスの CIDR アドレス範囲が必要です。インターネット アクセスまたはパブリック IP ネットワーク サービスを有効にすると、サービス テナント コンテキストの中でゲートウェイがデプロイされます。
VMware Engine のインターネット ゲートウェイとパブリック IP ゲートウェイのアドレスには、Edge サービスの CIDR アドレス範囲を使用します。アドレス範囲は、次の要件を満たしている必要があります。
- プライベート範囲としてRFC 1918に準拠する。
- 他の VMware Engine アドレス範囲(管理アプライアンスや NSX セグメントに使用されるアドレス範囲など)と重複しない。
- Virtual Private Cloud(VPC)ネットワーク サブネットやオンプレミス ネットワークに使用されるような、VMware Engine にアドバタイズされるアドレス範囲と重複しない。
- 26 サブネット マスク ビット(/26)を IP アドレス範囲専用にする。
Google Cloud CLI と API の要件
gcloud コマンドライン ツールまたは API を使用して VMware Engine リソースを管理するには、以下で説明するようにツールを構成することをおすすめします。
gcloud
デフォルトのプロジェクト ID を設定します。
gcloud config set project PROJECT_ID
デフォルトのリージョンとゾーンを設定します。
gcloud config set compute/region REGION
gcloud config set compute/zone ZONE
gcloud vmware ツールの詳細については、Cloud SDK リファレンス ドキュメントをご確認ください。
API
このドキュメント セットの API の例では、cURL コマンドライン ツールを使用して API がクエリされています。cURL リクエストには、有効なアクセス トークンが必要です。有効なアクセス トークンを取得するにはさまざまな方法があります。次の手順では、gcloud ツールを使用してアクセス トークンを生成します。
Google Cloudにログインします。
gcloud auth login
アクセス トークンを生成して TOKEN にエクスポートします。
export TOKEN=`gcloud auth print-access-token`
TOKEN が正しく設定されていることを確認します。
echo $TOKEN
API へのリクエストで認証トークンを使用します。次に例を示します。
curl -X GET -H "Authorization: Bearer \"$TOKEN\"" -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations
Python
このドキュメントの Python コードサンプルは、VMware Engine ライブラリを使用して API と通信します。このアプローチを使用するには、ライブラリをインストールし、アプリケーションのデフォルト認証情報を構成する必要があります。
Python ライブラリをダウンロードしてインストールします。
pip install google-cloud-vmwareengine
シェルで次のコマンドを実行して、ADC 情報を構成します。
gcloud auth application-default login
または、サービス アカウント キー ファイルを使用します。
export GOOGLE_APPLICATION_CREDENTIALS="FILE_PATH"
ライブラリの詳細については、リファレンス ページまたは GitHub のコードサンプルをご覧ください。
インターネット アクセス サービスを構成する
ワークロード VM にインターネット アクセスを許可するには、ネットワーク ポリシーを作成または更新します。
デフォルトでは、インターネット アクセス ネットワーク サービスは無効になっています。
リージョンでインターネット アクセス サービスを有効にする
コンソール
リージョンでインターネット アクセス サービスを有効にするには、次の操作を行います。
コンソールで、[ネットワーク ポリシー] ページに移動します。 Google Cloud
[プロジェクトを選択] をクリックし、インターネット アクセス サービスを有効にする VMware Engine ネットワークを含む組織、フォルダ、またはプロジェクトを選択します。
[作成] をクリックして、新しいポリシーを作成します。既存のネットワーク ポリシーを編集する場合は、行の最後にある [その他 ] アイコンをクリックして、[編集] を選択します。
ポリシーを適用するネットワークとリージョンの選択といった、ネットワーク ポリシーの詳細を入力します。
[Internet access] を [Enabled] に切り替え、必要に応じて [External IP address service] を有効にします。
[Edge Services CIDR] フィールドに、VMware Engine インターネット ゲートウェイのアドレス指定に使用するアドレス範囲(/26 アドレス範囲)を入力します。
[作成] をクリックします。
オペレーションが完了すると、通常数分後に、サービスのステータスが「有効」に変わります。
gcloud
gcloud ツールを使用して、ネットワーク ポリシーを作成します。
gcloud vmware network-policies create NETWORK_POLICY_NAME \
--vmware-engine-network projects/PROJECT_ID/locations/LOCATIONS/vmwareEngineNetworks/NETWORK_ID \
--edge-services-cidr=IP_RANGE \
--location=LOCATION \
--internet-access以下のように置き換えます。
NETWORK_POLICY_NAME: このネットワーク ポリシーの名前NETWORK_ID: このネットワーク ポリシーが適用されるネットワークIP_RANGE: インターネット アクセス ゲートウェイと外部 IP アクセス ゲートウェイに使用する CIDR 範囲(CIDR 表記)。接頭辞が /26 の RFC 1918 CIDR ブロックが必要です。LOCATION: レガシー ネットワークまたは標準ネットワークのリージョンの場合はglobal
API
curl -X POST -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/networkPolicies?networkPolicyId=NETWORK_POLICY_NAME
'{
"vmwareEngineNetwork":"projects/PROJECT_ID/locations/LOCATION/vmwareEngineNetworks/NETWORK_ID",
"edgeServiceCidr":"IP_RANGE",
"internetAccess": {
"enabled": true
},
"externalIp": {
"enabled": true
}
}'
次のように置き換えます。
NETWORK_POLICY_NAME: このネットワーク ポリシーの名前REGION-defaultの形式にする必要があります。PROJECT_ID: このリクエストのプロジェクト IDLOCATION: レガシー ネットワークまたは標準ネットワークのリージョンの場合はglobalIP_RANGE: インターネット アクセス ゲートウェイと外部 IP アクセス ゲートウェイに使用する CIDR 範囲(CIDR 表記)。接頭辞が /26 の RFC 1918 CIDR ブロックが必要です。NETWORK_ID: このネットワーク ポリシーのネットワーク
Python
HCX Mobility Optimized Networking(MON)のガイドライン
Mobility Optimized Networking(MON)を使用して HCX で VM を移行する場合は、インターネット接続を確保するために特定のルーティング構成が必要です。
レイヤ 2 拡張(L2E)セグメントで MON を有効にしている場合、VMware Engine は移行された VM のルートをインターネット サービスに自動的にアドバタイズしません。これらの VM がインターネットにアクセスできるようにするには、Tier-1 ルーターで BGP への静的ルート再配布を有効にする必要があります。
この手順は、MON 対応セグメントのルートをアドバタイズするために必要です。これにより、VMware Engine 環境を介してインターネット トラフィックをルーティングできます。この構成がないと、これらのセグメントの VM はパブリック インターネットにアクセスできません。
リージョンでインターネット アクセス サービスを無効にする
リージョンでインターネット アクセス サービスを無効にするには、次の操作を行います。
コンソール
コンソールで、[ネットワーク ポリシー] ページに移動します。 Google Cloud
[プロジェクトを選択] をクリックし、インターネット アクセス サービスを無効にする VMware Engine ネットワークを含む組織、フォルダ、またはプロジェクトを選択します。
関連するネットワーク ポリシーに対応する行で、[その他 ] アイコンをクリックします。
[Internet access] を [Disabled] に切り替えます。
- インターネット アクセスを無効にする前に、パブリック IP サービスを無効にする必要があります。
- パブリック IP サービスを無効にする前に、割り振られたパブリック IP アドレスとポイント対サイト VPN ゲートウェイを削除する必要があります。
[保存] をクリックします。
オペレーションが完了すると、通常数分後に、サービスのステータスが「無効」に変わります。
gcloud
gcloud ツールを使用して、ネットワーク ポリシーを更新します。
gcloud vmware network-policies update NETWORK_POLICY_NAME \ --no-internet-access \ --location LOCATION
次のように置き換えます。
NETWORK_POLICY_NAME: このネットワーク ポリシーの名前LOCATION: レガシー ネットワークまたは標準ネットワークのリージョンの場合はglobal
API
curl -X PATCH -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/networkPolicies/NETWORK_POLICY_NAME?updateMask=internetAccess.enabled,externalIp.enabled -d "{
"internetAccess": {
"enabled": false
},
"externalIp": {
"enabled": false
}
}"
次のように置き換えます。
PROJECT_ID: このリクエストのプロジェクト IDLOCATION: レガシー ネットワークまたは標準ネットワークのリージョンの場合はglobalNETWORK_POLICY_NAME: このネットワーク ポリシーの名前
Python
ワークロードのインターネット アクセスにプロジェクトの VPC を使用する
必要に応じて、プロジェクトの VPC を介して、VMware Engine のワークロード VM からインターネットに向かうトラフィックを転送できます。このオプションは、VPC ネットワークとピアリングされている標準の VMware Engine ネットワークでのみ使用できます。
プロジェクトの VPC を介してワークロード VM からインターネットにアクセスするには、次の手順を完了する必要があります。
- VPC でインターネット アクセスを構成します。
- Cloud NAT を使用する場合: Cloud NAT が VPC ネットワーク内のリソースにインターネット アクセスを提供するように構成されていることを確認します。
Cloud NAT はインターネット接続を直接提供するため、
0.0.0.0/0の特定のルートは必要ありません。 - Cloud NAT を使用しない場合: インスタンス ベースのファイアウォールやプロキシなど、インターネット アクセスを提供する
ネクストホップにトラフィックを転送する宛先
0.0.0.0/0のルートが VPC にあることを確認します。また、カスタムルートを交換するように VPC ネットワーク ピアリングを構成する必要があります。ピアリング接続を更新して、VPC からカスタムルートをエクスポートし、カスタムルートをインポートします。
- Cloud NAT を使用する場合: Cloud NAT が VPC ネットワーク内のリソースにインターネット アクセスを提供するように構成されていることを確認します。
Cloud NAT はインターネット接続を直接提供するため、
- リージョンでインターネット アクセス サービスを無効にするの手順に沿って、 VMware Engine ネットワークのインターネット アクセスとパブリック IP サービスを無効にします。
これらの手順を完了すると、ワークロード VM からインターネットに向かうトラフィックは、ピアリング接続を介して VPC ネットワークにルーティングされ、そこで構成されたインターネット アクセス ソリューションを使用します。
詳細については、VPC を使用してワークロード VM のインターネット アクセスを構成するをご覧ください。
ワークロードのインターネット接続にオンプレミス接続を使用する
オンプレミス接続を介して、VMware Engine のワークロード VM からインターネットに向かうトラフィックを転送できます。VMware Engine がトラフィックを転送する方法は、次の状態によって異なります。
- オンプレミスからのデフォルト ルート(
0.0.0.0/0)のアドバタイズ - VMware Engine のパブリック IP サービス
- VMware Engine インターネット アクセス サービス
- VPC ネットワークと VMware Engine 間の VPC ピアリング接続での VPC Service Controls(レガシー VMware Engine ネットワークのみ)
オンプレミス接続を介したインターネット トラフィックのルーティングを有効にする
オンプレミス接続を介してワークロード VM からインターネットにアクセスするには、次の 2 つの手順を完了する必要があります。
- オンプレミス接続(Cloud VPN または Cloud Interconnect)を介して、オンプレミスからデフォルト ルート(
0.0.0.0/0)をアドバタイズします。VPN へのオンプレミス接続が終端する Cloud VPN ゲートウェイまたは Cloud Router を確認します。 - VMware Engine ネットワークのインターネット アクセスとパブリック IP サービスを無効にします。
コンソール
コンソールで、[ネットワーク ポリシー] ページに移動します。 Google Cloud
[プロジェクトを選択] をクリックし、インターネット アクセス サービスを有効にする VMware Engine ネットワークを含む組織、フォルダ、またはプロジェクトを選択します。
関連するネットワーク ポリシーに対応する行で、[その他 ] アイコンをクリックします。
[Public IP] を [Disabled] に切り替えます。
[Internet access] を [Disabled] に切り替えます。
[保存] をクリックします。
レガシー VMware Engine ネットワークを使用する場合:
gcloud services vpc-peerings enable-vpc-service-controlsコマンドを使用して、VPC ネットワークと VMware Engine の間の VPC ピアリング接続の VPC Service Controls を有効にします。gcloud services vpc-peerings enable-vpc-service-controls \ --network=VPC_NETWORK \ --service=servicenetworking.googleapis.com
gcloud
gcloud ツールを使用して、ネットワーク ポリシーを更新します。
gcloud vmware network-policies update NETWORK_POLICY_NAME \ --no-internet-access \ --no-external-ip-address \ --location LOCATION
次のように置き換えます。
NETWORK_POLICY_NAME: このネットワーク ポリシーの名前LOCATION: レガシー ネットワークまたは標準ネットワークのリージョンの場合はglobal
レガシー VMware Engine ネットワークを使用する場合: gcloud services vpc-peerings enable-vpc-service-controls コマンドを使用して、VPC ネットワークと VMware Engine の間の VPC ピアリング接続の VPC Service Controls を有効にします。
gcloud services vpc-peerings enable-vpc-service-controls \ --network=VPC_NETWORK \ --service=servicenetworking.googleapis.com
API
curl -X PATCH -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/networkPolicies/NETWORK_POLICY_NAME?updateMask=internetAccess.enabled,externalIp.enabled
"{
"internetAccess: {
"enabled": false
},
"externalIp: {
"enabled": false
}
}"
レガシー VMware Engine ネットワークを使用する場合: gcloud services vpc-peerings enable-vpc-service-controls コマンドを使用して、VPC ネットワークと VMware Engine の間の VPC ピアリング接続の VPC Service Controls を有効にします。
gcloud services vpc-peerings enable-vpc-service-controls \ --network=VPC_NETWORK_NAME \ --service=servicenetworking.googleapis.com
Python
Internet_access と external_ip を False に設定します。
レガシー VMware Engine ネットワークを使用する場合: gcloud services vpc-peerings enable-vpc-service-controls コマンドを使用して、VPC ネットワークと VMware Engine の間の VPC ピアリング接続の VPC Service Controls を有効にします。
gcloud services vpc-peerings enable-vpc-service-controls \ --network=VPC_NETWORK \ --service=servicenetworking.googleapis.com
レガシー Google Cloud VMware Engine ネットワークを使用している場合は、オンプレミス接続またはプロジェクトの VPC のいずれかを介してレガシー VEN インターネット アクセスをルーティングするために、VPC Service Controls を有効にする必要があります。この要件は、標準 VEN ではなく、レガシー Google Cloud VMware Engine ネットワークにのみ適用されます。
VPC Service Controls が有効になっている場合、 Google Cloud はサービス プロデューサーの VPC ネットワーク(この場合は VMware Engine とピアリングされたサービス テナント プロジェクト)で次のルーティング変更を行います。
- IPv4 デフォルト ルート(宛先
0.0.0.0/0、ネクストホップ デフォルト インターネット ゲートウェイ)を削除します。 - VPC ピアリングのデフォルト ルートを使用してインターネット トラフィックの転送を開始します。
例:
現在のプロジェクトで「my-network」という名前のネットワークをピアリングする接続で VPC Service Controls を有効にするには、gcloud services vpc-peerings enable-vpc-service-controls コマンドを使用します。
gcloud services vpc-peerings enable-vpc-service-controls \
--network=my-network \
--service=servicenetworking.googleapis.comオンプレミス接続を介したインターネット トラフィックのルーティングを無効にする
オンプレミス接続を介したワークロード VM からのインターネット トラフィックのルーティングを無効にするには、デフォルト ルート(0.0.0.0/0)のアドバタイズを停止し、VPC ピアリング接続で VPC Service Controls を無効にします。
レガシー VMware Engine ネットワークを使用する場合: gcloud services vpc-peerings disable-vpc-service-controls コマンドを使用して、VPC ネットワークと VMware Engine の間の VPC ピアリング接続の VPC Service Controls を無効にします。
gcloud services vpc-peerings disable-vpc-service-controls \
--network=VPC_NETWORK_NAME \
--service=servicenetworking.googleapis.com次のステップ
- プライベート クラウド内の VM にパブリック IP アドレスを割り振る方法を学習する。
- 外部アクセスルールで、プライベート クラウド リソースとの間のネットワーク トラフィックをフィルタする方法を学習する。