Membuat VM mulai fleksibel

Dokumen ini menjelaskan cara membuat instance virtual machine (VM) dengan fitur Mulai fleksibel. VM mulai fleksibel berjalan hingga tujuh hari dan membantu Anda mendapatkan resource yang sangat diminati seperti GPU dengan harga diskon. Fitur ini menjadikan VM mulai fleksibel sebagai solusi hemat biaya untuk menjalankan workload berdurasi singkat, seperti penyesuaian model dan inferensi batch.

Untuk mempelajari lebih lanjut karakteristik utama VM Mulai fleksibel, termasuk persyaratan dan batasan yang Anda terapkan saat membuatnya, lihat Tentang VM Mulai fleksibel.

Sebelum memulai

Peran yang diperlukan

Agar mendapatkan izin yang Anda perlukan untuk membuat 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 VM Flex-start. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk membuat VM mulai fleksibel:

  • compute.instances.create di 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 pada template instance
  • Untuk menentukan subnet bagi VM Anda: compute.subnetworks.use di project atau di subnet yang dipilih
  • Untuk menentukan alamat IP statis untuk VM: compute.addresses.use pada project
  • Untuk menetapkan alamat IP eksternal ke VM saat menggunakan jaringan VPC: compute.subnetworks.useExternalIp di project atau di subnet yang dipilih
  • Untuk menetapkan jaringan lama ke VM: compute.networks.use pada project
  • Untuk menetapkan alamat IP eksternal ke VM saat menggunakan jaringan lama: compute.networks.useExternalIp di project
  • Untuk menetapkan metadata instance VM bagi VM: compute.instances.setMetadata di project
  • Untuk menyetel tag untuk VM: compute.instances.setTags di VM
  • Untuk menetapkan label bagi VM: compute.instances.setLabels di VM
  • Untuk menetapkan akun layanan yang akan digunakan VM: compute.instances.setServiceAccount di VM
  • Untuk membuat disk baru untuk VM: compute.disks.create pada 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

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

Membuat VM mulai fleksibel

Untuk membuat VM mulai fleksibel, pilih salah satu opsi berikut:

gcloud

Untuk membuat VM mulai fleksibel, gunakan perintah gcloud compute instances create dengan flag berikut:

  • Flag --request-valid-for-duration

  • Flag --provisioning-model=FLEX_START

  • Flag --instance-termination-action

  • Flag --max-run-duration

  • Flag --maintenance-policy=TERMINATE

  • Flag --reservation-affinity=none

Untuk membuat VM mulai fleksibel, jalankan perintah berikut:

gcloud compute instances create VM_NAME \
    --machine-type=MACHINE_TYPE \
    --zone=ZONE \
    --request-valid-for-duration=VALID_FOR_DURATION \
    --provisioning-model=FLEX_START \
    --instance-termination-action=TERMINATION_ACTION \
    --max-run-duration=RUN_DURATION \
    --maintenance-policy=TERMINATE \
    --reservation-affinity=none

Ganti kode berikut:

  • VM_NAME: nama VM baru Anda.

  • MACHINE_TYPE: jenis mesin yang akan digunakan untuk VM mulai fleksibel. Jika Anda menentukan jenis mesin G2 atau N1, pertimbangkan hal berikut:

    • Untuk jenis mesin G2, Anda dapat secara opsional menentukan NVIDIA RTX Virtual Workstations (vWS) yang akan digunakan untuk beban kerja intensif grafis. Untuk melakukannya, sertakan flag --accelerator dalam perintah sebagai berikut:

      --accelerator=count=VWS_ACCELERATOR_COUNT,type=nvidia-l4-vws
      

      Ganti VWS_ACCELERATOR_COUNT dengan jumlah NVIDIA RTX vWS yang diperlukan beban kerja Anda.

    • Untuk jenis mesin N1, Anda harus menentukan jumlah dan jenis GPU yang akan dipasang ke VM. Jika tidak, pembuatan VM akan gagal. Untuk melampirkan GPU ke VM N1, sertakan flag --accelerator dalam perintah sebagai berikut:

      --accelerator=count=NUMBER_OF_ACCELERATORS,type=ACCELERATOR_TYPE
      

      Ganti kode berikut:

  • ZONE: zona tempat Anda ingin membuat VM. Untuk memverifikasi bahwa jenis mesin yang Anda tentukan tersedia di zona tempat Anda ingin membuat VM, lihat Region dan zona yang tersedia.

  • VALID_FOR_DURATION: waktu maksimum untuk menunggu penyediaan resource yang Anda minta, diformat sebagai angka diikuti dengan satuan (s, m, h, atau d). Misalnya, nilai 30m menentukan waktu 30 menit, dan nilai 1h2m3s menentukan waktu satu jam, dua menit, dan tiga detik. Berdasarkan persyaratan zona untuk workload Anda, sebaiknya tentukan salah satu durasi berikut untuk membantu meningkatkan peluang keberhasilan permintaan pembuatan VM Anda:

    • Jika workload Anda mengharuskan Anda membuat VM di zona tertentu, tentukan durasi antara 90 detik (90s) dan dua jam (2h). Durasi yang lebih lama memberi Anda peluang yang lebih tinggi untuk mendapatkan resource.

    • Jika VM dapat berjalan di zona mana pun dalam region, tentukan durasi nol detik (0s). Nilai ini menentukan bahwa Compute Engine hanya mengalokasikan resource jika resource tersebut tersedia secara langsung. Jika permintaan pembuatan gagal karena sumber daya tidak tersedia, coba lagi permintaan di zona lain.

  • TERMINATION_ACTION: apakah akan menghentikan atau menghapus VM di akhir durasi prosesnya. Tentukan salah satu nilai berikut:

    • Untuk menghentikan VM: STOP

    • Untuk menghapus VM: DELETE

  • RUN_DURATION: waktu maksimum VM berjalan sebelum dihapus oleh Compute Engine, diformat sebagai angka yang diikuti dengan satuan (s, m, h, atau d). Nilai harus antara 10 menit dan tujuh hari.

