Membuat MIG yang menggunakan VM mulai fleksibel

Dokumen ini menjelaskan cara membuat grup instance terkelola (MIG) yang menggunakan instance virtual machine (VM) flex-start. VM mulai fleksibel berjalan tanpa gangguan hingga tujuh hari dan membantu Anda mendapatkan resource dengan permintaan tinggi, seperti GPU, dengan harga diskon. Fitur ini menjadikan VM mulai fleksibel sebagai solusi hemat biaya untuk menjalankan beban kerja berdurasi singkat, seperti beban kerja fine-tuning model dan inferensi batch.

Langkah-langkah dalam dokumen ini menjelaskan cara membuat MIG yang membuat VM mulai fleksibel individual saat resource tersedia. Oleh karena itu, MIG mungkin awalnya hanya membuat sebagian VM yang diminta, lalu menambahkan VM yang tersisa nanti jika kapasitas memungkinkan. Jika Anda ingin membuat VM dengan Mulai fleksibel sekaligus di MIG, lihat Tentang permintaan perubahan ukuran MIG.

Untuk metode lain yang dapat Anda gunakan untuk membuat MIG, lihat Skenario dasar untuk membuat MIG.

Sebelum memulai

  • Pastikan Anda memiliki kuota yang cukup untuk resource yang ingin Anda minta. Untuk mengetahui informasi selengkapnya, lihat Kuota alokasi.
  • Siapkan autentikasi jika Anda belum melakukannya. Autentikasi memverifikasi identitas Anda untuk mengakses layanan Google Cloud dan API. Untuk menjalankan kode atau sampel dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke Compute Engine dengan memilih salah satu opsi berikut:

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

    Konsol

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

    gcloud

    1. Instal Google Cloud CLI. Setelah penginstalan, inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:

      gcloud init

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

  • Tetapkan region dan zona default.
  • REST

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

      Instal Google Cloud CLI.

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

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

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk membuat MIG yang menggunakan VM dengan fitur mulai fleksibel, minta administrator untuk memberi Anda peran IAM Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) di project. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin yang diperlukan untuk membuat MIG yang menggunakan VM Flex-start. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk membuat MIG yang menggunakan VM Flex-start:

  • Untuk membuat template instance: compute.instanceTemplates.create di project
  • Untuk membuat MIG: compute.instanceGroupManagers.create pada project

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

Membuat MIG yang menggunakan VM mulai fleksibel

Untuk membuat MIG yang menggunakan VM mulai fleksibel, Anda harus menyelesaikan langkah-langkah berikut:

  1. Membuat template instance yang dikonfigurasi untuk membuat VM mulai fleksibel

  2. Membuat MIG regional atau zona

Buat template instance yang dikonfigurasi untuk membuat VM mulai fleksibel

Anda harus membuat template instance yang dikonfigurasi untuk membuat VM mulai fleksibel, seperti yang dijelaskan di bagian ini. Setelah membuat template, Anda dapat menggunakannya untuk membuat MIG.

Untuk membuat template instance yang dikonfigurasi untuk membuat VM mulai fleksibel, 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 muncul.

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

  4. Di bagian Lokasi, pilih jenis template instance yang ingin Anda buat:

    • Untuk template instance regional, pilih Regional, lalu pilih region tempat Anda ingin membuat template. Berdasarkan jenis mesin yang ingin digunakan VM mulai-Flex Anda, tentukan region yang didukung.

    • Untuk template instance global, pilih Global.

  5. Di bagian Konfigurasi mesin, pilih seri mesin yang didukung untuk VM mulai fleksibel.

  6. Di bagian Model penyediaan, lakukan tindakan berikut:

    1. Dalam daftar VM provisioning model, pilih Flex-start.

    2. Untuk menetapkan durasi berjalan bagi VM yang dibuat melalui template instance, di kolom Masukkan jumlah jam, masukkan jumlah jam VM berjalan. Nilainya harus antara satu jam (1) dan tujuh hari (168). Saat VM mencapai akhir durasi berjalannya, Compute Engine akan menghapus setiap VM satu per satu relatif terhadap waktu pembuatannya sendiri.

  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 yang dikonfigurasi untuk membuat VM mulai fleksibel, gunakan perintah gcloud compute instance-templates create.

