Mengurangi latensi dengan menggunakan kebijakan penempatan rapat

Dokumen ini menjelaskan cara mengurangi latensi jaringan di antara instance Compute Engine dengan membuat dan menerapkan kebijakan penempatan yang ringkas pada instance tersebut. Untuk mempelajari lebih lanjut kebijakan penempatan, termasuk seri mesin yang didukung, batasan, dan harganya, lihat Ringkasan kebijakan penempatan.

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

Sebelum memulai

  • Siapkan autentikasi jika Anda belum melakukannya. Autentikasi memverifikasi identitas Anda untuk mengakses layanan Google Cloud dan API. Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat mengautentikasi 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. 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.

    2. Set a default region and zone.

    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. 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.

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

Peran yang diperlukan

Agar mendapatkan izin yang diperlukan untuk membuat dan menerapkan kebijakan penempatan yang ringkas ke instance komputasi, minta administrator Anda untuk memberi Anda peran IAM berikut di project Anda:

Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.

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

Izin yang diperlukan

Izin berikut diperlukan untuk membuat dan menerapkan kebijakan penempatan ringkas ke instance komputasi:

  • Untuk membuat kebijakan penempatan: compute.resourcePolicies.create pada project
  • Untuk menerapkan kebijakan penempatan ke instance komputasi yang ada: compute.instances.addResourcePolicies pada project
  • Untuk membuat instance komputasi:
    • compute.instances.create pada project
    • Untuk menggunakan image kustom guna membuat VM: compute.images.useReadOnly pada image
    • Untuk menggunakan snapshot guna membuat VM: compute.snapshots.useReadOnly pada snapshot
    • Untuk menggunakan template instance guna membuat VM: compute.instanceTemplates.useReadOnly di template instance
    • Untuk menetapkan jaringan lama ke VM: compute.networks.use pada project
    • Untuk menentukan alamat IP statis untuk VM: compute.addresses.use di project
    • Untuk menetapkan alamat IP eksternal ke VM saat menggunakan jaringan lama: compute.networks.useExternalIp di project
    • Untuk menentukan subnet bagi VM: compute.subnetworks.use pada project atau pada subnet yang dipilih
    • Untuk menetapkan alamat IP eksternal ke VM saat menggunakan jaringan VPC: compute.subnetworks.useExternalIp di project atau di subnet yang dipilih
    • Untuk menetapkan metadata instance VM untuk VM: compute.instances.setMetadata di project
    • Untuk menyetel tag untuk VM: compute.instances.setTags di VM
    • Untuk menyetel label VM: compute.instances.setLabels di VM
    • Untuk menyetel akun layanan yang akan digunakan VM: compute.instances.setServiceAccount di VM
    • Untuk membuat disk baru untuk VM: compute.disks.create di project
    • Untuk memasang disk yang ada dalam mode hanya baca atau baca-tulis: compute.disks.use pada disk
    • Untuk memasang disk yang ada dalam mode hanya baca: compute.disks.useReadOnly pada disk
  • Untuk membuat pemesanan: compute.reservations.create pada project
  • Untuk membuat template instance: compute.instanceTemplates.create pada project
  • Untuk membuat grup instance terkelola (MIG): compute.instanceGroupManagers.create pada project
  • Untuk melihat detail instance komputasi: compute.instances.get pada project

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

Membuat kebijakan penempatan rapat.

Sebelum Anda membuat kebijakan penempatan rapat, pertimbangkan hal berikut:

  • Jika Anda ingin menerapkan kebijakan penempatan rapat ke instance komputasi selain M3, M2, M1, N2D, atau N2, sebaiknya tentukan nilai jarak maksimum.

  • Jika Anda ingin menerapkan kebijakan penempatan rapat ke instance A3 Mega, A3 High, atau A3 Edge yang dibuat sebelum 1 Oktober 2025, hubungi tim akun Anda.

Untuk membuat kebijakan penempatan rapat, pilih salah satu opsi berikut:

gcloud

  • Untuk menerapkan kebijakan penempatan ringkas ke instance M3, M2, M1, N2D, atau N2, buat kebijakan menggunakan perintah gcloud compute resource-policies create group-placement dengan flag --collocation=collocated.

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

    Ganti kode berikut:

    • POLICY_NAME: nama kebijakan penempatan ringkas.

    • REGION: region tempat membuat kebijakan penempatan.

  • Untuk menerapkan kebijakan penempatan ringkas ke instance compute lain yang didukung, buat kebijakan 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 kode berikut:

    • POLICY_NAME: nama kebijakan penempatan ringkas.

    • MAX_DISTANCE: konfigurasi jarak maksimum untuk instance komputasi Anda. Nilainya harus antara 1, yang menentukan untuk menempatkan instance komputasi di rak yang sama untuk latensi jaringan serendah mungkin, dan 3, yang menentukan untuk menempatkan instance komputasi di cluster yang berdekatan.

    • REGION: region tempat membuat kebijakan penempatan.

REST

  • Untuk menerapkan kebijakan penempatan ringkas ke instance M3, M2, M1, N2D, atau N2, buat kebijakan dengan membuat 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.

    • POLICY_NAME: nama kebijakan penempatan ringkas.

  • Untuk menerapkan kebijakan penempatan ringkas ke instance komputasi lain yang didukung, buat kebijakan dengan membuat permintaan POST ke metode beta.resourcePolicies.insert. Dalam isi permintaan, sertakan hal berikut:

    • Kolom collocation ditetapkan ke COLLOCATED.

    • 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 kode berikut:

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

    • REGION: region tempat membuat kebijakan penempatan.

    • POLICY_NAME: nama kebijakan penempatan ringkas.

    • MAX_DISTANCE: konfigurasi jarak maksimum untuk instance komputasi Anda. Nilainya harus antara 1, yang menentukan untuk menempatkan instance komputasi di rak yang sama untuk latensi jaringan serendah mungkin, dan 3, yang menentukan untuk menempatkan instance komputasi di cluster yang berdekatan.

Menerapkan kebijakan penempatan rapat

Anda dapat menerapkan kebijakan penempatan ringkas ke instance komputasi atau grup instance terkelola (MIG) yang ada, atau saat membuat instance komputasi, template instance, MIG, atau reservasi instance komputasi.

Untuk menerapkan kebijakan penempatan rapat ke resource Compute Engine, pilih salah satu metode berikut:

Setelah menerapkan kebijakan penempatan yang ringkas ke instance, Anda dapat memverifikasi lokasi fisik instance sehubungan dengan instance lain yang menentukan kebijakan penempatan yang sama.

Menerapkan kebijakan ke instance yang ada

Sebelum menerapkan kebijakan penempatan rapat ke instance komputasi yang ada, pastikan hal berikut:

Jika tidak, penerapan kebijakan penempatan rapat ke instance komputasi akan gagal. Jika instance komputasi sudah menentukan kebijakan penempatan dan Anda ingin menggantinya, lihat Mengganti kebijakan penempatan di instance komputasi.

Untuk menerapkan kebijakan penempatan rapat ke instance komputasi yang ada, pilih salah satu opsi berikut:

gcloud

  1. Hentikan instance komputasi.

  2. Untuk menerapkan kebijakan penempatan yang ringkas ke instance komputasi yang ada, gunakan perintah gcloud compute instances add-resource-policies.

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

    Ganti kode berikut:

    • INSTANCE_NAME: nama instance compute yang ada.

    • POLICY_NAME: nama kebijakan penempatan ringkas yang ada.

    • ZONE: zona tempat instance komputasi berada.

  3. Mulai ulang instance.

REST

  1. Hentikan instance komputasi.

  2. Untuk menerapkan kebijakan penempatan ringkas ke instance komputasi yang ada, buat permintaan POST ke metode instances.addResourcePolicies.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/addResourcePolicies
    
    {
      "resourcePolicies": [
        "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
      ]
    }
    

    Ganti kode berikut:

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

    • ZONE: zona tempat instance komputasi berada.

    • INSTANCE_NAME: nama instance compute yang ada.

    • REGION: region tempat kebijakan penempatan yang ringkas berada.

    • POLICY_NAME: nama kebijakan penempatan ringkas yang ada.

  3. Mulai ulang instance komputasi.

Menerapkan kebijakan saat membuat instance

Anda hanya dapat membuat instance komputasi yang menentukan kebijakan penempatan compact di region yang sama dengan kebijakan penempatan.

