Mengurangi latensi dengan menggunakan kebijakan penempatan yang ringkas


Dokumen ini menjelaskan cara mengurangi latensi jaringan di antara instance virtual machine (VM) Anda dengan membuat dan menerapkan kebijakan penempatan yang ringkas pada instance tersebut.

Kebijakan penempatan yang ringkas menentukan bahwa VM Anda harus ditempatkan secara fisik lebih dekat satu sama lain. Hal ini dapat membantu meningkatkan performa dan mengurangi latensi jaringan di antara VM Anda ketika, misalnya, Anda menjalankan komputasi berperforma tinggi (HPC), machine learning (ML), atau workload server database.

Anda dapat menerapkan kebijakan penempatan rapat saat melakukan hal berikut:

  • Membuat atau mengupdate VM.
  • Membuat reservasi satu project.
  • Membuat VM secara massal.
  • Membuat template instance. Selanjutnya, template instance akan menerapkan kebijakan penempatan ringkas saat Anda menggunakannya untuk melakukan hal berikut:
    • Buat VM.
    • Membuat atau mengupdate grup instance terkelola (MIG).
    • Membuat reservasi satu project.

Sebelum memulai

  • Siapkan autentikasi, jika Anda belum melakukannya. Autentikasi adalah proses verifikasi identitas Anda untuk akses ke layanan dan API Google Cloud. Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke Compute Engine sebagai berikut.

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

    gcloud

    1. Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:

      gcloud init
    2. Menetapkan 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, lalu initialize dengan menjalankan perintah berikut:

      gcloud init

Peran yang diperlukan

Agar mendapatkan izin yang Anda perlukan untuk membuat dan menerapkan kebijakan penempatan yang ringkas ke VM, minta administrator untuk memberi Anda peran IAM Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) di VM atau project. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.

Peran bawaan ini berisi izin yang diperlukan untuk membuat dan menerapkan kebijakan penempatan yang ringkas ke VM. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk membuat dan menerapkan kebijakan penempatan yang ringkas ke VM:

  • Untuk membuat kebijakan penempatan: compute.resourcePolicies.create di project
  • Untuk menerapkan kebijakan penempatan ke VM yang ada: compute.instances.addResourcePolicies di project
  • Untuk melihat detail VM: compute.instances.get di project

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

Pembatasan

Selain pembatasan umum untuk kebijakan penempatan, kebijakan penempatan ringkas memiliki pembatasan berikut:

  • Untuk kebijakan penempatan yang ringkas, Anda dapat menggunakan max-distance (Pratinjau) untuk mengontrol jarak penempatan VM dengan lebih baik. Tabel berikut menguraikan jumlah VM yang didukung dan kebijakan pemeliharaan host untuk setiap nilai max-distance:

    max-distance nilai Deskripsi Jumlah maksimum VM Kebijakan pemeliharaan host yang didukung
    Tidak ditentukan Berdasarkan ketersediaan, VM ditempatkan sedekat mungkin satu sama lain. 1.500 Memigrasikan dan Menghentikan
    3 VM ditempatkan di cluster yang berdekatan untuk latensi rendah. 1.500 Memigrasikan dan Menghentikan
    2 VM ditempatkan di rak yang berdekatan dan mengalami latensi jaringan yang lebih rendah daripada VM yang ditempatkan di cluster yang berdekatan. 150 Hentikan
    1 VM ditempatkan di rak yang sama dan meminimalkan latensi jaringan sebanyak mungkin. 22 Hentikan
  • Anda hanya dapat menerapkan kebijakan penempatan yang ringkas ke seri mesin A2, A3, C2, C3, C2D, C3D, G2, H3, N2, dan N2D. Jika menggunakan max-distance saat membuat kebijakan penempatan yang ringkas, Anda tidak dapat menerapkan kebijakan ke seri mesin A3, G2, N2, dan N2D.

  • Anda tidak dapat menerapkan kebijakan penempatan rapat ke VM yang menentukan node tenant tunggal.

  • Jika Anda ingin membuat kebijakan penempatan yang ringkas untuk reservasi, lihat persyaratan tambahan untuk reservasi.

Membuat kebijakan penempatan rapat.

Untuk membuat kebijakan penempatan yang ringkas, gunakan salah satu metode berikut:

  • Direkomendasikan: Tanpa jumlah tetap.

    Anda dapat menerapkan kebijakan penempatan ringkas yang tidak menentukan jumlah VM yang tetap ke VM dengan jumlah yang tidak ditentukan. Hal ini membuat kebijakan penempatan yang ringkas akan efektif, berapa pun jumlah VM yang Anda terapkan.

  • Dengan jumlah tetap.

    Anda dapat menerapkan kebijakan penempatan ringkas yang menentukan jumlah VM yang tetap hanya ke jumlah VM yang tepat. Hal ini membuat kebijakan penempatan yang ringkas hanya berlaku jika diterapkan ke jumlah VM yang ditentukan.