Perintah berikut akan 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, yang menentukan OS image terbaru yang tidak digunakan lagi. Misalnya, jika Anda menentukan debian-12, Anda akan menggunakan versi terbaru dalam kelompok image Debian 12. Untuk mengetahui informasi selengkapnya tentang cara menggunakan kelompok image, lihat Praktik terbaik kelompok image.

  • REGION: region tempat membuat template instance. Berdasarkan jenis mesin yang ingin digunakan VM dengan fitur Mulai Fleksibel, tentukan region yang didukung.

  • MACHINE_TYPE: jenis mesin GPU atau jenis mesin H4D yang akan digunakan untuk VM Flex-start. 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. Saat VM mencapai akhir durasi jalannya, Compute Engine akan menghapus setiap VM satu per satu relatif terhadap waktu pembuatannya sendiri. Anda harus memformat durasi proses 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. Nilainya harus antara 10 menit dan tujuh hari.

REST

Untuk membuat template instance yang dikonfigurasi untuk membuat VM mulai fleksibel, buat salah satu permintaan POST berikut:

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": "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. Berdasarkan jenis mesin yang ingin digunakan VM dengan fitur Mulai Fleksibel, tentukan region yang didukung.

  • 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. Nilai 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 GPU 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. Saat VM mencapai akhir durasi jalannya, Compute Engine akan menghapus setiap VM satu per satu relatif terhadap waktu pembuatannya sendiri. Durasi proses harus antara 600, yaitu 600 detik (10 menit), dan 604800, yaitu 604.800 detik (tujuh hari).

Setelah membuat template instance, Anda dapat melihat detail template untuk meninjau propertinya.

Membuat MIG regional atau zona

Buat MIG regional atau zona seperti yang dijelaskan di bagian ini. Anda tidak boleh mengonfigurasi penskalaan otomatis dan harus menonaktifkan perbaikan. Jika resource yang Anda minta tidak tersedia, Compute Engine akan terus mencoba mengalokasikan resource hingga permintaan berhasil, Anda mengurangi jumlah VM dalam MIG, atau Anda menghapus MIG.

Untuk membuat MIG regional atau zona, pilih salah satu opsi berikut:

Konsol

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

    Buka Instance groups

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

  3. Di kolom Nama, masukkan nama untuk MIG.

  4. Dalam daftar Instance template, pilih template instance yang Anda buat di bagian sebelumnya.

  5. Di kolom Number of instances, masukkan jumlah VM mulai fleksibel yang akan dibuat di MIG. Jika workload Anda memerlukan nama VM tertentu, masukkan 0 agar tidak membuat VM apa pun. Setelah membuat MIG, tambahkan VM dengan nama tertentu ke MIG tersebut.

  6. Di bagian Location, tentukan apakah Anda ingin membuat MIG tingkat zona atau regional sebagai berikut:

    1. Untuk membuat MIG zona, pilih Single zone. Atau, untuk membuat MIG regional, pilih Beberapa zona.

    2. Pilih Region dan Zona untuk MIG.

    3. Jika Anda membuat MIG regional, lakukan hal berikut:

      1. Di kolom Bentuk distribusi target, pilih Zona tunggal mana pun.

      2. Pada dialog yang muncul, klik Nonaktifkan redistribusi instance.

  7. Untuk menghapus konfigurasi penskalaan otomatis, di bagian Autoscaling, lakukan hal berikut:

    1. Klik Konfigurasi penskalaan otomatis.

    2. Di daftar Autoscaling mode, klik Delete autoscaling configuration.

    3. Pada dialog konfirmasi, klik Delete.

  8. Untuk menonaktifkan perbaikan, di bagian Action on failure, di daftar Default action on failure, pilih No action.

  9. Klik Create.

