Melihat ketersediaan Spot VM

Dokumen ini menjelaskan cara melihat ketersediaan real-time dan perkiraan uptime untuk VM Spot.

Sebelum membuat Spot VM, Anda dapat melihat ketersediaan real-time dan perkiraan waktu aktif di beberapa jenis mesin dan lokasi dengan menggunakan advice.capacity API. Informasi ini membantu Anda melakukan hal berikut:

  • Mengurangi error ketersediaan resource. Saat melihat jenis mesin, region, atau zona yang memiliki kapasitas yang tersedia, Anda dapat menentukan konfigurasi tersebut saat membuat Spot VM. Tindakan ini mengurangi kemungkinan Anda mengalami error ketersediaan resource.

  • Mengoptimalkan workload untuk penghentian sementara. Dengan membandingkan waktu aktif yang diharapkan di berbagai konfigurasi dan lokasi mesin, Anda dapat memilih konfigurasi yang paling sesuai dengan workload Anda. Dengan memeriksa faktor-faktor ini, Anda dapat mendesain dan mengatur Spot VM sehingga penghentian paksa tidak mengganggu beban kerja Anda.

Untuk mempelajari cara membandingkan stabilitas dan biaya di berbagai jenis mesin dan lokasi, lihat Melihat tarif preempti dan harga untuk VM Spot.

Batasan

Saat mengirim permintaan ke advice.capacity API, Anda tidak dapat melihat ketersediaan TPU.

Memahami cara melihat ketersediaan resource untuk Spot VM

Saat Anda mengirim permintaan ke advice.capacity API, output akan menampilkan metrik rekomendasi berikut. Metrik ini didasarkan pada jenis mesin yang Anda inginkan untuk digunakan Spot VM, zona tempat Anda ingin membuat Spot VM, serta ketersediaan real-time dan tingkat preempti historis resource yang Anda minta.

  • Skor ketersediaan: kemungkinan permintaan pembuatan VM Spot dengan jumlah VM dan konfigurasi mesin yang Anda tentukan akan berhasil. Untuk mengetahui informasi selengkapnya, lihat Skor ketersediaan untuk Spot VM.

  • Perkiraan waktu aktif: jumlah waktu minimum yang dapat Anda harapkan untuk sebagian besar Spot VM Anda agar dapat berjalan sebelum Compute Engine menghentikannya. Untuk mengetahui informasi selengkapnya, lihat Perkiraan waktu aktif untuk Spot VM.

Skor ketersediaan untuk Spot VM

Saat Anda mengirim permintaan ke advice.capacity API, skor ketersediaan (obtainability) dalam output menunjukkan kemungkinan Anda dapat berhasil membuat jumlah Spot VM yang ditentukan dalam satu atau beberapa zona. Compute Engine menghitung skor ini berdasarkan ketersediaan real-time resource yang Anda minta dan tingkat keberhasilan permintaan pembuatan terbaru.

Skor kemampuan memperoleh berkisar dari 0.0 hingga 1.0, dan menunjukkan salah satu peluang keberhasilan berikut:

  • Peluang keberhasilan tinggi (0.7 hingga 1.0): Anda kemungkinan besar akan membuat Spot VM yang diminta.

  • Peluang keberhasilan sedang (0.4 hingga 0.6): Anda cukup berpeluang untuk membuat Spot VM yang diminta. Jika Anda membuat Spot VM secara massal atau di MIG dengan ukuran target, Anda mungkin hanya mendapatkan sebagian VM yang diminta.

  • Peluang keberhasilan rendah (0.0 hingga 0.3): Anda kemungkinan tidak dapat membuat Spot VM yang diminta. Sebaiknya periksa ketersediaan resource di lokasi lain atau untuk jenis mesin lain, atau buat VM menggunakan model penyediaan yang berbeda.

Perkiraan waktu aktif untuk Spot VM

Saat Anda mengirim permintaan ke advice.capacity API, perkiraan waktu aktif (estimatedUptime) dalam output menunjukkan waktu minimum yang diharapkan untuk menjalankan sebagian besar VM Spot dengan jumlah yang ditentukan sebelum terjadi penghentian paksa. Compute Engine menghitung waktu aktif ini berdasarkan pola penggunaan historis dan saat ini untuk jenis mesin dan lokasi yang Anda tentukan.

