Membuat MIG yang menggunakan mode massal

Dokumen ini menjelaskan cara menggunakan mode massal di MIG untuk membuat semua instance virtual machine (VM) yang Anda perlukan secara bersamaan. Membuat instance sekaligus memastikan bahwa MIG membuat instance hanya jika semua resource yang diperlukan tersedia.

Untuk mempelajari cara kerja mode massal, lihat Tentang pembuatan instance secara massal di MIG.

Membuat template instance

Mode massal di MIG hanya didukung dengan template instance yang menentukan model penyediaan terikat reservasi atau mulai fleksibel. Untuk menggunakan mode massal, buat template instance menggunakan salah satu model penyediaan ini seperti yang dijelaskan di bagian berikut. Untuk mengetahui informasi selengkapnya tentang model penyediaan, lihat Model penyediaan instance Compute Engine.

Menggunakan model penyediaan terikat reservasi

Untuk membuat template instance, pilih salah satu opsi berikut:

Konsol

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

    Buka Instance templates

  2. Klik Buat template instance . Halaman Create an instance template akan terbuka.

  3. Di kolom Name, masukkan nama untuk template instance.

  4. Di bagian Lokasi, pilih salah satu opsi berikut:

    • Untuk membuat template instance regional, pilih Regional (direkomendasikan), lalu pilih region tempat Anda ingin membuat template.

    • Untuk membuat template instance global, pilih Global.

  5. Di bagian Konfigurasi mesin, tentukan jenis mesin.

  6. Di bagian Provisioning model, selesaikan langkah-langkah berikut:

    1. Luaskan Setelan lanjutan model penyediaan VM.

    2. Dalam daftar On VM termination, pilih Delete.

  7. Opsional: Untuk mengubah jenis atau image boot disk nilai default, di bagian Boot disk, klik Ubah. Kemudian, ikuti prompt untuk mengubah boot disk.

  8. Luaskan bagian Opsi lanjutan, lalu lakukan hal berikut:

    1. Luaskan bagian Management.

    2. Di bagian Reservations, pilih Choose a reservation, lalu klik Choose reservation. Di panel yang muncul, ikuti perintah untuk memilih reservasi yang ingin Anda gunakan.

  9. Klik Create.

gcloud

Untuk membuat template instance, gunakan perintah instance-templates create dengan setelan flag berikut:

  • Flag --instance-termination-action ditetapkan ke DELETE.

  • Flag --maintenance-policy ditetapkan ke TERMINATE.

  • Flag --provisioning-model ditetapkan ke RESERVATION_BOUND.

  • Flag --reservation-affinity ditetapkan ke specific.

  • Flag --reservation.

Contoh perintah berikut membuat template instance regional. Jika Anda ingin membuat template instance global, gunakan perintah yang sama tanpa flag --instance-template-region.

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --image-project=IMAGE_PROJECT \
    --image-family=IMAGE_FAMILY \
    --instance-termination-action=DELETE \
    --instance-template-region=REGION \
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=TERMINATE \
    --provisioning-model=RESERVATION_BOUND \
    --reservation-affinity=specific \
    --reservation=RESERVATION_URL

Ganti kode berikut:

  • INSTANCE_TEMPLATE_NAME: nama template instance yang akan dibuat.

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

  • IMAGE_FAMILY: kelompok image. Tentukan kelompok image untuk menggunakan image OS terbaru yang masih digunakan. Misalnya, jika Anda menentukan 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 membuat template instance.

  • MACHINE_TYPE: jenis mesin yang ditentukan dalam reservasi yang ingin Anda gunakan.

  • RESERVATION_URL: URL pemesanan yang dibuat otomatis untuk pemesanan untuk masa mendatang dalam mode kalender yang ingin Anda gunakan. Tentukan salah satu nilai berikut:

    • Jika pemesanan yang dibuat otomatis ada di project Anda: RESERVATION_NAME.

    • Jika pemesanan yang dibuat otomatis ada di project lain: projects/PROJECT_ID/reservations/RESERVATION_NAME.

REST

Untuk membuat template instance, buat permintaan POST ke salah satu metode berikut:

