パブリック IP アドレス サービス
パブリック(外部)IP アドレスのネットワーク サービスを使用すると、インターネットから、プライベート クラウドで実行されているワークロード仮想マシン(VM)、管理アプライアンス、ロードバランサに接続できます。たとえば、ワークロード VM でウェブサーバーを運用している場合は、インターネット経由でパブリック IP アドレスを使用してウェブ トラフィックを処理できます。デフォルトでは、パブリック IP ネットワーク サービスは無効になっています。
リソースにパブリック IP アドレスを割り振ると、次のような利点もあります。
- 分散型サービス拒否攻撃(DDoS)の防止。この保護はパブリック IP アドレスに対して自動的に有効になります。
- トラフィックを常時モニタリングし、ネットワークレベルの一般的な攻撃をリアルタイムで軽減。
- グローバル ネットワーク全体での保護と攻撃の軽減。ネットワークを使用して、複数のリージョンにわたる攻撃トラフィックを分散および軽減できます。
動作
パブリック IP アドレスは 1 つのプライベート IP アドレスにのみ割り当てられ、そのパブリック IP アドレスは割り当てを解除するまでそのプライベート IP アドレス専用になります。パブリック IP アドレスに関連付けられたリソースがインターネットにアクセスする際には、必ずそのパブリック IP アドレスが使用されます。VMware Engine に接続されているプライマリ VPC ネットワーク用に最大 100 個のパブリック IP アドレスを予約できます。
デフォルトでは、パブリック IP アドレスの受信トラフィックは拒否され、送信インターネット アクセスのみが許可されます。インバウンド トラフィックを許可するには、特定のポートを通過するパブリック IP アドレスのファイアウォール ルールを作成します。
gcloud と 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 Output: 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
シェルで次のコマンドを実行して、アプリケーションのデフォルト認証情報を構成する
gcloud auth application-default login
または、サービス アカウント キー ファイルを使用する
export GOOGLE_APPLICATION_CREDENTIALS="FILE_PATH"
ライブラリの詳細については、リファレンス ページまたは GitHub のコードサンプルをご覧ください。
リージョンでパブリック IP ネットワーク サービスを有効にする
パブリック IP アドレスをワークロード VM に割り振る前に、リージョンでパブリック IP ネットワーク サービスを有効にする必要があります。
コンソール
- VMware Engine ポータルにアクセスします。
- [ネットワーク] > [REGIONAL SETTINGS] に移動します。
- 目的のリージョンに対応する行で「編集」を選択します。リージョンがサマリー テーブルに表示されていない場合は、[リージョンを追加] をクリックしてリージョンを追加します。
- [パブリック IP サービス] を [有効] に切り替えます。
- パブリック IP サービスを有効にするには、インターネット アクセス ネットワーク サービスも有効にする必要があります。
- インターネット アクセス サービスを有効にし、パブリック IP サービスを無効にしたままにできます。その場合、ポイント対サイト VPN とパブリック IP の割り振りは使用できません。
- [Edge サービス CIDR] フィールドに、VMware Engine パブリック IP ゲートウェイのアドレス指定に使用するアドレス範囲(/26 アドレス範囲)を入力します。
- [Submit] をクリックします。
オペレーションが完了すると、通常数分後に、ネットワーク サービスのステータスが「有効」に変わります。
gcloud
gcloud
ツールを使用して、ネットワーク ポリシーを作成します。
gcloud vmware network-policies create NETWORK_POLICY_NAME \ --vmware-engine-network NETWORK_NAME --edge-services-cidr IP_RANGE \ --location REGION --external-ip-access --internet-access
次のように置き換えます。
NETWORK_POLICY_NAME
: このネットワーク ポリシーの名前NETWORK_NAME
: このリクエストのネットワーク。REGION-default
の形式にする必要があります。IP_RANGE
: インターネット アクセス ゲートウェイと外部 IP アクセス ゲートウェイに使用する CIDR 範囲(CIDR 表記)。接頭辞が /26 の RFC 1918 CIDR ブロックが必要ですREGION
: ネットワークのリージョン
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/REGION/networkPolicies?networkPolicyId=NETWORK_POLICY_NAME -d '{ "vmwareEngineNetwork":"projects/PROJECT_ID/locations/REGION/vmwareEngineNetworks/NETWORK_NAME", "edgeServiceCidr":IP_RANGE, "internetAccess: { "enabled": true }, "externalIp": { "enabled": true } }
次のように置き換えます。
NETWORK_POLICY_NAME
: このネットワーク ポリシーの名前PROJECT_ID
: このリクエストのプロジェクト IDREGION
: ネットワークのリージョンIP_RANGE
: インターネット アクセス ゲートウェイと外部 IP アクセス ゲートウェイに使用する CIDR 範囲(CIDR 表記)。接頭辞が /26 の RFC 1918 CIDR ブロックが必要です。NETWORK_NAME
: このネットワーク ポリシーが適用されるネットワーク。>REGION-default
の形式にする必要があります。
Python
次の関数を使用して、external_ip と internet_access を True
に設定した新しいネットワーク ポリシーを作成します。
パブリック IP アドレスを割り振る
ワークロード VM にパブリック IP アドレスを割り振るには、次の手順を行います。
- Google Cloud VMware Engine ポータルにアクセスします。
- [Network] > [Public IPs] に移動します。
- [Allocate] をクリックします。
- [名前] フィールドに、パブリック IP アドレス エントリを識別する名前を入力します。
- ワークロード VM を含むプライベート クラウドを選択します。
- 割り振られたパブリック IP を提供するロケーションを選択します。
- [アタッチ済みのローカル アドレス] フィールドに、このパブリック IP アドレスを割り当てる VM のローカル IP アドレスを入力します。
- [Submit] をクリックして、パブリック IP アドレスを割り振るタスクを開始します。
タスクのステータスは、[Activity] > [Tasks] ページで確認できます。割り振りが完了すると、[Operational] ステータスの新しいエントリが [Public IPs] ページに表示されます。