Compute Engine dapat menyetel perkiraan uptime ke salah satu nilai berikut:

  • 60 menit (3.600 detik): sebagian besar VM Spot Anda kemungkinan akan berjalan selama satu jam sebelum di-preempt oleh Compute Engine. Buat VM untuk beban kerja yang berjalan lama yang dapat mentoleransi gangguan, seperti beban kerja batch.

  • 10 menit (600 detik): sebagian besar VM Spot Anda kemungkinan akan berjalan selama 10 menit sebelum di-preempt oleh Compute Engine. Buat VM hanya untuk tugas yang berjalan singkat atau untuk beban kerja fault-tolerant yang menyimpan progresnya dalam interval singkat.

  • 1 menit (60 detik): sebagian besar Spot VM Anda kemungkinan akan berjalan selama satu menit sebelum di-preempt oleh Compute Engine. Sebaiknya Anda melakukan salah satu hal berikut:

    • Buat VM hanya untuk tugas yang sangat singkat, pengujian, atau workload non-kritis.

    • Periksa ketersediaan resource di lokasi lain atau untuk jenis mesin yang berbeda.

    • Buat VM menggunakan model penyediaan yang berbeda.

Praktik terbaik

Untuk memaksimalkan peluang Anda mendapatkan kapasitas setelah menggunakan advice.capacity API, sebaiknya ikuti praktik terbaik berikut:

  • Bandingkan output di berbagai jenis mesin: jika workload Anda fleksibel, bandingkan opsi dengan jumlah VM Spot atau jenis mesin yang berbeda. Misalnya, Anda dapat membandingkan output untuk 100 VM dengan jenis mesin n1-standard-2 dan 50 VM dengan jenis mesin n1-standard-4. Kemudian, Anda dapat membuat Spot VM menggunakan konfigurasi yang paling menyeimbangkan ketersediaan dan perkiraan waktu aktif untuk kebutuhan workload Anda.

  • Bandingkan output di beberapa lokasi: jika workload Anda dapat berjalan di beberapa region atau zona, periksa ketersediaan di setiap lokasi. Misalnya, jika dua region menawarkan perkiraan waktu aktif yang sama, buat VM Spot di region dengan skor ketersediaan yang lebih tinggi.

  • Mendistribusikan VM di beberapa zona: jika Anda menentukan bentuk distribusi target ANY atau BALANCED, API advice.capacity mungkin merekomendasikan agar Anda membuat Spot VM di beberapa zona. Misalnya, untuk memaksimalkan peluang Anda membuat 100 Spot VM, output mungkin merekomendasikan Anda untuk membuat 90 VM di satu zona dan 10 VM di zona lain.

Sebelum memulai

  • API advice.capacity menyertakan zona AI secara default dalam rekomendasi ketersediaan dan perkiraan uptime-nya. Untuk membantu memastikan bahwa Anda dapat membuat VM Spot di zona AI jika API merekomendasikan agar Anda membuat VM di salah satu zona ini, verifikasi bahwa zona AI diaktifkan untuk project Anda.
  • Siapkan autentikasi jika Anda belum melakukannya. Autentikasi memverifikasi identitas Anda untuk mengakses layanan Cloud de Confiance by S3NS 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 Cloud de Confiance untuk mengakses layanan Cloud de Confiance by S3NS dan API, Anda tidak perlu menyiapkan autentikasi.

    gcloud

    1. Instal Google Cloud CLI, lalu login ke gcloud CLI dengan identitas gabungan Anda. Setelah login, inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:

      gcloud init
  • 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, lalu login ke gcloud CLI dengan identitas gabungan Anda.

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

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk melihat ketersediaan VM Spot, minta administrator untuk memberi Anda peran IAM Compute Viewer (roles/compute.viewer) 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 melihat ketersediaan VM Spot. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk melihat ketersediaan VM Spot:

  • Untuk melihat ketersediaan Spot VM: compute.advice.capacity di project

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

Melihat ketersediaan Spot VM