Untuk membuat instance komputasi yang menentukan kebijakan penempatan rapat, pilih salah satu opsi berikut:

gcloud

Untuk membuat instance komputasi yang menentukan kebijakan penempatan ringkas, gunakan perintah gcloud compute instances create dengan flag --maintenance-policy dan --resource-policies.

gcloud compute instances create INSTANCE_NAME \
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=MAINTENANCE_POLICY \
    --resource-policies=POLICY_NAME \
    --zone=ZONE

Ganti kode berikut:

  • INSTANCE_NAME: nama instance Compute yang akan dibuat.

  • MACHINE_TYPE: jenis mesin yang didukung untuk kebijakan penempatan rapat.

  • MAINTENANCE_POLICY: kebijakan pemeliharaan host instance komputasi. Jika kebijakan penempatan rapat yang Anda tentukan menggunakan nilai jarak maksimum 1 atau 2, atau jenis mesin yang Anda pilih tidak mendukung migrasi langsung, Anda hanya dapat menentukan TERMINATE. Jika tidak, Anda dapat menentukan MIGRATE atau TERMINATE.

  • POLICY_NAME: nama kebijakan penempatan ringkas yang ada.

  • ZONE: zona tempat membuat instance komputasi.

REST

Untuk membuat instance komputasi yang menentukan kebijakan penempatan ringkas, buat permintaan POST ke metode instances.insert. Dalam isi permintaan, sertakan kolom onHostMaintenance dan resourcePolicies.

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

