Menonaktifkan dan mengaktifkan kembali redistribusi VM proaktif di MIG regional


Dalam grup instance terkelola (MIG) regional, untuk mempertahankan jumlah instance virtual machine (VM) yang genap di seluruh zona yang dipilih dalam region, gunakan redistribusi instance proaktif. Opsi konfigurasi ini memaksimalkan ketersediaan aplikasi jika terjadi kegagalan tingkat zona.

Redistribusi instance proaktif diaktifkan secara default untuk MIG regional. Saat redistribusi instance proaktif dinonaktifkan, grup tidak berupaya untuk mendistribusikan ulang VM secara proaktif di seluruh zona. Menonaktifkan redistribusi instance proaktif berguna jika Anda perlu:

  • Menghapus atau mengabaikan VM dari grup tanpa memengaruhi VM lain yang berjalan. Misalnya, Anda dapat menghapus worker VM batch setelah tugas selesai tanpa memengaruhi worker lain.
  • Melindungi VM dengan workload stateful dari penghapusan otomatis yang tidak diinginkan karena redistribusi proaktif.
  • Menetapkan bentuk distribusi target MIG ke BALANCED atau ANY_SINGLE_ZONE.

Anda dapat menonaktifkan redistribusi instance proaktif saat membuat MIG regional. Anda juga dapat mengaktifkan atau menonaktifkannya untuk MIG regional yang ada.

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.

    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

Membuat grup dengan redistribusi instance proaktif dinonaktifkan

Untuk membuat MIG regional dengan redistribusi instance proaktif dinonaktifkan, gunakan Google Cloud Console, gcloud CLI, Terraform, atau REST.

Konsol

  1. Di konsol Google Cloud, buka halaman Instance groups.

    Buka halaman Grup instance

  2. Klik Buat grup instance untuk membuat grup instance baru.
  3. Tetapkan nama dan jika perlu, deskripsi untuk grup instance Anda.
  4. Pilih template instance untuk grup instance atau buat yang baru.
  5. Tentukan jumlah VM untuk grup ini. Untuk workload yang sangat tersedia, ingatlah untuk menyediakan VM yang cukup untuk mendukung aplikasi Anda jika terjadi kegagalan zona.
  6. Di bagian Lokasi, pilih Beberapa zona.
  7. Pilih region, lalu pilih zona yang ingin Anda gunakan.
  8. Untuk menonaktifkan redistribusi instance proaktif, di bagian Redistribusi instance, hapus centang pada kotak Izinkan redistribusi instance.
  9. Lanjutkan dengan proses pembuatan MIG lainnya.

gcloud

Untuk membuat MIG regional baru tanpa redistribusi instance proaktif, gunakan perintah gcloud compute instance-groups managed create dengan flag --instance-redistribution-type yang disetel ke NONE.

gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
    --template INSTANCE_TEMPLATE_NAME \
    --size TARGET_SIZE \
    --zones ZONES \
    --instance-redistribution-type NONE

Ganti kode berikut:

  • INSTANCE_GROUP_NAME: nama untuk MIG
  • INSTANCE_TEMPLATE_NAME: nama template instance yang akan digunakan untuk grup
  • TARGET_SIZE: ukuran target grup
  • ZONES: daftar zona di satu region tempat Anda ingin men-deploy VM

Contoh:

gcloud compute instance-groups managed create example-rmig \
    --template example-template \
    --size 30 \
    --zones us-east1-b,us-east1-c \
    --instance-redistribution-type NONE

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 membuat MIG regional, gunakan resource google_compute_region_instance_group_manager.

Untuk menonaktifkan redistribusi instance proaktif di MIG regional, sertakan blok update_policy, dan tetapkan kolom instance_redistribution_type ke NONE.

resource "google_compute_region_instance_group_manager" "default" {
  name                      = "example-rmig"
  region                    = "us-east1"
  distribution_policy_zones = ["us-east1-b", "us-east1-c"]
  update_policy {
    type                         = "PROACTIVE"
    minimal_action               = "REFRESH"
    instance_redistribution_type = "NONE"
    max_unavailable_fixed        = 3
  }
  target_size        = 30
  base_instance_name = "instance"
  version {
    instance_template = google_compute_instance_template.default.id
  }
}

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

REST

Untuk membuat MIG regional yang tidak diskalakan secara otomatis tanpa redistribusi instance proaktif, buat permintaan POST ke metode regionInstanceGroupManagers.insert. Dalam isi permintaan, sertakan properti updatePolicy, dan tetapkan kolom instanceRedistributionType ke NONE.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME

{
    "name": "INSTANCE_GROUP_NAME",
    "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME",
    "targetSize": TARGET_SIZE,
    "distributionPolicy": {
        "zones": [
            {"zone": "zones/ZONE"},
            {"zone": "zones/ZONE"}
        ]
    },
    "updatePolicy": {
        "instanceRedistributionType": "NONE"
    }
}

Ganti kode berikut:

  • PROJECT_ID: project ID untuk permintaan ini
  • REGION: region untuk grup instance
  • INSTANCE_GROUP_NAME: nama untuk MIG
  • INSTANCE_TEMPLATE_NAME: nama template instance yang akan digunakan untuk grup
  • TARGET_SIZE: ukuran target grup instance
  • ZONE: nama zona di satu region tempat Anda ingin men-deploy VM

Menonaktifkan redistribusi instance proaktif

Untuk menonaktifkan atau mengaktifkan kembali redistribusi instance proaktif, gunakan Google Cloud Console, gcloud CLI, atau REST.

Konsol

  1. Di konsol Google Cloud, buka halaman Instance groups.

    Buka halaman Grup instance

  2. Di kolom Nama dalam daftar, klik nama grup instance yang ingin diubah.
  3. Klik Edit untuk mengubah grup instance terkelola ini.
  4. Di bagian Redistribusi instance, hapus centang pada kotak Izinkan redistribusi instance.
  5. Klik Save.

gcloud

Untuk menonaktifkan redistribusi instance proaktif, setel flag --instance-redistribution-type ke NONE menggunakan perintah sebagai berikut:

  • Untuk MIG regional yang tidak diskalakan secara otomatis atau MIG regional yang diskalakan secara otomatis dengan mode yang disetel ke OFF atau ONLY_SCALE_OUT, gunakan perintah compute instance-groups managed update.

    Contoh:

    gcloud compute instance-groups managed update INSTANCE_GROUP_NAME \
    --instance-redistribution-type NONE \
    --region REGION
  • Untuk MIG regional yang diskalakan secara otomatis dengan mode disetel ke ON, gunakan perintah compute instance-groups managed update beta.

    Contoh:

    gcloud beta compute instance-groups managed update INSTANCE_GROUP_NAME \
    --instance-redistribution-type NONE \
    --region REGION

Ganti kode berikut:

  • INSTANCE_GROUP_NAME: nama MIG
  • REGION: region grup instance

REST

Untuk menonaktifkan redistribusi instance proaktif, tetapkan kolom instanceRedistributionType ke NONE menggunakan metode sebagai berikut:

  • Untuk MIG regional yang tidak diskalakan secara otomatis atau MIG regional yang diskalakan secara otomatis dengan mode yang disetel ke OFF atau ONLY_SCALE_OUT, gunakan metode regionInstanceGroupManagers.patch.

    Contoh:

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME
    
    {
     "updatePolicy": {
        "instanceRedistributionType": "NONE"
     }
    }
    
  • Untuk MIG regional berskala otomatis dengan mode ditetapkan ke ON, gunakan metode regionInstanceGroupManagers.patch beta.

    Contoh:

    PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME
    
    {
     "updatePolicy": {
          "instanceRedistributionType": "NONE"
      }
    }
    

Ganti kode berikut:

  • PROJECT_ID: project ID untuk permintaan ini
  • REGION: region untuk grup instance
  • INSTANCE_GROUP_NAME: nama MIG

Mengaktifkan redistribusi instance proaktif

Untuk mengaktifkan redistribusi instance proaktif, gunakan perintah serupa seperti untuk menonaktifkan redistribusi instance proaktif, tetapi tetapkan jenis distribusi ulang instance ke PROACTIVE.

Jika Anda menghapus atau mengabaikan beberapa instance terkelola secara manual sehingga mengakibatkan distribusi VM yang tidak merata di seluruh region, sebelum dapat mengaktifkan kembali redistribusi instance proaktif, Anda harus secara manual menyeimbangkan kembali grup. Selisih jumlah VM di antara dua zona tidak boleh lebih dari 1 VM.

MIG regional tidak mengizinkan pengaktifan redistribusi instance proaktif jika VM didistribusikan secara tidak merata di seluruh zona (selisih jumlah VM di antara dua zona adalah 2 VM atau lebih). Hal ini untuk mencegah penghapusan otomatis VM secara tidak sengaja dari zona dengan lebih banyak VM, yang akan dipicu untuk mencapai distribusi merata.

Langkah selanjutnya