Untuk melihat ketersediaan Spot VM, Anda harus menentukan lokasi, konfigurasi mesin, dan jumlah VM yang ingin dibuat. Berdasarkan hasilnya, Anda dapat membuat Spot VM, atau melihat ketersediaan resource di lokasi lain atau untuk konfigurasi mesin lain.

Bergantung pada persyaratan beban kerja Anda, pertimbangkan hal berikut:

Untuk melihat ketersediaan Spot VM, pilih salah satu opsi berikut:

Konsol

  1. Di konsol Cloud de Confiance , buka halaman Capacity advisor.

    Buka Penasihat kapasitas

  2. Di panel Filter, selesaikan langkah-langkah berikut:

    1. Di bagian Location, dalam daftar Region, pilih region tempat Anda ingin melihat ketersediaan VM Spot.

    2. Di bagian Spesifikasi mesin, tentukan konfigurasi mesin dan jumlah Spot VM yang ingin Anda lihat ketersediaannya:

      1. Dalam daftar Machine family, pilih kelompok mesin.

      2. Dalam daftar Series, pilih hingga tiga seri mesin.

      3. Dalam daftar Machine type, pilih hingga lima jenis mesin.

      4. Di kolom Number of VMs, masukkan jumlah VM Spot.

    3. Klik Telusuri.

gcloud

Untuk melihat ketersediaan VM Spot, gunakan perintah gcloud beta compute advice capacity:

gcloud beta compute advice capacity \
    --provisioning-model=SPOT \
    --instance-selection-machine-types=MACHINE_TYPES \
    --target-distribution-shape=TARGET_DISTRIBUTION_SHAPE \
    --size=SIZE \
    --region=REGION

Ganti kode berikut:

  • MACHINE_TYPES: daftar jenis mesin yang dipisahkan koma yang ketersediaannya ingin Anda lihat—misalnya, n2-standard-2,n2-standard-4. Anda dapat menentukan hingga lima jenis mesin.

  • TARGET_DISTRIBUTION_SHAPE: distribusi resource yang diminta. Berdasarkan jenis workload yang ingin Anda jalankan dan zona tempat Anda ingin membuat VM, tentukan salah satu nilai berikut:

    • ANY: Anda ingin membuat Spot VM di satu atau beberapa zona berdasarkan ketersediaan. Tentukan nilai ini untuk workload batch.

    • ANY_SINGLE_ZONE: Anda ingin membuat Spot VM hanya di satu zona berdasarkan ketersediaan. Tentukan nilai ini untuk workload yang memerlukan komunikasi ekstensif antar-VM, seperti workload AI atau komputasi berperforma tinggi (HPC).

    • BALANCED: Anda ingin membuat VM Spot di satu atau beberapa zona berdasarkan ketersediaan, dan Compute Engine akan mendistribusikan VM semerata mungkin di seluruh zona. Tentukan nilai ini untuk meminimalkan dampak kegagalan zona untuk workload batch atau penayangan yang sangat tersedia.

  • SIZE: jumlah Spot VM yang ingin Anda buat.

  • REGION: region tempat Anda ingin melihat ketersediaan VM Spot. Untuk menentukan daftar zona yang dipisahkan koma, bukan region, ganti flag --region dengan flag --zones.

Outputnya mirip dengan hal berikut ini:

recommendations:
- scores:
  obtainability: 0.9
  estimatedUptime: 600s
- shards:
  - instanceCount: 90
    machineType: n2-standard-2
    provisioningModel: SPOT
    zone: https://compute.s3nsapis.fr/compute/beta/projects/example-project/zones/us-central1-a
  - instanceCount: 10
    machineType: n2-standard-4
    provisioningModel: SPOT
    zone: https://compute.s3nsapis.fr/compute/beta/projects/example-project/zones/us-central1-c

REST

Untuk melihat ketersediaan VM Spot, buat permintaan POST ke metode advice.capacity beta.

Misalnya, untuk melihat ketersediaan dua jenis mesin di suatu region, buat permintaan sebagai berikut. Anda dapat melihat ketersediaan hingga lima jenis mesin per permintaan.

POST https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/regions/REGION/advice/capacity