Dalam isi permintaan, sertakan kolom berikut:

  • Kolom reservationAffinity.consumeReservationType ditetapkan ke SPECIFIC_RESERVATION.

  • Kolom reservationAffinity.key ditetapkan ke compute.googleapis.com/reservation-name.

  • Kolom reservationAffinity.values ditetapkan ke URL pemesanan yang dibuat secara otomatis.

  • Kolom scheduling.instanceTerminationAction ditetapkan ke DELETE.

  • Kolom scheduling.onHostMaintenance ditetapkan ke TERMINATE.

  • Kolom scheduling.provisioningModel ditetapkan ke RESERVATION_BOUND.

Misalnya, untuk membuat template instance regional, buat permintaan seperti berikut:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/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"
      }
    ],
    "reservationAffinity": {
      "consumeReservationType": "SPECIFIC_RESERVATION",
      "key": "compute.googleapis.com/reservation-name",
      "values": [
        "RESERVATION_URL"
      ]
    },
    "scheduling": {
      "instanceTerminationAction": "DELETE",
      "onHostMaintenance": "TERMINATE",
      "provisioningModel": "RESERVATION_BOUND"
    }
  }
}

Ganti kode berikut:

  • PROJECT_ID: ID project tempat template instance akan dibuat.

  • REGION: region tempat membuat template instance.

  • INSTANCE_TEMPLATE_NAME: nama template instance yang akan dibuat.

  • 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. Tentukan kelompok image untuk menggunakan 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 ditentukan dalam reservasi yang ingin Anda gunakan.

  • RESERVATION_URL: URL pemesanan yang dibuat otomatis untuk pemesanan untuk masa mendatang dalam mode kalender yang ingin Anda gunakan. Tentukan salah satu nilai berikut:

    • Jika pemesanan yang dibuat otomatis ada di project Anda: RESERVATION_NAME

    • Jika pemesanan yang dibuat otomatis ada di project lain: projects/PROJECT_ID/reservations/RESERVATION_NAME

Untuk mengetahui informasi selengkapnya tentang cara membuat template instance, lihat Membuat template instance.

Menggunakan model penyediaan flex-start

Untuk membuat template instance, pilih salah satu opsi berikut:

Konsol

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

    Buka Instance templates

  2. Klik Buat template instance . Halaman Create an instance template akan terbuka.

  3. Di kolom Name, masukkan nama untuk template instance.

  4. Di bagian Lokasi, pilih salah satu opsi berikut:

    • Untuk membuat template instance regional, pilih Regional (direkomendasikan), lalu pilih region tempat Anda ingin membuat template.

    • Untuk membuat template instance global, pilih Global.

  5. Di bagian Konfigurasi mesin, tentukan jenis mesin.

  6. Di bagian Provisioning model, selesaikan langkah-langkah berikut:

    1. Di kolom VM provisioning model, pilih Flex-start.

    2. Luaskan Setelan lanjutan model penyediaan VM.

    3. Centang kotak Set a time limit for the VM.

    4. Untuk menetapkan durasi operasi VM yang dibuat menggunakan template instance, di kolom Enter number of hours, masukkan jumlah jam. Nilainya harus antara 36 detik (0.01) dan tujuh hari (168).

  7. Opsional: Untuk mengubah jenis atau image boot disk nilai default, di bagian Boot disk, klik Ubah. Kemudian, ikuti prompt untuk mengubah boot disk.

  8. Klik Create.

gcloud

Untuk membuat template instance, gunakan perintah instance-templates create dengan setelan flag berikut:

  • Flag --instance-termination-action ditetapkan ke DELETE.

  • Flag --maintenance-policy ditetapkan ke TERMINATE.

  • Flag --max-run-duration.

  • Flag --provisioning-model ditetapkan ke FLEX_START.

  • Flag --reservation-affinity ditetapkan ke none.

Contoh perintah berikut membuat template instance regional. Jika Anda ingin membuat template instance global, gunakan perintah yang sama tanpa flag --instance-template-region.

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --image-project=IMAGE_PROJECT \
    --image-family=IMAGE_FAMILY \
    --instance-template-region=REGION \
    --instance-termination-action=DELETE \
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=TERMINATE \
    --max-run-duration=RUN_DURATION \
    --provisioning-model=FLEX_START \
    --reservation-affinity=none