{
  "name": "INSTANCE_NAME",
  "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
  "disks": [
    {
      "boot": true,
      "initializeParams": {
        "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
      }
    }
  ],
  "networkInterfaces": [
    {
      "network": "global/networks/default"
    }
  ],
  "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 instance komputasi akan dibuat dan tempat jenis mesin berada. Anda hanya dapat menentukan zona di region kebijakan penempatan compact.

  • INSTANCE_NAME: nama instance Compute yang akan dibuat.

  • MACHINE_TYPE: jenis mesin yang didukung untuk kebijakan penempatan rapat.

  • IMAGE_PROJECT: project gambar yang berisi gambar—misalnya, debian-cloud. Untuk mengetahui informasi selengkapnya tentang project gambar yang didukung, lihat Gambar publik.

  • IMAGE: tentukan salah satu dari berikut ini:

    • Versi tertentu dari OS image—misalnya, debian-12-bookworm-v20240617.

    • Kelompok image, yang harus diformat sebagai family/IMAGE_FAMILY. Tindakan ini menentukan image OS terbaru yang masih digunakan. Misalnya, jika Anda menentukan family/debian-12, versi terbaru dalam kelompok image Debian 12 akan digunakan. Untuk mengetahui informasi selengkapnya tentang cara menggunakan kelompok image, lihat Praktik terbaik kelompok image.

  • REGION: region tempat kebijakan penempatan yang ringkas berada.

  • POLICY_NAME: nama kebijakan penempatan ringkas yang ada.

  • MAINTENANCE_POLICY: kebijakan pemeliharaan host instance komputasi. Jika kebijakan penempatan rapat yang Anda tentukan menggunakan nilai jarak maksimum 1 atau 2, atau jenis mesin yang Anda pilih tidak mendukung migrasi langsung, Anda hanya dapat menentukan TERMINATE. Jika tidak, Anda dapat menentukan MIGRATE atau TERMINATE.

Untuk mengetahui informasi selengkapnya tentang opsi konfigurasi untuk membuat instance komputasi, lihat Membuat dan memulai instance komputasi.

Menerapkan kebijakan saat membuat instance secara massal

Anda hanya dapat membuat instance komputasi secara massal dengan kebijakan penempatan ringkas di region yang sama dengan kebijakan penempatan.

Untuk membuat instance komputasi secara massal yang menentukan kebijakan penempatan ringkas, pilih salah satu opsi berikut:

gcloud

Untuk membuat instance komputasi secara massal yang menentukan kebijakan penempatan ringkas, gunakan perintah gcloud compute instances bulk create dengan flag --maintenance-policy dan --resource-policies.

Misalnya, untuk membuat instance komputasi secara massal dalam satu zona dan menentukan pola nama untuk instance komputasi, jalankan perintah berikut:

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

Ganti kode berikut:

  • COUNT: jumlah instance komputasi yang akan dibuat, yang tidak boleh lebih tinggi dari jumlah maksimum instance komputasi yang didukung dari kebijakan penempatan ringkas yang ditentukan.

  • MACHINE_TYPE: jenis mesin yang didukung untuk kebijakan penempatan rapat.

  • MAINTENANCE_POLICY: kebijakan pemeliharaan host instance komputasi. Jika kebijakan penempatan rapat yang Anda tentukan menggunakan nilai jarak maksimum 1 atau 2, atau jenis mesin yang Anda pilih tidak mendukung migrasi langsung, Anda hanya dapat menentukan TERMINATE. Jika tidak, Anda dapat menentukan MIGRATE atau TERMINATE.

  • NAME_PATTERN: pola nama untuk instance compute. Untuk mengganti urutan angka dalam nama instance komputasi, gunakan urutan karakter hash (#). Misalnya, menggunakan vm-# untuk pola nama akan menghasilkan instance dengan nama yang dimulai dengan vm-1, vm-2, dan berlanjut hingga jumlah instance komputasi yang ditentukan oleh COUNT.

  • POLICY_NAME: nama kebijakan penempatan ringkas yang ada.

  • ZONE: zona tempat membuat instance komputasi secara massal.

REST

Untuk membuat instance komputasi secara massal yang menentukan kebijakan penempatan ringkas, buat permintaan POST ke metode instances.bulkInsert. Dalam isi permintaan, sertakan kolom onHostMaintenance dan resourcePolicies.

Misalnya, untuk membuat instance komputasi secara massal dalam satu zona dan menentukan pola nama untuk instance komputasi, buat permintaan POST sebagai berikut:

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

{
  "count": "COUNT",
  "namePattern": "NAME_PATTERN",
  "instanceProperties": {
    "machineType": "MACHINE_TYPE",
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
        }
      }
    ],
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ],
    "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 instance komputasi secara massal.

  • COUNT: jumlah instance komputasi yang akan dibuat, yang tidak boleh lebih tinggi dari jumlah maksimum instance yang didukung dari kebijakan penempatan ringkas yang ditentukan.

  • NAME_PATTERN: pola nama untuk instance compute. Untuk mengganti urutan angka dalam nama instance, gunakan urutan karakter hash (#). Misalnya, menggunakan vm-# untuk pola nama akan menghasilkan instance komputasi dengan nama yang dimulai dengan vm-1, vm-2, dan berlanjut hingga jumlah instance komputasi yang ditentukan oleh COUNT.

  • MACHINE_TYPE: jenis mesin yang didukung untuk kebijakan penempatan rapat.

  • IMAGE_PROJECT: project gambar yang berisi gambar—misalnya, debian-cloud. Untuk mengetahui informasi selengkapnya tentang project gambar yang didukung, lihat Gambar publik.

  • IMAGE: tentukan salah satu dari berikut ini:

    • Versi tertentu dari OS image—misalnya, debian-12-bookworm-v20240617.

    • Kelompok image, yang harus diformat sebagai family/IMAGE_FAMILY. Tindakan ini menentukan image OS terbaru yang masih digunakan. Misalnya, jika Anda menentukan family/debian-12, versi terbaru dalam kelompok image Debian 12 akan digunakan. Untuk mengetahui informasi selengkapnya tentang cara menggunakan kelompok image, lihat Praktik terbaik kelompok image.

  • REGION: region tempat kebijakan penempatan yang ringkas berada.

  • POLICY_NAME: nama kebijakan penempatan ringkas yang ada.

  • MAINTENANCE_POLICY: kebijakan pemeliharaan host instance. Jika kebijakan penempatan rapat yang Anda tentukan menggunakan nilai jarak maksimum 1 atau 2, atau jenis mesin yang Anda pilih tidak mendukung migrasi langsung, Anda hanya dapat menentukan TERMINATE. Jika tidak, Anda dapat menentukan MIGRATE atau TERMINATE.

Untuk mengetahui informasi selengkapnya tentang opsi konfigurasi untuk membuat instance komputasi secara massal, lihat Membuat instance komputasi secara massal.

Menerapkan kebijakan saat membuat reservasi

Jika Anda ingin membuat pemesanan on-demand project tunggal yang menentukan kebijakan penempatan compact, Anda harus membuat pemesanan yang ditargetkan secara khusus. Saat membuat instance komputasi untuk menggunakan reservasi, pastikan hal berikut:

  • Instance komputasi harus menentukan kebijakan penempatan compact yang sama yang diterapkan ke pemesanan.

  • Instance komputasi harus secara khusus menargetkan reservasi untuk menggunakannya. Untuk mengetahui informasi selengkapnya, lihat Menggunakan instance komputasi dari reservasi tertentu.

Untuk membuat pemesanan satu project dengan kebijakan penempatan rapat, pilih salah satu metode berikut:

Untuk membuat pemesanan satu project dengan kebijakan penempatan rapat dengan menentukan properti secara langsung, pilih salah satu opsi berikut:

Konsol

  1. Di konsol Google Cloud , buka halaman Reservations.

    Buka Reservations

  2. Klik Buat pemesanan. Halaman Buat pemesanan akan muncul.

  3. Di kolom Nama, masukkan nama untuk pemesanan Anda.

  4. Di daftar Region dan Zone, pilih region dan zona tempat Anda ingin memesan resource.

  5. Di bagian Use with VM instance, pilih Select specific reservation.

  6. Di bagian VM instances and GPUs, lakukan tindakan berikut:

    1. Di kolom Number of VM instances, masukkan jumlah VM yang akan dipesan.

    2. Tentukan seri dan jenis mesin yang mendukung kebijakan penempatan rapat.

  7. Di bagian Kebijakan penempatan grup, klik daftar Pilih atau buat kebijakan penempatan grup, lalu lakukan salah satu hal berikut:

    • Untuk membuat kebijakan penempatan rapat, selesaikan langkah-langkah berikut:

      1. Klik Create group placement policy. Panel Create a group placement policy akan muncul.

      2. Di kolom Nama kebijakan, masukkan nama untuk kebijakan Anda.

      3. Klik Create.

    • Untuk memilih kebijakan penempatan rapat yang ada, pilih kebijakan yang ada di region yang sama dengan tempat Anda ingin mencadangkan instance.

  8. Untuk membuat pemesanan, klik Create.

gcloud

Untuk membuat pemesanan satu project dengan kebijakan penempatan rapat dengan menentukan properti secara langsung, gunakan perintah gcloud compute reservations create dengan flag --require-specific-reservation dan --resource-policies=policy.

gcloud compute reservations create RESERVATION_NAME \
    --machine-type=MACHINE_TYPE \
    --require-specific-reservation \
    --resource-policies=policy=POLICY_NAME \
    --vm-count=NUMBER_OF_INSTANCES \
    --zone=ZONE

Ganti kode berikut:

  • RESERVATION_NAME: nama pemesanan.

  • MACHINE_TYPE: jenis mesin yang didukung untuk kebijakan penempatan rapat.

  • POLICY_NAME: nama kebijakan penempatan ringkas yang ada.

  • NUMBER_OF_INSTANCES: jumlah instance komputasi yang akan dicadangkan, yang tidak boleh lebih tinggi dari jumlah maksimum instance yang didukung dari kebijakan penempatan ringkas yang ditentukan.

  • ZONE: zona tempat memesan instance komputasi. Anda hanya dapat mencadangkan instance komputasi di zona dalam region kebijakan penempatan rapat yang ditentukan.

REST

Untuk membuat pemesanan satu project dengan kebijakan penempatan rapat dengan menentukan properti secara langsung, buat permintaan POST ke metode reservations.insert. Dalam isi permintaan, sertakan kolom resourcePolicies, dan kolom specificReservationRequired yang ditetapkan ke true.

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

{
  "name": "RESERVATION_NAME",
  "resourcePolicies": {
    "policy" : "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
  },
  "specificReservation": {
    "count": "NUMBER_OF_INSTANCES",
    "instanceProperties": {
      "machineType": "MACHINE_TYPE",
    }
  },
  "specificReservationRequired": true
}

Ganti kode berikut:

  • PROJECT_ID: ID project tempat kebijakan penempatan ringkas berada.

  • ZONE: zona tempat memesan instance komputasi. Anda hanya dapat mencadangkan instance komputasi di zona dalam region kebijakan penempatan rapat yang ditentukan.

  • RESERVATION_NAME: nama pemesanan.

  • REGION: region tempat kebijakan penempatan yang ringkas berada.

  • POLICY_NAME: nama kebijakan penempatan ringkas yang ada.

  • NUMBER_OF_INSTANCES: jumlah instance komputasi yang akan dicadangkan, yang tidak boleh lebih tinggi dari jumlah maksimum instance komputasi yang didukung dari kebijakan penempatan ringkas yang ditentukan.

  • MACHINE_TYPE: jenis mesin yang didukung untuk kebijakan penempatan rapat.

Untuk mengetahui informasi selengkapnya tentang opsi konfigurasi untuk membuat pemesanan project tunggal, lihat Membuat pemesanan untuk satu project.

Menerapkan kebijakan saat membuat template instance

Jika Anda ingin membuat template instance regional, template dan kebijakan penempatan ringkas harus berada di region yang sama. Jika tidak, pembuatan template instance akan gagal.

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

Untuk membuat template instance yang menentukan kebijakan penempatan rapat, gunakan salah satu metode berikut:

  • Untuk membuat template instance regional dengan kebijakan penempatan rapat baru, gunakan konsol Google Cloud . Kebijakan baru tidak menentukan nilai jarak maksimum, dan Anda dapat menerapkannya ke maksimum 22 instance.

  • Untuk membuat template instance global atau regional yang menentukan kebijakan penempatan ringkas yang sudah ada, gunakan gcloud CLI atau REST API.

Untuk membuat template instance, pilih salah satu opsi berikut:

Konsol

  1. Di konsol Google Cloud , buka halaman Instance templates.

    Buka Instance templates

  2. Klik Create instance template. Halaman Create an instance template akan muncul.

  3. Di kolom Region, tentukan region tempat Anda ingin membuat kebijakan penempatan ringkas dan template instance.

  4. Di bagian Konfigurasi mesin, tentukan jenis dan seri mesin yang didukung untuk kebijakan penempatan rapat.

  5. Di bagian Placement policy, dalam daftar Placement policy, pilih Compact. Jika Anda memilih opsi ini, konsol Google Cloud akan otomatis membuat kebijakan penempatan kompak tanpa nilai jarak maksimum dan yang mendukung hingga 22 instance.

  6. Klik Create.

gcloud

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

Misalnya, untuk membuat template instance global yang menentukan kebijakan penempatan ringkas, jalankan perintah berikut:

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

Ganti kode berikut:

  • INSTANCE_TEMPLATE_NAME: nama template instance.

  • MACHINE_TYPE: jenis mesin yang didukung untuk kebijakan penempatan rapat.

  • MAINTENANCE_POLICY: kebijakan pemeliharaan host. Jika kebijakan penempatan rapat yang Anda tentukan menggunakan nilai jarak maksimum 1 atau 2, atau jenis mesin yang Anda pilih tidak mendukung migrasi langsung, Anda hanya dapat menentukan TERMINATE. Atau, Anda dapat menentukan MIGRATE atau TERMINATE.

  • POLICY_NAME: nama kebijakan penempatan ringkas yang ada.

REST

Untuk membuat template instance yang menentukan kebijakan penempatan ringkas, buat permintaan POST ke salah satu metode berikut:

Dalam isi permintaan, sertakan kolom onHostMaintenance dan resourcePolicies.

Misalnya, untuk membuat template instance global yang menentukan kebijakan penempatan ringkas, buat permintaan POST sebagai berikut:

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

{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
        }
      }
    ],
    "machineType": "MACHINE_TYPE",
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ],
    "resourcePolicies": [
      "POLICY_NAME"
    ],
    "scheduling": {
      "onHostMaintenance": "MAINTENANCE_POLICY"
    }
  }
}

