同じ Virtual Private Cloud ネットワーク内にある VM は、IP アドレスではなく内部 DNS 名を使用して相互にアクセスできます。
始める前に
-
まだ設定していない場合は、認証を設定します。認証とは、Google Cloud サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のように Compute Engine に対する認証を行います。
このページのサンプルをどのように使うかに応じて、タブを選択してください。
コンソール
Google Cloud コンソールを使用して Google Cloud サービスと API にアクセスする場合、認証を設定する必要はありません。
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- デフォルトのリージョンとゾーンを設定します。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
-
VM の内部 DNS 名を確認する
VM インスタンスに割り当てられた内部 DNS 名を読み取るには、次の操作を行います。内部 DNS 名を取得するには、hostname
メタデータ エントリをクエリします。
- VM に接続します。
hostname
メタデータに対してクエリを実行します。Linux VM
curl "http://metadata.google.internal/computeMetadata/v1/instance/hostname" \ -H "Metadata-Flavor: Google"
Windows VM
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 トラフィックを許可するファイアウォール ルールを作成した場合に機能します。
$ ping VM_NAME.ZONE.c.PROJECT_ID.internal -c 1 PING VM_NAME.ZONE.c.PROJECT_ID.internal (10.240.0.17) 56(84) bytes of data. 64 bytes from VM_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 アドレスを構成する。