Ganti kode berikut:

  • INSTANCE_TEMPLATE_NAME: nama template instance yang akan dibuat.

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

  • IMAGE_FAMILY: kelompok image. Tentukan kelompok image untuk menggunakan image OS terbaru yang masih digunakan. Misalnya, jika Anda menentukan 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 membuat template instance.

  • MACHINE_TYPE: jenis mesin yang akan digunakan untuk VM mulai fleksibel. Jika Anda menentukan jenis mesin N1, Anda harus menyertakan flag --accelerator untuk menentukan jumlah dan jenis GPU yang akan dipasang ke VM Anda.

  • RUN_DURATION: durasi yang Anda inginkan untuk menjalankan VM yang diminta. Anda harus memformat nilai sebagai jumlah hari, jam, menit, atau detik yang diikuti dengan d, h, m, dan s. Misalnya, tentukan 30m selama 30 menit atau 1d2h3m4s untuk satu hari, dua jam, tiga menit, dan empat detik. Nilai harus antara 10 menit dan tujuh hari.

REST

Untuk membuat template instance, buat permintaan POST ke salah satu metode berikut:

Dalam isi permintaan, sertakan kolom berikut:

  • Kolom reservationAffinity.consumeReservationType ditetapkan ke NO_RESERVATION.

  • Kolom scheduling.instanceTerminationAction ditetapkan ke DELETE.

  • Kolom scheduling.maxRunDuration.

  • Kolom scheduling.onHostMaintenance ditetapkan ke TERMINATE.

  • Kolom scheduling.provisioningModel ditetapkan ke FLEX_START.

Contoh permintaan berikut membuat template instance regional:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/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"
      }
    ],
    "reservationAffinity": {
      "consumeReservationType": "NO_RESERVATION"
    },
    "scheduling": {
      "instanceTerminationAction": "DELETE",
      "maxRunDuration": {
        "seconds": RUN_DURATION
      },
      "onHostMaintenance": "TERMINATE",
      "provisioningModel": "FLEX_START"
    }
  }
}

Ganti kode berikut:

  • PROJECT_ID: ID project tempat template instance akan dibuat.

  • REGION: region tempat membuat template instance.

  • INSTANCE_TEMPLATE_NAME: nama template instance yang akan dibuat.

  • 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. Tentukan kelompok image untuk menggunakan 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 akan digunakan untuk VM. Jika Anda menentukan jenis mesin N1, Anda harus menyertakan kolom guestAccelerators untuk menentukan jumlah dan jenis GPU yang akan dipasang ke VM Anda.

  • RUN_DURATION: durasi, dalam detik, yang Anda inginkan untuk menjalankan VM yang diminta. Nilai harus antara 600, yaitu 600 detik (10 menit), dan 604800, yaitu 604.800 detik (tujuh hari).

Untuk mengetahui informasi selengkapnya tentang cara membuat template instance, lihat Membuat template instance.

Membuat MIG yang menggunakan mode massal

Untuk mengaktifkan pembuatan instance secara massal di MIG, tetapkan kolom targetSizePolicy.mode ke BULK dalam konfigurasi MIG. Saat Anda menggunakan mode massal ini, MIG menunggu ketersediaan resource penuh, lalu membuat instance sekaligus.

Konsol

  1. Buka halaman Instance groups.

    Buka Instance groups

  2. Klik Create instance group. Halaman Create instance group akan terbuka.

  3. Di kolom Nama, masukkan nama untuk MIG.

  4. Sebelum memilih template instance, Anda harus melakukan hal berikut:

    1. Jika Anda menggunakan model penyediaan flex-start, Anda harus menonaktifkan perbaikan sebagai berikut:
      1. Di bagian VM instance lifecycle, hapus centang pada kotak Allow repair of VMs in an alternate zone.
      2. Dalam daftar Default action on failure, pilih No action.
    2. Di bagian Location, lakukan tindakan berikut:
      • Untuk membuat MIG zona, pilih Single zone.
      • Untuk membuat MIG regional, pilih Multiple zones. Di bagian Bentuk distribusi target, pilih Satu zona. Pada dialog yang muncul, pilih Nonaktifkan pendistribusian ulang instance.
  5. Kembali ke kolom template instance. Dalam daftar Instance template, pilih template instance yang Anda buat di bagian sebelumnya.

  6. Di kolom Number of instances, tentukan jumlah instance yang ingin Anda buat sekaligus.

  7. Centang kotak Obtain VMs all at once with bulk target size policy.

  8. Klik Create.

gcloud

Untuk membuat MIG yang mengaktifkan pembuatan massal, gunakan perintah gcloud compute instance-groups managed create dengan flag --target-size-policy-mode yang ditetapkan ke bulk.