Tanpa jumlah tetap

Anda dapat membuat kebijakan penempatan yang ringkas menggunakan gcloud CLI dan REST.

gcloud

Untuk membuat kebijakan penempatan yang ringkas, gunakan perintah gcloud compute resource-policies create group-placement dengan tanda --collocation=collocated.

gcloud compute resource-policies create group-placement POLICY_NAME \
    --collocation=collocated \
    --region=REGION

Ganti kode berikut:

  • POLICY_NAME: nama kebijakan yang akan dibuat.

  • REGION: region tempat membuat kebijakan. Jika Anda ingin menerapkan kebijakan penempatan rapat ke VM yang ada, buat kebijakan di region yang berisi zona tempat VM berada.

Secara opsional, untuk kontrol yang lebih baik terhadap seberapa jauh jarak penempatan VM saat Anda memiliki persyaratan latensi jaringan yang ketat, Anda dapat membuat kebijakan penempatan yang ringkas menggunakan perintah gcloud beta compute resource-policies create group-placement dengan flag --collocation=collocated dan --max-distance.

gcloud beta compute resource-policies create group-placement POLICY_NAME \
    --collocation=collocated \
    --max-distance=MAX_DISTANCE \
    --region=REGION

Ganti MAX_DISTANCE dengan konfigurasi jarak maksimum untuk VM Anda. Nilainya harus antara 1, yang menentukan penempatan VM di rak yang sama untuk mendapatkan latensi jaringan serendah mungkin, dan 3, yang menentukan penempatan VM di cluster yang berdekatan. Bergantung pada jenis dan zona mesin yang ditentukan di VM tempat Anda menerapkan kebijakan penempatan rapat, kondisi berikut akan berlaku:

  • Jika suatu zona memiliki kapasitas yang tersedia, kebijakan penempatan yang ringkas dengan nilai maxDistance yang lebih tinggi (seperti 3) dapat menyebabkan VM Anda ditempatkan lebih dekat satu sama lain.

  • Jika suatu zona tidak memiliki kapasitas, kebijakan penempatan yang ringkas dengan nilai maxDistance yang lebih rendah (seperti 1) kemungkinan besar akan menyebabkan penerapan kebijakan ke satu atau beberapa VM Anda gagal.

REST

Untuk membuat kebijakan penempatan yang ringkas, buat permintaan POST ke metode resourcePolicies.insert. Dalam isi permintaan, sertakan kolom collocation dan tetapkan ke COLLOCATED.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies

{
  "name": "POLICY_NAME",
  "groupPlacementPolicy": {
    "collocation": "COLLOCATED"
  }
}

Ganti kode berikut:

  • PROJECT_ID: ID project tempat Anda ingin membuat kebijakan penempatan.

  • REGION: region tempat membuat kebijakan penempatan. Jika Anda ingin menerapkan kebijakan penempatan rapat ke VM yang ada, buat kebijakan di region yang berisi zona tempat VM berada.

  • POLICY_NAME: nama kebijakan penempatan rapat yang akan dibuat.

Secara opsional, untuk kontrol yang lebih baik terhadap jarak penempatan VM saat Anda memiliki persyaratan latensi jaringan yang ketat, Anda dapat membuat kebijakan penempatan ringkas dengan membuat permintaan POST ke metode beta.resourcePolicies.insert. Dalam isi permintaan, sertakan kolom collocation yang ditetapkan ke COLLOCATED, dan kolom maxDistance.

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/resourcePolicies

{
  "name": "POLICY_NAME",
  "groupPlacementPolicy": {
    "collocation": "COLLOCATED",
    "maxDistance": "MAX_DISTANCE"
  }
}

Ganti MAX_DISTANCE dengan konfigurasi jarak maksimum untuk VM Anda. Nilainya harus antara 1, yang menentukan penempatan VM di rak yang sama untuk mendapatkan latensi jaringan serendah mungkin, dan 3, yang menentukan penempatan VM di cluster yang berdekatan. Bergantung pada jenis dan zona mesin yang ditentukan di VM tempat Anda menerapkan kebijakan penempatan rapat, kondisi berikut akan berlaku:

  • Jika suatu zona memiliki kapasitas yang tersedia, kebijakan penempatan yang ringkas dengan nilai maxDistance yang lebih tinggi (seperti 3) dapat menyebabkan VM Anda ditempatkan lebih dekat satu sama lain.

  • Jika suatu zona tidak memiliki kapasitas, kebijakan penempatan yang ringkas dengan nilai maxDistance yang lebih rendah (seperti 1) kemungkinan besar akan menyebabkan penerapan kebijakan ke satu atau beberapa VM Anda gagal.