Ganti kode berikut:

  • PROJECT_ID: ID project tempat kebijakan penempatan ringkas berada.

  • INSTANCE_TEMPLATE_NAME: nama template instance.

  • IMAGE_PROJECT: project gambar yang berisi gambar—misalnya, debian-cloud. Untuk mengetahui informasi selengkapnya tentang project gambar yang didukung, lihat Gambar publik.

  • IMAGE: tentukan salah satu dari berikut ini:

    • Versi tertentu dari OS image—misalnya, debian-12-bookworm-v20240617.

    • Kelompok image, yang harus diformat sebagai family/IMAGE_FAMILY. Tindakan ini menentukan image OS terbaru yang masih digunakan. Misalnya, jika Anda menentukan family/debian-12, versi terbaru dalam kelompok image Debian 12 akan digunakan. Untuk mengetahui informasi selengkapnya tentang cara menggunakan kelompok image, lihat Praktik terbaik kelompok image.

  • MACHINE_TYPE: jenis mesin yang didukung untuk kebijakan penempatan rapat.

  • POLICY_NAME: nama kebijakan penempatan ringkas yang ada.

  • MAINTENANCE_POLICY: kebijakan pemeliharaan host. Jika kebijakan penempatan rapat yang Anda tentukan menggunakan nilai jarak maksimum 1 atau 2, atau jenis mesin yang Anda pilih tidak mendukung migrasi langsung, Anda hanya dapat menentukan TERMINATE. Atau, Anda dapat menentukan MIGRATE atau TERMINATE.

