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

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 all-instance untuk mengganti properti template instance, Anda tidak dapat menentukan properti tersebut dalam konfigurasi per instance mana pun dan pada saat yang sama dalam semua -instances.

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 selanjutnya akan muncul secara otomatis 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 saat 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 saat pembuatan MIG, sertakan blok stateful_disk. Contoh berikut membuat MIG zona dengan disk stateful. Untuk mengetahui 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 selanjutnya