{
  "instanceProperties": {
    "scheduling": {
      "provisioningModel": "SPOT"
    }
  },
  "instanceFlexibilityPolicy": {
    "instanceSelections": {
      "MACHINE_SELECTION_1": {
        "machineTypes": [
          "MACHINE_TYPE_1"
        ]
      },
      "MACHINE_SELECTION_2": {
        "machineTypes": [
          "MACHINE_TYPE_2"
        ]
      }
    }
  },
  "distributionPolicy": {
    "targetShape": "TARGET_DISTRIBUTION_SHAPE"
  },
  "size": SIZE
}

Ganti kode berikut:

  • PROJECT_ID: ID project Anda.

  • REGION: region tempat Anda ingin melihat ketersediaan VM Spot.

  • MACHINE_SELECTION_1 dan MACHINE_SELECTION_2: nama untuk pilihan jenis mesin. Misalnya, tentukan selection-1 dan selection-2 masing-masing.

  • MACHINE_TYPE_1 dan MACHINE_TYPE_2: jenis mesin yang ketersediaannya ingin Anda lihat. Bergantung pada jenis mesin, perhatikan hal berikut:

    • Jenis mesin N1: untuk memasang GPU ke Spot VM N1, sertakan kolom guestAccelerators di kolom MACHINE_SELECTION_1 atau MACHINE_SELECTION_2 sebagai berikut:

      "guestAccelerators": [
        {
          "acceleratorCount": ACCELERATOR_COUNT,
          "acceleratorType": "ACCELERATOR_TYPE"
        }
      ]
      

      Ganti kode berikut:

    • Jenis mesin tanpa disk SSD Lokal default: untuk memasang disk SSD Lokal ke Spot VM, sertakan kolom disks di kolom MACHINE_SELECTION_1 atau MACHINE_SELECTION_2. Untuk setiap disk SSD Lokal yang ingin Anda pasang, ulangi kolom type dan tetapkan ke SCRATCH. Misalnya, untuk melampirkan dua disk SSD Lokal, sertakan berikut ini:

      "disks": [
        {
          "type": "SCRATCH"
        },
        {
          "type": "SCRATCH"
        }
      ]
      
  • TARGET_DISTRIBUTION_SHAPE: distribusi resource yang diminta. Berdasarkan jenis workload yang ingin Anda jalankan dan zona tempat Anda ingin membuat VM, tentukan salah satu nilai berikut:

    • ANY: Anda ingin membuat Spot VM di satu atau beberapa zona berdasarkan ketersediaan. Tentukan nilai ini untuk workload batch.

    • ANY_SINGLE_ZONE: Anda ingin membuat Spot VM hanya di satu zona berdasarkan ketersediaan. Tentukan nilai ini untuk workload yang memerlukan komunikasi ekstensif antar-VM, seperti workload AI atau HPC.

    • BALANCED: Anda ingin membuat VM Spot di satu atau beberapa zona berdasarkan ketersediaan, dan Compute Engine mendistribusikan VM semerata mungkin di seluruh zona. Tentukan nilai ini untuk meminimalkan dampak kegagalan zona untuk beban kerja batch atau penayangan yang sangat tersedia.

  • SIZE: jumlah Spot VM yang ingin Anda buat.

Outputnya mirip dengan hal berikut ini:

{
  "recommendations": [
    {
      "scores": {
        "estimatedUptime": "600s",
        "obtainability": 0.9
      },
      "shards": [
        {
          "instanceCount": 90,
          "machineType": "n2-standard-2",
          "provisioningModel": "SPOT",
          "zone": "https://compute.s3nsapis.fr/compute/beta/projects/example-project/zones/us-central1-a"
        },
        {
          "instanceCount": 10,
          "machineType": "n2-standard-4",
          "provisioningModel": "SPOT",
          "zone": "https://compute.s3nsapis.fr/compute/beta/projects/example-project/zones/us-central1-c"
        }
      ]
    }
  ]
}

Jika Anda ingin melihat ketersediaan Spot VM di zona tertentu dalam suatu region, sertakan kolom zones dalam isi permintaan.

Langkah berikutnya