Untuk mengetahui informasi selengkapnya tentang opsi konfigurasi untuk membuat template instance, lihat Membuat template instance.

Menerapkan kebijakan ke instance di MIG

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

Menerapkan kebijakan saat membuat MIG

Anda hanya dapat membuat instance komputasi yang menentukan kebijakan penempatan compact jika instance komputasi tersebut berada di region yang sama dengan kebijakan penempatan.

Untuk membuat MIG menggunakan template instance yang menentukan kebijakan penempatan ringkas, pilih salah satu opsi berikut:

gcloud

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

Misalnya, untuk membuat MIG zona menggunakan template instance global yang menentukan kebijakan penempatan ringkas, jalankan perintah berikut:

gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
    --size=SIZE \
    --template=INSTANCE_TEMPLATE_NAME \
    --zone=ZONE

Ganti kode berikut:

  • INSTANCE_GROUP_NAME: nama MIG yang akan dibuat.

  • SIZE: ukuran MIG.

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

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

REST

Untuk membuat MIG menggunakan template instance yang menentukan kebijakan penempatan ringkas, buat permintaan POST ke salah satu metode berikut:

Misalnya, untuk membuat MIG zona menggunakan template instance global yang menentukan kebijakan penempatan ringkas, buat permintaan POST sebagai berikut:

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

