Membuat MIG dengan disk stateful


Dokumen ini menjelaskan cara membuat grup instance terkelola (MIG) yang menyimpan data di disk dengan nama perangkat tertentu untuk semua VM MIG, bahkan di peristiwa pembuatan ulang VM—misalnya saat VM di MIG dipulihkan otomatis, diperbarui, atau dibuat ulang. Menyimpan disk berguna untuk beban kerja tertentu—misalnya, untuk database atau aplikasi lama.

Selain mempertahankan disk untuk semua VM dalam grup, Anda juga dapat mengonfigurasi MIG stateful untuk hal berikut:

  • Anda dapat menambahkan dan mempertahankan disk khusus instance.
  • Anda dapat menambahkan dan mempertahankan metadata khusus instance.
  • Anda dapat menambahkan dan mempertahankan alamat IP.

Untuk informasi selengkapnya, lihat ringkasan stateful MIG.

Anda juga dapat membaca skenario dasar lainnya untuk membuat MIG.

Sebelum memulai

  • Buat template instance, yang diperlukan untuk membuat grup instance terkelola.
  • 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. Buat kredensial autentikasi lokal untuk Akun Google Anda:

        gcloud auth application-default login

      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

MIG dengan konfigurasi statefulMIG stateful—memiliki batasan berikut:

  • Anda tidak dapat menggunakan penskalaan otomatis jika MIG Anda memiliki konfigurasi stateful.
  • Jika ingin menggunakan update berkelanjutan otomatis, Anda harus menetapkan metode penggantian ke RECREATE.
  • Untuk MIG regional stateful, Anda harus menonaktifkan redistribusi proaktif (menetapkan jenis distribusi ulang ke NONE) untuk mencegah penghapusan instance stateful dengan redistribusi lintas zona otomatis.
  • Jika menggunakan konfigurasi semua instance untuk mengganti properti template instance, Anda tidak dapat menentukan properti tersebut dalam konfigurasi per instance mana pun dan pada saat yang sama dalam konfigurasi semua instance grup.

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

Membuat MIG dengan disk stateful

Gunakan konsol Google Cloud, gcloud CLI, Terraform, atau REST.

Konsol

  1. Buka halaman Instance groups.

    Buka Instance groups

    Langkah-langkah lainnya akan muncul di konsol Google Cloud.

  2. Klik Create instance group.
  3. Pilih opsi New managed instance group (stateful).
  4. Tetapkan nama dan jika perlu, deskripsi untuk grup instance Anda.
  5. Pilih template instance untuk grup instance atau buat yang baru.
  6. Di kolom Number of instances, tentukan jumlah VM awal yang Anda perlukan dalam grup ini.
  7. Di bagian Stateful configuration, di bagian Group config, klik disk yang ingin Anda buat stateful, lalu lakukan langkah-langkah berikut.
    1. Di bagian Stateful, pilih Yes.
    2. Pada daftar On permanen instance deletion, pilih apakah Anda ingin melepas disk atau menghapus disk saat Anda menghapus VM secara permanen.
    3. Untuk menyimpan setelan, klik Done.
  8. Untuk membuat MIG, klik Create.

gcloud

Untuk menentukan disk mana dari template instance yang harus stateful dalam pembuatan MIG, gunakan flag --stateful-disk dengan perintah gcloud compute instance-groups managed create:

gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
    --template INSTANCE_TEMPLATE \
    --size SIZE \
    --stateful-disk device-name=DEVICE_NAME[,auto-delete=DELETE_RULE]

