Membuat MIG yang menggunakan preemptible VM


Dokumen ini menjelaskan cara membuat grup instance terkelola (MIG) yang menggunakan instance preemptible virtual machine (VM). Preemptible VM berguna jika beban kerja Anda dapat menoleransi gangguan, dan Anda ingin memanfaatkan penghematan biaya yang terkait dengan preemptible VM.

Anda juga dapat membaca skenario dasar lainnya untuk membuat MIG.

Sebelum memulai

  • Siapkan autentikasi, jika Anda belum melakukannya. Autentikasi adalah proses verifikasi identitas Anda untuk akses ke layanan dan API Google Cloud. Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke Compute Engine sebagai berikut.

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

    Konsol

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

    gcloud

    1. Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:

      gcloud init
    2. Menetapkan region dan zona default.

    Terraform

    Untuk menggunakan contoh Terraform di halaman ini dari lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.

    1. Menginstal Google Cloud CLI.
    2. Untuk initialize gcloud CLI, jalankan perintah berikut:

      gcloud init
    3. Buat kredensial autentikasi lokal untuk Akun Google Anda:

      gcloud auth application-default login

    Untuk informasi selengkapnya, lihat Siapkan autentikasi untuk lingkungan pengembangan lokal.

    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 initialize dengan menjalankan perintah berikut:

      gcloud init

Batasan

Untuk melihat daftar lengkap batasan MIG, yang bervariasi berdasarkan konfigurasi yang Anda gunakan, lihat Batasan MIG.

Buat Template Instance dengan preemptible VM.

Anda dapat menggunakan MIG zonal atau regional untuk membuat beberapa preemptible VM dengan cepat, sehingga dapat mengurangi biaya VM dalam grup instance terkelola Anda. Misalnya, Anda dapat membuat grup preemptible VM, menggunakannya untuk menjalankan tugas batch processing, lalu menghapus grup tersebut saat tugas selesai.

Untuk membuat grup preemptible VM, tetapkan opsi preemptible di template instance, lalu gunakan template tersebut untuk membuat MIG.

Konsol

  1. Di konsol, buka halaman instance templates.

    Buka Instance templates

    Langkah-langkah selanjutnya akan muncul secara otomatis di konsol Google Cloud.

  2. Klik Create instance template.
  3. Isi properti yang Anda inginkan untuk template instance Anda.
  4. Klik Advanced options dan luaskan bagian Management.
  5. Di bawah Availability policy, dalam daftar VM provision model, pilih Spot.
  6. Klik Create untuk membuat template.

gcloud

Buat template instance menggunakan perintah instance-templates create. Menyertakan flag --preemptible.

gcloud compute instance-templates create INSTANCE_TEMPLATE \
    --preemptible

Terraform

Contoh berikut membuat template instance global. Untuk menyediakan opsi preemptible, sertakan blok scheduling. Untuk mengetahui informasi selengkapnya tentang resource yang digunakan dalam contoh, lihat resource google_compute_instance_template. Untuk membuat template instance regional, gunakan resource google_compute_region_instance_template.

resource "google_compute_instance_template" "default" {
  name         = "preemptible-template"
  machine_type = "n1-standard-1"
  disk {
    source_image = "debian-cloud/debian-11"
  }
  network_interface {
    network = "default"
  }
  scheduling {
    preemptible       = "true"
    automatic_restart = "false"
  }
}

Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.

REST

Panggil metode instanceTemplates.insert untuk membuat template instance baru. Sertakan properti scheduling.preemptible dan tetapkan ke true.

{
"name": "INSTANCE_TEMPLATE",
"properties": {
  "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
  "networkInterfaces": [
    {
      "network": "global/networks/default",
      "accessConfigs":
      [
        {
          "name": "external-IP",
          "type": "ONE_TO_ONE_NAT"
        }
      ]
    }
  ],
  "scheduling":
  {
    "preemptible": true
  },
  "disks":
  [
    {
      "type": "PERSISTENT",
      "boot": true,
      "mode": "READ_WRITE",
      "initializeParams":
      {
        "sourceImage": "projects/debian-cloud/global/images/family/debian-9"
      }
    }
  ]
  }
}

Setelah template instance dibuat, gunakan template tersebut untuk membuat MIG dengan VM yang dibatasi di satu zona atau dengan VM yang tersebar di beberapa zona dalam satu region singkat ini.

Langkah selanjutnya

  • Siapkan autohealing berbasis aplikasi, yang secara berkala memverifikasi bahwa aplikasi Anda merespons seperti yang diharapkan pada setiap VM MIG dan otomatis membuat ulang VM yang tidak responsif.
  • Aktifkan penskalaan otomatis untuk menambahkan atau menghapus VM dari MIG Anda secara otomatis berdasarkan peningkatan atau penurunan beban.
  • Pelajari cara menerapkan konfigurasi baru ke semua atau subset VM di MIG dengan menetapkan dan menerapkan template instance baru, konfigurasi semua instance, atau konfigurasi per instance.
  • Pertahankan disk, metadata, dan alamat IP di seluruh peristiwa yang mengganggu seperti pembuatan ulang VM, autohealing, dan update dengan menambahkan konfigurasi stateful.
  • Pelajari cara menggunakan instance terkelola, misalnya, untuk menghapus, meninggalkan, dan membuat ulang VM di MIG.
  • Lihat info tentang MiG dan VM-nya.