{
  "name": "INSTANCE_GROUP_NAME",
  "targetSize": SIZE,
  "versions": [
    {
      "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME"
    }
  ]
}

Ganti kode berikut:

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

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

  • INSTANCE_GROUP_NAME: nama MIG yang akan dibuat.

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

  • SIZE: ukuran MIG.

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

Menerapkan kebijakan ke MIG yang ada

Anda hanya dapat menerapkan kebijakan penempatan yang ringkas ke MIG yang ada jika MIG tersebut berada di region yang sama dengan kebijakan penempatan atau, untuk MIG zona, di zona dalam region yang sama dengan kebijakan penempatan.

Untuk memperbarui MIG agar menggunakan template instance yang menentukan kebijakan penempatan ringkas, pilih salah satu opsi berikut:

gcloud

Untuk memperbarui MIG agar menggunakan template instance yang menentukan kebijakan penempatan ringkas, gunakan perintah gcloud compute instance-groups managed rolling-action start-update.

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

gcloud compute instance-groups managed rolling-action start-update MIG_NAME \
    --version=template=INSTANCE_TEMPLATE_NAME \
    --zone=ZONE

Ganti kode berikut:

  • MIG_NAME: nama MIG yang ada.

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

  • ZONE: zona tempat MIG berada. Anda hanya dapat menerapkan kebijakan penempatan yang ringkas ke MIG yang berada di region yang sama dengan kebijakan penempatan.

REST

Untuk memperbarui MIG agar menggunakan template instance yang menentukan kebijakan penempatan ringkas, dan otomatis menerapkan properti template serta kebijakan penempatan ke instance komputasi yang ada di MIG, buat permintaan PATCH ke salah satu metode berikut:

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

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME

{
  "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME"
}

Ganti kode berikut:

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

  • ZONE: zona tempat MIG berada. Anda hanya dapat menerapkan kebijakan penempatan yang ringkas ke MIG yang berada di region yang sama dengan kebijakan penempatan.

  • MIG_NAME: nama MIG yang ada.

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

Untuk mengetahui informasi selengkapnya tentang opsi konfigurasi untuk mengupdate instance compute di MIG, lihat Mengupdate dan menerapkan konfigurasi baru ke instance di MIG.

Memverifikasi lokasi fisik instance

Setelah menerapkan kebijakan penempatan yang ringkas ke instance komputasi, Anda dapat melihat lokasi fisik instance komputasi tersebut sehubungan dengan instance lain. Perbandingan ini terbatas pada instance komputasi yang ada di project Anda dan yang menentukan kebijakan penempatan rapat yang sama. Melihat lokasi fisik instance komputasi membantu Anda melakukan hal berikut:

  • Pastikan kebijakan berhasil diterapkan.

  • Identifikasi instance komputasi mana yang paling berdekatan.

Untuk melihat lokasi fisik instance komputasi sehubungan dengan instance komputasi lain yang menentukan kebijakan penempatan rapat yang sama, pilih salah satu opsi berikut:

gcloud

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

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

Ganti kode berikut:

  • INSTANCE_NAME: nama instance compute yang ada dan menentukan kebijakan penempatan yang ringkas.

  • ZONE: zona tempat instance komputasi 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 terdiri dari tiga bagian. Setiap bagian ini mewakili cluster, rak, dan host tempat instance komputasi berada.

Saat membandingkan posisi dua instance komputasi yang menggunakan kebijakan penempatan ringkas yang sama dalam project Anda, makin banyak bagian kolom PHYSICAL_HOST yang digunakan bersama oleh instance komputasi, makin dekat posisi fisik keduanya. Misalnya, asumsikan bahwa dua instance komputasi menentukan salah satu nilai contoh berikut untuk kolom PHYSICAL_HOST:

  • /CCCCCCC/xxxxxx/xxxx: dua instance komputasi ditempatkan dalam cluster yang sama, yang sama dengan nilai jarak maksimum 2. Instance komputasi yang ditempatkan di cluster yang sama akan mengalami latensi jaringan yang rendah.

  • /CCCCCCC/BBBBBB/xxxx: dua instance komputasi ditempatkan di rak yang sama, yang sama dengan nilai jarak maksimum 1. Instance komputasi yang ditempatkan di rak yang sama akan mengalami latensi jaringan yang lebih rendah daripada instance komputasi yang ditempatkan di cluster yang sama.

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

REST

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

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

Ganti kode berikut:

  • PROJECT_ID: ID project tempat instance compute berada.

  • ZONE: zona tempat instance komputasi berada.

  • INSTANCE_NAME: nama instance compute yang ada dan menentukan kebijakan penempatan yang ringkas.

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 terdiri dari tiga bagian. Setiap bagian ini mewakili cluster, rak, dan host tempat instance komputasi berada.

Saat membandingkan posisi dua instance komputasi yang menggunakan kebijakan penempatan ringkas yang sama dalam project Anda, makin banyak bagian kolom physicalHost yang digunakan bersama oleh instance komputasi, makin dekat posisi fisik keduanya. Misalnya, asumsikan bahwa dua instance komputasi menentukan salah satu nilai contoh berikut untuk kolom physicalHost:

  • /CCCCCCC/xxxxxx/xxxx: dua instance komputasi ditempatkan dalam cluster yang sama, yang sama dengan nilai jarak maksimum 2. Instance komputasi yang ditempatkan di cluster yang sama akan mengalami latensi jaringan yang rendah.

  • /CCCCCCC/BBBBBB/xxxx: dua instance komputasi ditempatkan di rak yang sama, yang sama dengan nilai jarak maksimum 1. Instance komputasi yang ditempatkan di rak yang sama akan mengalami latensi jaringan yang lebih rendah daripada instance komputasi yang ditempatkan di cluster yang sama.

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

Apa langkah selanjutnya?