Dengan jumlah tetap

Anda dapat membuat kebijakan penempatan ringkas yang menentukan jumlah VM yang tetap menggunakan gcloud CLI dan REST.

gcloud

Untuk membuat kebijakan penempatan ringkas yang menentukan jumlah VM tetap, gunakan perintah gcloud compute resource-policies create group-placement dengan flag --collocation=collocated dan --vm-count.

gcloud compute resource-policies create group-placement POLICY_NAME \
    --collocation=collocated \
    --region=REGION \
    --vm-count=VM_COUNT

Ganti kode berikut:

  • POLICY_NAME: nama kebijakan yang akan dibuat.

  • REGION: region tempat membuat kebijakan. Jika Anda ingin menerapkan kebijakan penempatan rapat ke VM yang ada, buat kebijakan di region yang berisi zona tempat VM berada.

  • VM_COUNT: jumlah pasti VM yang dapat Anda terapkan dengan kebijakan penempatan yang ringkas. Nilainya harus antara 1 dan jumlah maksimum VM yang dapat Anda terapkan kebijakan penempatan ringkas.

Secara opsional, untuk kontrol yang lebih baik terhadap seberapa jauh jarak penempatan VM saat Anda memiliki persyaratan latensi jaringan yang ketat, Anda dapat membuat kebijakan penempatan yang ringkas menggunakan perintah gcloud beta compute resource-policies create group-placement dengan flag --collocation=collocated, --max-distance, dan --vm-count.

gcloud beta compute resource-policies create group-placement POLICY_NAME \
    --collocation=collocated \
    --max-distance=MAX_DISTANCE \
    --region=REGION \
    --vm-count=VM_COUNT

Ganti MAX_DISTANCE dengan konfigurasi jarak maksimum untuk VM Anda. Nilainya harus antara 1, yang menentukan penempatan VM di rak yang sama untuk mendapatkan latensi jaringan serendah mungkin, dan 3, yang menentukan penempatan VM di cluster yang berdekatan. Bergantung pada jenis dan zona mesin yang ditentukan di VM tempat Anda menerapkan kebijakan penempatan rapat, kondisi berikut akan berlaku:

  • Jika suatu zona memiliki kapasitas yang tersedia, kebijakan penempatan yang ringkas dengan nilai maxDistance yang lebih tinggi (seperti 3) dapat menyebabkan VM Anda ditempatkan lebih dekat satu sama lain.

  • Jika suatu zona tidak memiliki kapasitas, kebijakan penempatan yang ringkas dengan nilai maxDistance yang lebih rendah (seperti 1) kemungkinan besar akan menyebabkan penerapan kebijakan ke satu atau beberapa VM Anda gagal.

REST

Untuk membuat kebijakan penempatan ringkas yang menentukan jumlah VM tetap, buat permintaan POST ke metode resourcePolicies.insert. Dalam isi permintaan, sertakan kolom collocation yang ditetapkan ke COLLOCATED, dan kolom vmCount.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies

{
  "name": "POLICY_NAME",
  "groupPlacementPolicy": {
    "collocation": "COLLOCATED",
    "vmCount": "VM_COUNT"
  }
}

Ganti kode berikut:

  • PROJECT_ID: ID project tempat Anda ingin membuat kebijakan penempatan.

  • REGION: region tempat membuat kebijakan penempatan. Jika Anda ingin menerapkan kebijakan penempatan rapat ke VM yang ada, buat kebijakan di region yang berisi zona tempat VM berada.

  • POLICY_NAME: nama kebijakan penempatan rapat yang akan dibuat.

  • VM_COUNT: jumlah pasti VM yang dapat Anda terapkan dengan kebijakan penempatan yang ringkas. Nilainya harus antara 1 dan jumlah maksimum VM yang dapat Anda terapkan kebijakan penempatan ringkas.

Secara opsional, untuk kontrol yang lebih baik terhadap jarak penempatan VM saat Anda memiliki persyaratan latensi jaringan yang ketat, Anda dapat membuat kebijakan penempatan ringkas dengan membuat permintaan POST ke metode beta.resourcePolicies.insert. Dalam isi permintaan, sertakan kolom collocation yang ditetapkan ke COLLOCATED, kolom maxDistance, dan kolom vmCount.

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/resourcePolicies

{
  "name": "POLICY_NAME",
  "groupPlacementPolicy": {
    "collocation": "COLLOCATED",
    "maxDistance": "MAX_DISTANCE",
    "vmCount": "VM_COUNT"
  }
}