Jika menggunakan model penyediaan flex-start, Anda harus menonaktifkan perbaikan di MIG dengan menyertakan flag --default-action-on-vm-failure=do-nothing dalam perintah berikut.

  • Untuk membuat MIG zona, jalankan perintah berikut:
gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
    --size=SIZE \
    --target-size-policy-mode=bulk \
    --template=INSTANCE_TEMPLATE_URL \
    --zone=ZONE \
  • Untuk membuat MIG regional, jalankan perintah berikut:
gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
    --size=SIZE \
    --target-size-policy-mode=bulk \
    --template=INSTANCE_TEMPLATE_URL \
    --zones=LIST_OF_ZONES \

Ganti kode berikut:

  • INSTANCE_GROUP_NAME: nama MIG.
  • SIZE: jumlah instance dalam MIG.
  • INSTANCE_TEMPLATE_URL: URL template instance yang ingin Anda gunakan untuk membuat instance di MIG. URL dapat berisi ID atau nama template instance. Tentukan salah satu nilai berikut:
    • Untuk template instance regional: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Untuk template instance global: INSTANCE_TEMPLATE_ID
  • ZONE: zona tempat MIG membuat instance.
  • LIST_OF_ZONES: daftar zona yang dipisahkan koma tempat MIG regional membuat instance. Contoh, us-central1-a, us-central1-b, us-central1-c.

REST

Untuk membuat MIG yang mengaktifkan pembuatan massal, buat permintaan POST sebagai berikut. Di isi permintaan, tetapkan kolom targetSizePolicy.mode ke bulk.

Jika menggunakan model penyediaan flex-start, Anda harus menonaktifkan perbaikan di MIG dengan menyertakan kolom "instanceLifecyclePolicy": {"defaultActionOnFailure": "DO_NOTHING"} dalam permintaan berikut.

  • Untuk membuat MIG zona, buat permintaan POST ke metode instanceGroupManagers.insert.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
    
    {
      "name": "INSTANCE_GROUP_NAME",
      "targetSize": SIZE,
      "targetSizePolicy": {
        "mode": "bulk"
      },
      "versions": [
        {
          "instanceTemplate": "INSTANCE_TEMPLATE_URL"
        }
      ]
    }
    
  • Untuk membuat MIG regional, buat permintaan POST ke metode regionInstanceGroupManagers.insert.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
    
    {
      "name": "INSTANCE_GROUP_NAME",
      "targetSize": SIZE,
      "targetSizePolicy": {
        "mode": "bulk"
      },
      "versions": [
        {
          "instanceTemplate": "INSTANCE_TEMPLATE_URL"
        }
      ]
    }
    

Ganti kode berikut:

  • PROJECT_ID:project ID.
  • ZONE:zona tempat MIG membuat instance.
  • REGION:region tempat MIG membuat instance.
  • INSTANCE_GROUP_NAME:nama MIG.
  • SIZE:jumlah instance dalam MIG.
  • INSTANCE_TEMPLATE_URL: URL template instance yang ingin Anda gunakan untuk membuat instance di MIG. URL dapat berisi ID atau nama template instance. Tentukan salah satu nilai berikut:
    • Untuk template instance regional: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Untuk template instance global: INSTANCE_TEMPLATE_ID

Menambahkan atau menghapus instance

Di MIG yang menggunakan mode massal, Anda dapat menambahkan atau menghapus instance dengan menambah atau mengurangi ukuran target MIG secara manual.

  • Menambahkan instance: Saat Anda meningkatkan ukuran target dari nol, MIG akan menambahkan instance dengan cara yang sama seperti saat membuat MIG. Anda juga dapat membuat instance dengan nama tertentu menggunakan metode createInstances jika tidak ada instance di MIG. Untuk membuat instance dengan nama tertentu, lihat Membuat instance dengan nama tertentu di MIG.

  • Menghapus instance: Saat Anda mengurangi ukuran target menjadi nol, MIG akan menghapus semua instance yang ada dalam grup dan membatalkan operasi pembuatan yang sedang berlangsung. Anda dapat menghapus instance dengan mengurangi ukuran target menjadi 0. Untuk mengurangi ke ukuran selain nol, MIG tidak boleh memiliki operasi instance massal yang sedang berlangsung (bulkInstanceOperation.inProgress harus false).

Untuk menambahkan atau menghapus instance dari MIG dengan mengubah ukuran target, lihat Menetapkan ukuran MIG secara manual.

Langkah berikutnya