同じ Virtual Private Cloud ネットワーク内にある VM は、IP アドレスではなく内部 DNS 名を使用して相互にアクセスできます。
始める前に
-
まだ設定していない場合は、認証を設定します。認証とは、Google Cloud サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のいずれかのオプションを選択して Compute Engine に対する認証を行います。
Select the tab for how you plan to use the samples on this page:
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
詳細については、 Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。
-
VM の内部 DNS 名を確認する
VM インスタンスに割り当てられた内部 DNS 名を読み取るには、次の操作を行います。内部 DNS 名を取得するには、hostname
メタデータ エントリをクエリします。
- VM に接続します。
hostname
メタデータに対してクエリを実行します。curl "http://metadata.google.internal/computeMetadata/v1/instance/hostname" \ -H "Metadata-Flavor: Google"
Invoke-RestMethod ` -Headers @{"Metadata-Flavor" = "Google"} ` -Uri "http://metadata.google.internal/computeMetadata/v1/instance/hostname"
メタデータ サーバーは、次のいずれかの形式で VM のホスト名を返し、VM が使用する内部 DNS 名のタイプを示します。
- ゾーン DNS:
VM_NAME
.ZONE
.c
.PROJECT_ID
.internal
- グローバル DNS:
VM_NAME
.c
.PROJECT_ID
.internal
出力の中で:
VM_NAME
: VM の名前ZONE
: VM を配置するゾーンPROJECT_ID
: VM が属するプロジェクト
内部 DNS 名で VM にアクセスする
VM にアクセスするには、IP アドレスの代わりに内部 DNS 名を使用します。
次の例では、ping
を使用して、ゾーン DNS を使用する VM に接続します。この方法は、インスタンスへの受信 ICMP トラフィックを許可するファイアウォール ルールを作成した場合に機能します。
$ pingVM_NAME .ZONE .c.PROJECT_ID .internal -c 1 PINGVM_NAME .ZONE .c.PROJECT_ID .internal (10.240.0.17) 56(84) bytes of data. 64 bytes fromVM_NAME .ZONE .c.PROJECT_ID .internal (10.240.0.17): icmp_seq=1 ttl=64 time=0.136 ms
次のように置き換えます。
VM_NAME
: VM の名前ZONE
: VM を配置するゾーンPROJECT_ID
: VM が属するプロジェクト
次のステップ
- ゾーン DNS へ移行する。
- Compute Engine の内部 DNS 名の詳細を見る。
- VM の静的 IP アドレスを構成する。