Ganti MAX_DISTANCE dengan konfigurasi jarak maksimum untuk VM Anda. Nilainya harus antara 1, yang menentukan penempatan VM di rak yang sama untuk mendapatkan latensi jaringan serendah mungkin, dan 3, yang menentukan penempatan VM di cluster yang berdekatan. Bergantung pada jenis dan zona mesin yang ditentukan di VM tempat Anda menerapkan kebijakan penempatan rapat, kondisi berikut akan berlaku:

  • Jika suatu zona memiliki kapasitas yang tersedia, kebijakan penempatan yang ringkas dengan nilai maxDistance yang lebih tinggi (seperti 3) dapat menyebabkan VM Anda ditempatkan lebih dekat satu sama lain.

  • Jika suatu zona tidak memiliki kapasitas, kebijakan penempatan yang ringkas dengan nilai maxDistance yang lebih rendah (seperti 1) kemungkinan besar akan menyebabkan penerapan kebijakan ke satu atau beberapa VM Anda gagal.

Terapkan kebijakan penempatan rapat

Anda dapat menerapkan kebijakan penempatan yang ringkas ke VM yang ada, atau saat membuat VM, template instance, MIG, atau reservasi VM.

Untuk membuat resource Compute Engine yang menentukan kebijakan penempatan yang ringkas, pilih salah satu metode berikut:

Jika Anda ingin menentukan kebijakan penempatan yang ringkas saat membuat pemesanan project tunggal dengan menentukan properti secara langsung, lihat Membuat pemesanan untuk project tunggal.

Setelah kebijakan penempatan rapat diterapkan ke VM, Anda dapat memverifikasi lokasi fisik VM sehubungan dengan VM lain yang menentukan kebijakan yang sama.

Menerapkan kebijakan penempatan yang ringkas ke VM yang ada

Anda dapat menerapkan kebijakan penempatan yang ringkas ke VM yang ada menggunakan gcloud CLI dan REST.

Sebelum menerapkan kebijakan penempatan rapat ke VM yang sudah ada, pastikan hal berikut:

  • VM dan kebijakan penempatan yang ringkas terletak di project yang sama.

  • VM ini berada di dalam region tempat kebijakan penempatan yang ringkas berada.

  • VM menentukan kebijakan pemeliharaan host dan seri mesin yang didukung.

Jika tidak, kebijakan penempatan rapat ke VM yang ada akan gagal diterapkan.

gcloud

Untuk menerapkan kebijakan penempatan yang ringkas ke VM yang ada, gunakan perintah gcloud compute instances add-resource-policies dengan flag --resource-policies.

gcloud compute instances add-resource-policies VM_NAME \
    --resource-policies=POLICY_NAME \
    --zone=ZONE

Ganti kode berikut:

  • VM_NAME: nama VM yang ada.

  • POLICY_NAME: nama kebijakan penempatan ringkas yang ada.

  • ZONE: zona tempat VM berada.

REST

Untuk menerapkan kebijakan penempatan yang ringkas ke VM yang ada, buat permintaan POST ke metode instances.addResourcePolicies dengan kolom resourcePolicies.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/addResourcePolicies

{
  "resourcePolicies": [
    "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
  ]
}

Ganti kode berikut:

  • PROJECT_ID: ID project tempat kebijakan penempatan ringkas dan VM berada.

  • ZONE: zona tempat VM berada, yang harus berada di region tempat kebijakan penempatan yang ringkas berada.

  • VM_NAME: nama VM yang ada.

  • REGION: region tempat kebijakan penempatan yang ringkas berada.

  • POLICY_NAME: nama kebijakan penempatan ringkas yang ada.

Membuat VM yang menentukan kebijakan penempatan yang ringkas

Anda dapat membuat VM yang menentukan kebijakan penempatan ringkas yang sudah ada menggunakan gcloud CLI dan REST.

gcloud

Untuk membuat VM yang menentukan kebijakan penempatan yang ringkas, gunakan perintah gcloud compute instances create dengan flag --resource-policies.

Misalnya, untuk membuat VM yang menentukan jenis mesin c2d-standard-2, jalankan perintah berikut:

gcloud compute instances create VM_NAME \
    --machine-type=c2d-standard-2 \
    --maintenance-policy=MAINTENANCE_POLICY \
    --resource-policies=POLICY_NAME \
    --zone=ZONE

Ganti kode berikut:

  • VM_NAME: nama VM yang akan dibuat.

  • MAINTENANCE_POLICY: kebijakan pemeliharaan host VM. Jika kebijakan penempatan ringkas yang Anda tentukan menggunakan nilai max-distance berupa 1 atau 2, Anda hanya dapat menentukan TERMINATE. Jika tidak, Anda dapat menentukan MIGRATE atau TERMINATE.

  • POLICY_NAME: nama kebijakan penempatan ringkas yang ada.

  • ZONE: zona tempat untuk membuat VM. Anda hanya dapat membuat VM di zona yang berada dalam region kebijakan penempatan ringkas yang Anda tentukan.

