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

  • Jika Anda belum melakukannya, siapkan autentikasi. Autentikasi adalah proses verifikasi identitas Anda untuk mengakses layanan dan API Google Cloud. Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat mengautentikasi ke Compute Engine dengan memilih salah satu opsi berikut:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. Terraform

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

      1. Install the Google Cloud CLI.
      2. To initialize the gcloud CLI, run the following command:

        gcloud init
      3. If you're using a local shell, then create local authentication credentials for your user account:

        gcloud auth application-default login

        You don't need to do this if you're using Cloud Shell.

      Untuk informasi selengkapnya, lihat Set up authentication for a local development environment.

      REST

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

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

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

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 lainnya akan muncul 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 memberikan opsi yang dapat didahului, sertakan blok scheduling. Untuk 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 berikutnya

  • 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.