内部 DNS を使用して VM にアクセスする


同じ 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:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. 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 メタデータ エントリをクエリします。

  1. VM に接続する
  2. 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 が属するプロジェクト

次のステップ