REST

Untuk membuat VM yang menentukan kebijakan penempatan yang ringkas, buat permintaan POST ke metode instances.insert dengan kolom resourcePolicies.

Misalnya, untuk membuat VM yang menentukan jenis mesin c2d-standard-2, buat permintaan POST berikut:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances

{
  "machineType": "zones/ZONE/machineTypes/c2d-standard-2",
  "name": "VM_NAME",
  "resourcePolicies": [
    "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
  ],
  "scheduling": {
    "onHostMaintenance": "MAINTENANCE_POLICY"
  }
}

Ganti kode berikut:

  • PROJECT_ID: ID project tempat kebijakan penempatan ringkas berada.

  • ZONE: zona tempat untuk membuat VM dan lokasi jenis mesin. Anda hanya dapat membuat VM di zona yang berada dalam region kebijakan penempatan ringkas yang Anda tentukan.

  • VM_NAME: nama VM yang akan dibuat.

  • REGION: region tempat kebijakan penempatan yang ringkas berada.

  • POLICY_NAME: nama kebijakan penempatan ringkas yang ada.

  • MAINTENANCE_POLICY: kebijakan pemeliharaan host VM. Jika kebijakan penempatan ringkas yang Anda tentukan menggunakan nilai max-distance berupa 1 atau 2, Anda hanya dapat menentukan TERMINATE. Jika tidak, Anda dapat menentukan MIGRATE atau TERMINATE.

Untuk mengetahui informasi selengkapnya tentang opsi konfigurasi dan peran IAM dalam membuat VM, baca Membuat dan memulai instance VM.

Membuat VM secara massal yang menentukan kebijakan penempatan yang ringkas

Anda dapat membuat VM secara massal yang menentukan kebijakan penempatan ringkas yang sudah ada menggunakan gcloud CLI dan REST.

gcloud

Untuk membuat VM secara massal yang menentukan kebijakan penempatan yang ringkas, gunakan perintah gcloud compute instances bulk create dengan flag --resource-policies.

Misalnya, untuk membuat VM secara massal yang semuanya menentukan jenis mesin c2d-standard-2 dan kebijakan penempatan ringkas yang sama, jalankan perintah berikut:

gcloud compute instances bulk create \
    --async \
    --count=COUNT \
    --machine-type=c2d-standard-2 \
    --maintenance-policy=MAINTENANCE_POLICY \
    --name-pattern=NAME_PATTERN \
    --resource-policies=POLICY_NAME \
    --zone=ZONE

