Mengakses VM menggunakan DNS internal


VM dalam jaringan Virtual Private Cloud yang sama dapat saling mengakses menggunakan nama DNS internal, bukan alamat IP.

Sebelum memulai

  • Jika Anda belum melakukannya, siapkan autentikasi. Autentikasi adalah proses yang digunakan untuk memverifikasi identitas Anda untuk mengakses Google Cloud layanan dan API. Untuk menjalankan kode atau sampel dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke Compute Engine dengan memilih salah satu opsi berikut:

    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. Menginstal Google Cloud CLI. Setelah penginstalan, lakukan inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:

      gcloud init

      Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

    2. Set a default region and zone.

    REST

    Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, Anda menggunakan kredensial yang Anda berikan ke gcloud CLI.

      Menginstal Google Cloud CLI. Setelah penginstalan, lakukan inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:

      gcloud init

      Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

    Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud .

Menentukan nama DNS internal untuk VM

Gunakan prosedur berikut untuk membaca nama DNS internal yang ditetapkan ke instance VM. Anda bisa mendapatkan nama DNS internal dengan membuat kueri entri metadata hostname.

  1. Menghubungkan ke VM.
  2. Buat kueri metadata hostname:

    VM Linux

    curl "http://metadata.google.internal/computeMetadata/v1/instance/hostname" \
      -H "Metadata-Flavor: Google"
    

    VM Windows

    Invoke-RestMethod `
      -Headers @{"Metadata-Flavor" = "Google"} `
      -Uri "http://metadata.google.internal/computeMetadata/v1/instance/hostname"
    

Server metadata menampilkan nama host VM dalam salah satu format berikut, yang menunjukkan jenis nama DNS internal yang digunakan VM:

  • DNS Zona: VM_NAME.ZONE.c.PROJECT_ID.internal
  • DNS Global: VM_NAME.c.PROJECT_ID.internal

Pada output:

  • VM_NAME: nama VM
  • ZONE: zona tempat VM berada
  • PROJECT_ID: project tempat VM berada

Mengakses VM dengan nama DNS internal

Untuk mengakses VM, gunakan nama DNS internal, bukan alamat IP.

Contoh berikut menggunakan ping untuk menghubungi VM yang menggunakan DNS zona. Metode ini berfungsi, asalkan Anda telah membuat aturan firewall yang mengizinkan traffic ICMP yang masuk ke instance.

$ 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

Ganti kode berikut:

  • VM_NAME: nama VM
  • ZONE: zona tempat VM berada
  • PROJECT_ID: project tempat VM berada

Langkah berikutnya