Ganti kode berikut:

  • INSTANCE_GROUP_NAME: Nama grup instance terkelola yang akan dibuat.
  • INSTANCE_TEMPLATE: Nama template instance yang akan digunakan saat membuat instance. Untuk template instance regional, Anda harus menentukan URL lengkap atau sebagian URL template. Contoh URL lengkap adalah https://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1/instanceTemplates/example-regional-instance-template dan URL sebagian adalah projects/example-project/regions/us-central1/instanceTemplates/example-regional-instance-template.
  • SIZE: Jumlah VM awal yang Anda perlukan dalam grup ini.
  • DEVICE_NAME: Nama perangkat disk yang ditentukan dalam template instance.
  • DELETE_RULE: Nilai yang menentukan apa yang harus terjadi pada disk stateful saat VM dihapus. Opsi yang tersedia adalah:

    • never: (Default.) Jangan pernah menghapus disk; sebagai gantinya, lepaskan disk ketika VM-nya dihapus.
    • on-permanent-instance-deletion: Menghapus disk saat instance VM-nya dihapus secara permanen dari grup instance, misalnya, saat instance terkelola dihapus secara manual atau saat grup ukuran menjadi lebih kecil.

    Terlepas dari nilai aturan hapus, disk stateful selalu dipertahankan pada operasi autohealing, update, dan pembuatan ulang VM.

Terraform

Jika Anda belum membuat template instance, yang menentukan jenis mesin, boot disk image, jaringan, dan properti VM lainnya yang Anda inginkan untuk setiap VM di MIG Anda, buat template instance.

Untuk menentukan disk mana dari template instance yang harus stateful pada pembuatan MIG, sertakan blok stateful_disk. Contoh berikut membuat MIG zona dengan disk stateful. Untuk informasi selengkapnya tentang resource yang digunakan dalam contoh, lihat resource google_compute_instance_group_manager.

resource "google_compute_instance_group_manager" "default" {
  name               = "igm-stateful-disk-basic"
  zone               = "us-central1-f"
  base_instance_name = "instance"
  target_size        = 1

  version {
    instance_template = google_compute_instance_template.default.id
  }

  stateful_disk {
    device_name = "example-disk"
    delete_rule = "NEVER"
  }

}

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

REST

Untuk menentukan disk mana dari template instance yang harus stateful pada pembuatan MIG, sertakan disk tersebut dalam kolom statefulPolicy dalam isi permintaan Anda. Untuk MIG zona, gunakan metode instanceGroupManagers.insert atau untuk MIG regional, gunakan metode regionInstanceGroupManagers.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instanceGroupManagers

{
  "name": "NAME",
  "versions": [
    {
      "instanceTemplate": "global/instanceTemplates/TEMPLATE"
    }
  ],
  "targetSize": SIZE,
  "statefulPolicy": {
    "preservedState": {
      "disks": {
        "DEVICE_NAME": {"autoDelete": "DELETE_RULE" },
        "DEVICE_NAME": {"autoDelete": "DELETE_RULE" }
      }
    }
  }
}

Ganti kode berikut:

  • PROJECT: Project ID untuk permintaan.
  • ZONE: Zona tempat MIG berada (berlaku untuk MIG zona).
    • Untuk MIG regional, ganti zones/ZONE dengan regions/REGION dan tentukan region MIG.
  • NAME: Nama MIG yang akan dibuat.
  • TEMPLATE: Nama template instance yang akan digunakan saat membuat instance.
  • SIZE: Jumlah awal instance yang Anda perlukan dalam grup ini.
  • DEVICE_NAME: Nama perangkat disk yang ditentukan dalam template instance.
  • DELETE_RULE: Nilai yang menentukan apa yang harus terjadi pada disk stateful saat instance VM dihapus. Opsi yang tersedia adalah:

    • never: (Default.) Jangan pernah menghapus disk; melepaskan disk ketika VM dihapus.
    • on_permanent_instance_deletion: Menghapus disk stateful saat VM-nya dihapus secara permanen dari grup instance, misalnya, saat instance terkelola dihapus secara manual atau saat ukuran grup dikurangi.

    Terlepas dari nilai aturan hapus, disk stateful selalu dipertahankan saat operasi autohealing, update, dan pembuatan ulang instance.

Langkah berikutnya