Ganti kode berikut:

  • COUNT: jumlah VM yang akan dibuat.

  • MAINTENANCE_POLICY: kebijakan pemeliharaan host VM. Jika kebijakan penempatan ringkas yang Anda tentukan menggunakan nilai max-distance berupa 1 atau 2, Anda hanya dapat menentukan TERMINATE. Jika tidak, Anda dapat menentukan MIGRATE atau TERMINATE.

  • NAME_PATTERN: pola nama untuk VM yang akan dibuat. Gunakan karakter hash (#) untuk menggantinya dengan urutan angka. Misalnya, menentukan vm-# akan membuat VM dengan nama vm-1, vm-2, dan sebagainya, hingga jumlah VM yang ditentukan dalam COUNT.

  • POLICY_NAME: nama kebijakan penempatan ringkas yang ada.

  • ZONE: zona tempat untuk membuat VM secara massal. Anda hanya dapat membuat VM di zona yang berada dalam region kebijakan penempatan ringkas yang Anda tentukan.

REST

Untuk membuat VM secara massal yang menentukan kebijakan penempatan ringkas, buat permintaan POST ke metode instances.bulkInsert dengan kolom resourcePolicies.

Misalnya, untuk membuat VM secara massal yang semuanya menentukan jenis mesin c2d-standard-2 dan kebijakan penempatan ringkas yang sama, buat permintaan POST berikut:

POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert

{
  "count": "COUNT",
  "machineType": "zones/ZONE/machineTypes/c2d-standard-2",
  "namePattern": "NAME_PATTERN",
  "instanceProperties": {
    "resourcePolicies": [
      "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
    ],
    "scheduling": {
      "onHostMaintenance": "MAINTENANCE_POLICY"
    }
  }
}

Ganti kode berikut:

  • PROJECT_ID: ID project tempat kebijakan penempatan ringkas berada.

  • ZONE: zona tempat membuat VM secara massal dan tempat jenis mesin berada. Anda hanya dapat membuat VM di zona yang berada dalam region kebijakan penempatan ringkas yang Anda tentukan.

  • COUNT: jumlah VM yang akan dibuat.

  • NAME_PATTERN: pola nama untuk VM yang akan dibuat. Gunakan karakter hash (#) untuk menggantinya dengan urutan angka. Misalnya, menentukan vm-# akan membuat VM dengan nama vm-1, vm-2, dan sebagainya, hingga jumlah VM yang ditentukan dalam COUNT.

  • REGION: region tempat kebijakan penempatan yang ringkas berada.

  • POLICY_NAME: nama kebijakan penempatan ringkas yang ada.

  • MAINTENANCE_POLICY: kebijakan pemeliharaan host VM. Jika kebijakan penempatan ringkas yang Anda tentukan menggunakan nilai max-distance berupa 1 atau 2, Anda hanya dapat menentukan TERMINATE. Jika tidak, Anda dapat menentukan MIGRATE atau TERMINATE.

Untuk mengetahui informasi selengkapnya tentang opsi konfigurasi atau peran IAM untuk membuat VM secara massal, lihat Membuat VM secara massal.

Membuat template instance yang menentukan kebijakan penempatan yang ringkas

Anda dapat membuat template instance yang menentukan kebijakan penempatan ringkas yang sudah ada menggunakan gcloud CLI dan REST.

Setelah membuat template instance, Anda dapat menggunakannya untuk melakukan hal berikut:

gcloud

Untuk membuat template instance yang menentukan kebijakan penempatan yang ringkas, gunakan perintah gcloud compute instance-templates create dengan flag --resource-policies.

Misalnya, untuk membuat template instance global yang menentukan jenis mesin c2d-standard-2 dan kebijakan penempatan ringkas yang ada, jalankan perintah berikut:

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=c2d-standard-2 \
    --maintenance-policy=MAINTENANCE_POLICY \
    --resource-policies=POLICY_NAME

Ganti kode berikut:

  • INSTANCE_TEMPLATE_NAME: nama template instance.

  • MAINTENANCE_POLICY: kebijakan pemeliharaan host VM. Jika kebijakan penempatan ringkas yang Anda tentukan menggunakan nilai max-distance berupa 1 atau 2, Anda hanya dapat menentukan TERMINATE. Jika tidak, Anda dapat menentukan MIGRATE atau TERMINATE.

  • POLICY_NAME: nama kebijakan penempatan ringkas yang ada.

REST

Untuk membuat template instance yang menentukan kebijakan penempatan yang ringkas, buat permintaan POST ke metode instanceTemplates.insert. Dalam isi permintaan, tentukan kolom resourcePolicies.

Misalnya, untuk membuat template instance global yang menentukan jenis mesin c2d-standard-2 dan kebijakan penempatan ringkas yang ada, buat permintaan POST berikut:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates

{
  "name": "INSTANCE_TEMPLATE_NAME",
  "machineType": "zones/ZONE/machineTypes/c2d-standard-2",
  "properties": {
    "resourcePolicies": {
      "POLICY_NAME"
    },
    "scheduling": {
      "onHostMaintenance": "MAINTENANCE_POLICY"
    }
  }
}

Ganti kode berikut:

  • PROJECT_ID: ID project tempat kebijakan penempatan ringkas yang ingin Anda terapkan ke template instance berada.

  • ZONE: zona tempat jenis mesin berada.

  • INSTANCE_TEMPLATE_NAME: nama template instance.

  • POLICY_NAME: nama kebijakan penempatan ringkas yang ada.

  • MAINTENANCE_POLICY: kebijakan pemeliharaan host VM. Jika kebijakan penempatan ringkas yang Anda tentukan menggunakan nilai max-distance berupa 1 atau 2, Anda hanya dapat menentukan TERMINATE. Jika tidak, Anda dapat menentukan MIGRATE atau TERMINATE.

Untuk mengetahui informasi selengkapnya tentang opsi konfigurasi dalam membuat template instance, baca Membuat template instance.

Menerapkan kebijakan penempatan yang ringkas ke VM di MIG

Setelah membuat template instance yang menentukan kebijakan penempatan ringkas, Anda dapat menggunakan template tersebut untuk melakukan hal berikut:

Jika Anda ingin menerapkan kebijakan penempatan yang ringkas ke MIG, sebaiknya buat atau terapkan kebijakan tersebut ke MIG regional dengan bentuk distribusi zona tunggal mana pun. Dengan cara ini, setiap kali MIG regional perlu menyebarkan skala dengan membuat VM, MIG akan memilih zona untuk membuat VM berdasarkan pemesanan, kuota, dan persyaratan hardware Anda.

Membuat MIG yang menentukan kebijakan penempatan yang ringkas

Anda dapat membuat MIG menggunakan template instance yang menentukan kebijakan penempatan ringkas menggunakan gcloud CLI dan REST.

gcloud

Untuk membuat MIG menggunakan template instance yang menentukan kebijakan penempatan ringkas, gunakan perintah gcloud compute instance-groups managed create dengan flag --template.

Misalnya, untuk membuat MIG regional dengan bentuk distribusi any-single-zone, jalankan perintah berikut:

gcloud compute instance-groups managed create MIG_NAME \
    --region=REGION \
    --size=SIZE \
    --target-distribution-shape=any-single-zone \
    --template=INSTANCE_TEMPLATE_NAME

Ganti kode berikut:

  • MIG_NAME: nama MIG yang akan dibuat.

  • REGION: region tempat membuat MIG, yang harus sesuai dengan region tempat kebijakan penempatan yang ringkas berada.

  • SIZE: ukuran MIG.

  • INSTANCE_TEMPLATE_NAME: nama template instance yang ada dan menentukan kebijakan penempatan yang ringkas.

REST

Untuk membuat MIG menggunakan template instance yang menentukan kebijakan penempatan ringkas, buat permintaan POST ke instanceGroupManagers.insert atau regionInstanceGroupManagers.insert dengan kolom instanceTemplate yang ditetapkan ke nama template yang ada.

Misalnya, untuk membuat MIG regional dengan properti VM default dan bentuk distribusi any-zona, buat permintaan POST berikut:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers

{
  "name": "MIG_NAME",
  "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME",
  "distributionPolicy": {
    "targetShape": "ANY_SINGLE_ZONE"
  },
  "targetSize": SIZE
}

Ganti kode berikut:

  • PROJECT_ID: ID project tempat kebijakan penempatan yang ringkas dan template instance yang menentukan kebijakan penempatan berada.

  • REGION: region tempat membuat MIG, yang harus sesuai dengan region tempat kebijakan penempatan yang ringkas berada.

  • MIG_NAME: nama MIG yang akan dibuat.

  • INSTANCE_TEMPLATE_NAME: nama template instance yang ada dan menentukan kebijakan penempatan yang ringkas.

  • SIZE: ukuran MIG.

Untuk mengetahui informasi selengkapnya tentang opsi konfigurasi dan peran IAM untuk membuat MIG, lihat Skenario dasar untuk membuat MIG.

Menerapkan kebijakan penempatan yang ringkas ke MIG yang ada

Anda dapat menerapkan kebijakan penempatan yang ringkas ke MIG yang ada menggunakan template instance yang menentukan kebijakan penempatan yang sama menggunakan gcloud CLI dan REST.

gcloud

Untuk mengupdate MIG agar dapat menggunakan template instance yang menentukan kebijakan penempatan yang ringkas, gunakan perintah gcloud compute instance-groups managed rolling-action start-update dengan flag --version=template.

Misalnya, untuk memperbarui MIG regional agar menggunakan template instance yang menentukan kebijakan penempatan ringkas dan mengganti VM yang ada dari MIG dengan VM baru yang menentukan properti template, jalankan perintah berikut:

gcloud compute instance-groups managed rolling-action start-update MIG_NAME \
    --region=REGION \
    --type=proactive \
    --version=template=INSTANCE_TEMPLATE_NAME

Ganti kode berikut:

  • MIG_NAME: nama MIG yang ada.

  • REGION: region tempat MIG berada. Anda hanya dapat menerapkan kebijakan penempatan rapat ke MIG yang berada di region yang sama.

  • INSTANCE_TEMPLATE_NAME: nama template instance yang ada dan menentukan kebijakan penempatan yang ringkas.

REST

Untuk memperbarui MIG agar menggunakan template instance yang menentukan kebijakan penempatan ringkas, dan otomatis menerapkan properti template serta kebijakan penempatan ke VM yang ada di MIG, buat PATCH ke instanceGroupManagers.insert atau regionInstanceGroupManagers.insert dengan kolom instanceTemplate.

Misalnya, untuk memperbarui MIG regional agar menggunakan template instance yang menentukan kebijakan penempatan ringkas dan mengganti VM yang ada dari MIG dengan VM baru yang menentukan properti template, buat permintaan berikut PATCH:

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME

{
  "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME",
  "updatePolicy": {
    "type": "PROACTIVE"
  }
}

Ganti kode berikut:

  • PROJECT_ID: ID project tempat MIG, kebijakan penempatan ringkas, dan template instance yang menentukan kebijakan penempatan berada.

  • REGION: region tempat MIG berada. Anda hanya dapat menerapkan kebijakan penempatan rapat ke MIG yang berada di region yang sama.

  • MIG_NAME: nama MIG yang ada.

  • INSTANCE_TEMPLATE_NAME: nama template instance yang ada dan menentukan kebijakan penempatan yang ringkas.

Untuk mengetahui informasi selengkapnya tentang opsi konfigurasi dan peran IAM untuk mengupdate VM di MIG, baca Mengupdate dan menerapkan konfigurasi baru ke VM di MIG.

Memverifikasi lokasi fisik VM

Setelah menerapkan kebijakan penempatan yang ringkas ke VM, Anda dapat melihat pengaruh kebijakan penempatan yang ringkas terhadap lokasi fisiknya sehubungan dengan VM lain yang menentukan kebijakan yang sama. Hal ini membantu Anda menentukan apakah kebijakan penempatan yang ringkas telah diterapkan dengan benar ke VM dan memetakan VM mana yang paling dekat satu sama lain.

Anda dapat memverifikasi lokasi fisik VM yang menentukan kebijakan penempatan menggunakan gcloud CLI dan REST.

gcloud

Untuk melihat lokasi fisik VM yang menentukan kebijakan penempatan yang ringkas, gunakan perintah gcloud compute instances describe dengan flag --format.

gcloud compute instances describe VM_NAME \
    --format="table[box,title=VM-Position](resourcePolicies.scope():sort=1,resourceStatus.physicalHost:label=location)" \
    --zone=ZONE

Ganti kode berikut:

  • VM_NAME: nama VM yang ada.

  • ZONE: zona tempat VM berada.

Outputnya mirip dengan hal berikut ini:

VM-Position

RESOURCE_POLICIES: us-central1/resourcePolicies/example-policy']
PHYSICAL_HOST: /CCCCCCC/BBBBBB/AAAA

Nilai untuk kolom PHYSICAL_HOST disusun oleh tiga bagian. Setiap bagian ini mewakili cluster, rak, dan host tempat VM berada.

Saat membandingkan posisi dua VM yang menentukan kebijakan penempatan ringkas yang sama, semakin banyak bagian dalam kolom PHYSICAL_HOST yang dibagikan VM, semakin dekat lokasinya satu sama lain. Misalnya, jika dua VM menentukan salah satu dari contoh nilai berikut untuk kolom PHYSICAL_HOST:

  • /CCCCCCC/xxxxxx/xxxx: dua VM ditempatkan di cluster yang sama, yang sama dengan nilai max-distance 2. VM yang ditempatkan di cluster yang sama mengalami latensi jaringan yang rendah.

  • /CCCCCCC/BBBBBB/xxxx: dua VM ditempatkan di rak yang sama, yang sama dengan nilai max-distance 1. VM yang ditempatkan di rak yang sama memiliki latensi jaringan yang lebih rendah daripada VM yang ditempatkan di cluster yang sama.

  • /CCCCCCC/BBBBBB/AAAA: kedua VM berbagi host yang sama. VM yang ditempatkan di host yang sama akan meminimalkan latensi jaringan serendah mungkin.

REST

Untuk melihat lokasi fisik VM yang menentukan kebijakan penempatan yang ringkas, buat permintaan GET ke metode instances.get.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME

Ganti kode berikut:

  • PROJECT_ID: ID project tempat VM berada.

  • ZONE: zona tempat VM berada.

  • VM_NAME: nama VM yang ada, yang menentukan kebijakan penempatan.

Outputnya mirip dengan hal berikut ini:

{
...
"resourcePolicies": [
  "https://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1/resourcePolicies/example-policy"
],
"resourceStatus": {
  "physicalHost": "/xxxxxxxx/xxxxxx/xxxxx"
},
...
}

Nilai untuk kolom physicalHost disusun oleh tiga bagian. Setiap bagian ini mewakili cluster, rak, dan host tempat VM berada.

Saat membandingkan posisi dua VM yang menentukan kebijakan penempatan ringkas yang sama, semakin banyak bagian dalam kolom physicalHost yang dibagikan VM, semakin dekat lokasinya satu sama lain. Misalnya, jika dua VM menentukan salah satu dari contoh nilai berikut untuk kolom physicalHost:

  • /CCCCCCC/xxxxxx/xxxx: dua VM ditempatkan di cluster yang sama, yang sama dengan nilai max-distance 2. VM yang ditempatkan di cluster yang sama mengalami latensi jaringan yang rendah.

  • /CCCCCCC/BBBBBB/xxxx: dua VM ditempatkan di rak yang sama, yang sama dengan nilai max-distance 1. VM yang ditempatkan di rak yang sama memiliki latensi jaringan yang lebih rendah daripada VM yang ditempatkan di cluster yang sama.

  • /CCCCCCC/BBBBBB/AAAA: kedua VM berbagi host yang sama. VM yang ditempatkan di host yang sama akan meminimalkan latensi jaringan serendah mungkin.

Apa langkah selanjutnya?