gcloud

Untuk membuat MIG, gunakan perintah gcloud compute instance-groups managed create.

Berdasarkan jenis MIG yang ingin Anda buat, sertakan tanda berikut dalam perintah:

  • Untuk membuat MIG zona, sertakan tanda --zone:

    gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
        --default-action-on-vm-failure=do-nothing \
        --size=SIZE \
        --template=INSTANCE_TEMPLATE_URL \
        --zone=ZONE
    
  • Untuk membuat MIG regional, sertakan flag --region dan --target-distribution-shape:

    gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
        --default-action-on-vm-failure=do-nothing \
        --size=SIZE \
        --template=INSTANCE_TEMPLATE_URL \
        --region=REGION \
        --target-distribution-shape=SHAPE
    

Ganti kode berikut:

  • INSTANCE_GROUP_NAME: nama MIG.

  • INSTANCE_TEMPLATE_URL: URL template instance yang Anda buat di bagian sebelumnya. 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

  • SIZE: jumlah VM Flex-start yang akan dibuat di MIG. Jika workload Anda memerlukan nama VM tertentu, tentukan 0 agar tidak membuat VM apa pun. Setelah membuat MIG, tambahkan VM dengan nama tertentu ke MIG tersebut.

  • ZONE: zona tempat MIG zona akan dibuat. Jika Anda menggunakan template instance regional untuk membuat MIG, Anda harus menentukan zona dalam region yang sama dengan template.

  • REGION: region tempat MIG regional akan dibuat. Jika Anda menggunakan template instance regional untuk membuat MIG, Anda harus menentukan region yang sama dengan region template.

  • SHAPE: cara MIG Anda mendistribusikan VM Mulai fleksibel di seluruh zona dalam MIG regional Anda. Tentukan salah satu nilai berikut:

    • Untuk membuat VM di beberapa zona berdasarkan ketersediaan: ANY

    • Untuk membuat VM dalam satu zona berdasarkan ketersediaan: ANY_SINGLE_ZONE

    Untuk mengetahui informasi selengkapnya, lihat Bentuk distribusi target MIG regional.

REST

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

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

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

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
    
    {
      "name": "INSTANCE_GROUP_NAME",
      "instanceTemplate": "INSTANCE_TEMPLATE_URL",
      "instanceLifecyclePolicy": {
        "defaultActionOnFailure": "DO_NOTHING"
      },
      "targetSize": SIZE,
      "distributionPolicy": {
        "targetShape": "SHAPE"
      }
    }
    

Ganti kode berikut:

  • PROJECT_ID: ID project tempat MIG regional atau zonal dibuat.

  • ZONE: zona tempat MIG zona akan dibuat. Jika Anda menggunakan template instance regional untuk membuat MIG, Anda harus menentukan zona dalam region yang sama dengan template.

  • REGION: region tempat MIG regional akan dibuat. Jika Anda menggunakan template instance regional untuk membuat MIG, Anda harus menentukan region yang sama dengan region template.

  • INSTANCE_GROUP_NAME: nama MIG.

  • INSTANCE_TEMPLATE_URL: URL template instance yang Anda buat di bagian sebelumnya. 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

  • SIZE: jumlah VM Flex-start yang akan dibuat di MIG. Jika workload Anda memerlukan nama VM tertentu, tentukan 0 agar tidak membuat VM apa pun. Setelah membuat MIG, tambahkan VM dengan nama tertentu ke MIG tersebut.

  • SHAPE: cara MIG Anda mendistribusikan VM Mulai fleksibel di seluruh zona dalam MIG regional Anda. Tentukan salah satu nilai berikut:

    • Untuk membuat VM di beberapa zona berdasarkan ketersediaan: ANY

    • Untuk membuat VM dalam satu zona berdasarkan ketersediaan: ANY_SINGLE_ZONE

    Untuk mengetahui informasi selengkapnya, lihat Bentuk distribusi target MIG regional.

Langkah berikutnya