REST

Untuk membuat VM mulai fleksibel, buat permintaan POST ke metode instances.insert. Dalam isi permintaan, sertakan kolom berikut:

  • Kolom params.requestValidForDuration.

  • Kolom scheduling.provisioningModel ditetapkan ke FLEX_START.

  • Kolom scheduling.instanceTerminationAction.

  • Kolom scheduling.maxRunDuration.

  • Kolom scheduling.onHostMaintenance ditetapkan ke TERMINATE.

  • reservationAffinity.consumeReservationType disetel ke NO_RESERVATION.

Untuk membuat VM mulai fleksibel, buat permintaan POST sebagai berikut:

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

{
  "name": "VM_NAME",
  "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
  "disks": [
    {
      "initializeParams": {
        "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
      },
      "boot": true
    }
  ],
  "networkInterfaces": [
    {
      "network": "global/networks/default"
    }
  ],
  "params": {
    "requestValidForDuration": {
      "seconds": VALID_FOR_DURATION
    }
  },
  "scheduling": {
    "provisioningModel": "FLEX_START",
    "instanceTerminationAction": "TERMINATION_ACTION",
    "maxRunDuration": {
      "seconds": RUN_DURATION
    },
    "onHostMaintenance": "TERMINATE"
  },
  "reservationAffinity": {
    "consumeReservationType": "NO_RESERVATION"
  }
}

Ganti kode berikut:

  • PROJECT_ID: ID project tempat VM akan dibuat.

  • ZONE: zona tempat Anda ingin membuat VM. Untuk memverifikasi bahwa jenis mesin tersedia di zona tempat Anda ingin membuat VM, lihat Region dan zona yang tersedia.

  • VM_NAME: nama VM baru Anda.

  • MACHINE_TYPE: jenis mesin yang akan digunakan untuk VM mulai fleksibel. Jika Anda menentukan jenis mesin G2 atau N1, pertimbangkan hal berikut:

    • Untuk jenis mesin G2, Anda dapat secara opsional menentukan NVIDIA RTX Virtual Workstations (vWS) yang akan digunakan untuk beban kerja intensif grafis. Untuk melakukannya, sertakan kolom guestAccelerators di isi permintaan sebagai berikut:

      "guestAccelerators": [
        {
          "acceleratorCount": VWS_ACCELERATOR_COUNT,
          "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/nvidia-l4-vws"
        }
      ]
      

      Ganti VWS_ACCELERATOR_COUNT dengan jumlah NVIDIA RTX vWS yang diperlukan beban kerja Anda.

    • Untuk jenis mesin N1, Anda harus menentukan jumlah dan jenis GPU yang akan dipasang ke VM. Jika tidak, pembuatan VM akan gagal. Untuk memasang GPU ke VM N1, sertakan kolom guestAccelerators di isi permintaan sebagai berikut:

      "guestAccelerators": [
        {
          "acceleratorCount": ACCELERATOR_COUNT,
          "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_TYPE"
        }
      ]
      

      Ganti kode berikut:

  • 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 image OS—misalnya, debian-12-bookworm-v20240617.

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

  • VALID_FOR_DURATION: waktu maksimum dalam detik untuk menunggu VM disediakan. Berdasarkan persyaratan zona untuk workload Anda, sebaiknya tentukan salah satu durasi berikut untuk membantu meningkatkan peluang keberhasilan permintaan pembuatan VM Anda:

    • Jika workload Anda mengharuskan Anda membuat VM di zona tertentu, tentukan durasi antara 90 detik (90) dan dua jam (7200). Durasi yang lebih lama memberi Anda peluang yang lebih tinggi untuk mendapatkan resource.

    • Jika VM dapat berjalan di zona mana pun dalam region, tentukan durasi nol detik (0). Nilai ini menentukan bahwa Compute Engine hanya mengalokasikan resource jika resource tersebut tersedia secara langsung. Jika permintaan pembuatan gagal karena resource tidak tersedia, coba lagi permintaan di zona lain.

  • TERMINATION_ACTION: apakah akan menghentikan atau menghapus VM di akhir durasi prosesnya. Tentukan salah satu nilai berikut:

    • Untuk menghentikan VM: STOP

    • Untuk menghapus VM: DELETE

  • RUN_DURATION: waktu maksimum dalam detik VM berjalan sebelum Compute Engine menghapusnya. Nilai ini harus antara 600 detik (10 menit) dan 604.800 detik (tujuh hari).

Langkah berikutnya

Coba sendiri

Jika Anda baru pertama kali menggunakan Google Cloud, buat akun untuk mengevaluasi performa Compute Engine dalam skenario dunia nyata. Pelanggan baru mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.

Coba Compute Engine gratis