Melihat topologi instance Compute Engine

Dokumen ini menjelaskan cara melihat topologi instance Compute Engine yang sedang berjalan. Setelah membuat dan memulai instance komputasi, Anda dapat melihat lokasi fisiknya di zona untuk memahami topologi cluster. Informasi ini membantu Anda melakukan hal berikut:

  • Mengatur tugas: Anda dapat menyesuaikan desain workload, misalnya, menempatkan tugas yang memerlukan banyak komunikasi pada instance komputasi yang secara fisik paling dekat.

  • Memecahkan masalah: Anda dapat menyelidiki masalah latensi atau performa jaringan jika instance komputasi tertentu ternyata ditempatkan berjauhan.

Untuk memverifikasi instance komputasi mana yang berjalan di project Anda, lihat daftar instance komputasi.

Batasan

Anda hanya dapat melihat topologi instance komputasi yang memenuhi satu atau beberapa persyaratan berikut:

Memahami topologi instance komputasi

Setiap instance komputasi berjalan di server fisik, a host, yang berada di blok server. Setiap blok termasuk dalam cluster, yang berada di pusat data dalam zona Google Cloud . Saat melihat instance komputasi yang memenuhi persyaratan tertentu, Anda dapat memahami topologinya dalam kaitannya dengan instance komputasi lain yang memenuhi persyaratan yang sama. Secara khusus, Anda dapat memahami lokasi fisik instance komputasi dengan memeriksa sub-kolom berikut di kolom physicalHostTopology setiap instance komputasi:

  • Cluster (cluster): nama global cluster tempat instance komputasi Anda berada. Cluster adalah pengelompokan logis tingkat tinggi dari beberapa host, yang dapat mencakup beberapa blok, yang bekerja sama sebagai satu kumpulan resource.

  • Blok (block): ID khusus organisasi dari blok tempat instance komputasi Anda berada. Blok adalah kumpulan beberapa host yang dikelompokkan bersama. Instance komputasi di blok yang sama mengalami latensi jaringan yang rendah.

  • Sub-blok (subBlock): ID khusus organisasi dari sub-blok tempat instance komputasi Anda berada. Sub-blok adalah subdivisi fisik dalam blok, yang mengelompokkan host dalam satu penutup fisik. Instance komputasi di sub-blok yang sama mengalami latensi jaringan yang lebih rendah daripada instance komputasi di blok yang sama.

  • Host (host): ID khusus organisasi dari host tempat instance komputasi Anda berada. Host adalah satu server fisik tempat instance komputasi Anda berjalan. Setiap host memiliki vCPU fisik, memori, penyimpanan, dan kartu antarmuka jaringan (NIC) sendiri. Instance komputasi di host yang berdekatan mengalami latensi jaringan serendah mungkin.

Semakin banyak sub-kolom yang dibagikan oleh dua instance komputasi yang sedang berjalan, semakin dekat secara fisik keduanya. Informasi ini membantu Anda mengoptimalkan workload dengan mengatur tugas sehingga Anda dapat meminimalkan latensi jaringan, atau dengan mendesain sistem yang lebih tangguh.

Sebelum memulai

  • Siapkan autentikasi jika Anda belum melakukannya. Autentikasi memverifikasi identitas Anda untuk mengakses Google Cloud layanan dan API. Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke Compute Engine dengan memilih salah satu opsi berikut:

    Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:

    Konsol

    Saat menggunakan Google Cloud konsol untuk mengakses Google Cloud layanan dan API, Anda tidak perlu menyiapkan autentikasi.

    gcloud

    1. Instal Google Cloud CLI. Setelah penginstalan, 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 .

  • Tetapkan region dan zona default.
  • REST

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

      Instal Google Cloud CLI.

      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

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk memverifikasi topologi instance komputasi, minta administrator untuk memberi Anda Compute Viewer (roles/compute.viewer) peran IAM pada project. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran yang telah ditentukan ini berisi izin yang diperlukan untuk memverifikasi topologi instance komputasi Anda. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk memverifikasi topologi instance komputasi Anda:

  • Untuk melihat detail instance komputasi: compute.instances.get pada project
  • Untuk melihat daftar instance komputasi: compute.instances.list pada project

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Memverifikasi topologi instance komputasi

Untuk memverifikasi topologi instance komputasi yang sedang berjalan, gunakan salah satu metode berikut:

Memverifikasi topologi instance komputasi menggunakan Google Cloud konsol, gcloud CLI, atau REST

Untuk melihat topologi beberapa instance komputasi secara bersamaan, gunakan REST API. Jika tidak, pilih salah satu opsi berikut:

Konsol

  1. Di Google Cloud konsol, buka halaman VM instances.

    Buka instance VM

  2. Di kolom Name, klik nama instance komputasi yang ingin Anda lihat detailnya. Halaman yang memberikan detail instance akan muncul dan tab Details akan dipilih.

  3. Di bagian Basic information, periksa nilai kolom Physical host.

gcloud

Untuk melihat topologi instance komputasi yang sedang berjalan, gunakan gcloud compute instances describe perintah dengan flag --flatten=resourceStatus.physicalHostTopology:

gcloud compute instances describe INSTANCE_NAME \
    --flatten=resourceStatus.physicalHostTopology \
    --zone=ZONE

Ganti kode berikut:

  • INSTANCE_NAME: nama instance komputasi.

  • ZONE: zona tempat instance komputasi berada.

Outputnya mirip dengan hal berikut ini:

---
block: 3e3056e23cf91a5cb4a8621b6a52c100
cluster: europe-west1-cluster-jfhb
host: 1215168a4ecdfb434fd4d28056589059
subBlock: 0fc09525cbd5abd734342893ca1c083f

REST

Untuk melihat topologi instance komputasi yang sedang berjalan, buat salah satu permintaan GET berikut. Saat membuat permintaan, Anda harus menyertakan parameter kueri fields dan menentukan untuk hanya menampilkan kolom name, machineType, dan physicalHostTopology dari instance komputasi. Anda juga harus menyertakan parameter kueri filter dan menentukan untuk hanya mencantumkan instance komputasi yang sedang berjalan.

  • Untuk melihat daftar instance Anda di semua zona: instances.aggregatedList metode

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/instances?fields=items.name,items.machineType,items.resourceStatus.physicalHostTopology&filter=status=RUNNING
    
  • Untuk melihat daftar instance Anda di zona tertentu: instances.list metode

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances?fields=items.name,items.machineType,items.resourceStatus.physicalHostTopology&filter=status=RUNNING
    

Ganti kode berikut:

  • PROJECT_ID: ID project tempat instance komputasi berada.

  • ZONE: zona tempat instance komputasi berada.

Outputnya mirip dengan yang berikut ini. Dalam contoh berikut, instance komputasi vm-01 dan vm-02 berada di blok yang sama.

{
  "items": [
    {
      "name": "vm-01",
      "machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g",
      "resourceStatus": {
        "physicalHostTopology": {
          "block": "3e3056e23cf91a5cb4a8621b6a52c100",
          "cluster": "europe-west1-cluster-jfhb",
          "host": "1215168a4ecdfb434fd4d28056589059",
          "subBlock": "0fc09525cbd5abd734342893ca1c083f"
        }
      }
    },
    {
      "name": "vm-02",
      "machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g",
      "resourceStatus": {
        "physicalHostTopology": {
          "block": "3e3056e23cf91a5cb4a8621b6a52c100",
          "cluster": "europe-west1-cluster-jfhb",
          "host": "2326279b5ecdfc545fd5e39167698168",
          "subBlock": "1fc18636cbd4abd623553784ca2c174e"
        }
      }
    },
    ...
  ]
}

Jika ingin mempersempit daftar instance komputasi, edit ekspresi filter di filter parameter kueri.

Memverifikasi topologi instance komputasi dengan mengkueri kunci metadata

Untuk melihat topologi instance komputasi yang sedang berjalan dengan mengkueri kunci metadata physical_host_topology, pilih salah satu opsi berikut:

Instance Linux

  1. Hubungkan ke instance Linux Anda.

  2. Kueri kunci metadata physical_host_topology menggunakan curl:

    user@myinst:~$ curl -s -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topology
    

    Outputnya mirip dengan hal berikut ini:

    {
      "block": "3e3056e23cf91a5cb4a8621b6a52c100",
      "cluster": "europe-west1-cluster-jfhb",
      "host": "2326279b5ecdfc545fd5e39167698168",
      "subBlock": "1fc18636cbd4abd623553784ca2c174e"
    }
    

Instance Windows

  1. Hubungkan ke instance Windows Anda.

  2. Kueri kunci metadata physical_host_topology menggunakan perintah Invoke-RestMethod:

    PS C:\> 
    $value = (Invoke-RestMethod `
            -Headers @{'Metadata-Flavor' = 'Google'} `
            -Uri "http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topology")
    $value
    

    Outputnya mirip dengan hal berikut ini:

    {
      "block": "3e3056e23cf91a5cb4a8621b6a52c100",
      "cluster": "europe-west1-cluster-jfhb",
      "host": "2326279b5ecdfc545fd5e39167698168",
      "subBlock": "1fc18636cbd4abd623553784ca2c174e"
    }
    

Langkah berikutnya