Mempercepat penskalaan keluar dengan VM yang ditangguhkan dan dihentikan

Dokumen ini menjelaskan cara kerja pool standby instance virtual machine (VM) yang ditangguhkan dan dihentikan serta cara menggunakan pool standby untuk mempercepat penskalaan grup instance terkelola (MIG).

Sebelum memulai

  • Tinjau halaman pengantar tentang VM yang ditangguhkan dan dihentikan di MIG.
  • Jika Anda belum melakukannya, siapkan autentikasi. Autentikasi adalah proses yang digunakan untuk memverifikasi identitas Anda untuk mengakses Trusted Cloud by S3NS layanan dan API. Untuk menjalankan kode atau sampel dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi 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 Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.

    gcloud

    1. Instal Google Cloud CLI, lalu login ke gcloud CLI dengan identitas gabungan Anda. Setelah login, lakukan inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:

      gcloud init
    2. Set a default region and zone.

    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.

      Instal Google Cloud CLI, lalu login ke gcloud CLI dengan identitas gabungan Anda.

      Create local authentication credentials for your user account:

      gcloud auth application-default login

      If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

    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, Anda menggunakan kredensial yang Anda berikan ke gcloud CLI.

      Instal Google Cloud CLI, lalu login ke gcloud CLI dengan identitas gabungan Anda.

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

Menggunakan MIG API untuk penskalaan otomatis

Sebaiknya gunakan autoscaler Compute Engine untuk penskalaan otomatis MIG Anda. Namun, jika karena alasan tertentu Anda lebih memilih menggunakan autoscaler lain, gunakan endpoint MIG API untuk menangani VM yang ditangguhkan dan dihentikan.

Memilih antara kumpulan yang ditangguhkan dan dihentikan

Memilih antara kumpulan yang ditangguhkan dan dihentikan bergantung pada kasus penggunaan spesifik Anda. Untuk performa terbaik, Anda harus bereksperimen dengan berbagai jenis kumpulan siaga untuk skenario penskalaan horizontal guna menentukan jenis yang paling sesuai dengan kebutuhan Anda. Beban kerja yang berbeda mungkin menunjukkan waktu penayangan yang lebih singkat dengan opsi yang berbeda. Dalam beberapa kasus, operasi penyalinan status memori dari penyimpanan ke VM mungkin memerlukan waktu lebih lama daripada memulai ulang VM atau membuat VM baru dari awal.

Untuk menemukan pendekatan terbaik, mulailah dari panduan berikut:

  • Gunakan VM yang ditangguhkan jika VM Anda memerlukan inisialisasi memori yang memakan waktu lama, karena VM yang ditangguhkan mempertahankan status memori. Pastikan aplikasi Anda dapat ditangguhkan dan dilanjutkan. Mempertahankan status memori memerlukan penyimpanan tambahan dan dapat menimbulkan biaya tambahan.
  • Gunakan VM yang dihentikan jika inisialisasi VM Anda berfokus terutama pada inisialisasi data yang disimpan di persistent disk.

Mengedit kebijakan siaga di MIG

Bagian ini menjelaskan cara menyetel mode pool siaga untuk menskalakan pool dan penundaan awal.

Konsol

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

    Buka Instance groups

  2. Klik nama grup instance yang ingin Anda edit.

  3. Klik Edit untuk mengubah grup instance terkelola ini.

  4. Klik Advanced options untuk meluaskan bagian tersebut.

  5. Di bagian Standby pool, pilih Scale-out.

  6. Di kolom Penundaan awal, masukkan jumlah detik yang harus ditunggu MIG sebelum menangguhkan atau menghentikan VM. Penundaan awal memberikan waktu bagi skrip inisialisasi untuk menyiapkan VM Anda agar dapat melakukan penskalaan cepat.

  7. Klik Simpan.

gcloud

Gunakan perintah instance-groups managed update dan tentukan mode operasi dan penundaan awal.

gcloud compute instance-groups managed update MIG_NAME \
  --standby-policy-mode=scale-out-pool \
  --standby-policy-initial-delay=DELAY \
  [--region=REGION | --zone=ZONE]

Ganti kode berikut:

  • MIG_NAME: nama MIG.
  • DELAY: jumlah detik yang harus ditunggu MIG sebelum menangguhkan atau menghentikan VM. Penundaan awal memberi skrip inisialisasi waktu untuk menyiapkan VM Anda agar dapat melakukan penskalaan horizontal dengan cepat.
  • REGION: untuk MIG regional, region tempat MIG berada.
  • ZONE: untuk MIG zona, zona tempat MIG berada.

Terraform

Contoh berikut membuat MIG zona dengan kebijakan siaga. Gunakan blok standby_policy untuk menetapkan penundaan awal dan menetapkan mode ke SCALE_OUT_POOL.

Contoh ini menggunakan google_compute_instance_group_manager resource. Untuk MIG regional, gunakan resource google_compute_region_instance_group_manager.

resource "google_compute_instance_group_manager" "default" {
  name               = "standby-mig"
  base_instance_name = "test"
  target_size        = 3
  zone               = "us-central1-f"

  version {
    instance_template = google_compute_instance_template.default.id
    name              = "primary"
  }
  standby_policy {
    initial_delay_sec = 50
    mode              = "SCALE_OUT_POOL"
  }
}

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

REST

Gunakan metode instanceGroupManager.patch dan tentukan mode operasi serta penundaan awal di isi permintaan. Untuk MIG regional, gunakan metode regionInstanceGroupManager.patch.

PATCH https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME

{
// ...
"standbyPolicy": {
  "mode": "SCALE_OUT_POOL",
  "initialDelaySec": DELAY
}
// ...
}

Ganti kode berikut:

  • PROJECT_ID: ID project Anda.
  • ZONE: untuk MIG zona, zona tempat MIG berada.
    • Untuk MIG regional, ganti zones/ZONE dengan regions/REGION dan tentukan region MIG.
  • MIG_NAME: nama MIG.
  • DELAY: jumlah detik yang harus ditunggu MIG sebelum menangguhkan atau menghentikan VM. Penundaan awal memberi skrip inisialisasi waktu untuk menyiapkan VM Anda agar dapat melakukan penskalaan horizontal dengan cepat.

Mengubah ukuran pool siaga di MIG

Bagian ini menjelaskan cara mengubah ukuran pool standby VM yang ditangguhkan dan dihentikan dalam MIG.

Konsol

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

    Buka Instance groups

  2. Klik nama grup instance yang ingin Anda edit.

  3. Klik Edit untuk mengubah grup instance terkelola ini.

  4. Klik Advanced options untuk meluaskan bagian tersebut.

  5. Di bagian Standby pool, masukkan ukuran baru di kolom Suspended VMs dan Stopped VMs.

  6. Klik Simpan.

gcloud

Gunakan perintah instance-groups managed update dengan flag --suspended-size dan --stopped-size.

gcloud compute instance-groups managed update MIG_NAME \
--suspended-size=SUSPENDED_SIZE \
--stopped-size=STOPPED_SIZE \
[--region=REGION | --zone=ZONE]

Ganti kode berikut:

  • MIG_NAME: nama MIG tempat menangguhkan instance.
  • SUSPENDED_SIZE: jumlah VM yang ditangguhkan yang harus dipertahankan MIG pada waktu tertentu.
  • STOPPED_SIZE: jumlah VM yang dihentikan yang harus dipertahankan MIG pada waktu tertentu.
  • REGION: untuk MIG regional, region tempat MIG berada.
  • ZONE: untuk MIG zona, zona tempat MIG berada.

Terraform

Contoh berikut membuat MIG zona dengan ukuran target untuk VM yang ditangguhkan dan dihentikan. Untuk menetapkan ukuran target, gunakan argumen target_suspended_size dan target_stopped_size.

Contoh ini menggunakan google_compute_instance_group_manager resource. Untuk MIG regional, gunakan resource google_compute_region_instance_group_manager.

resource "google_compute_instance_group_manager" "default" {
  name                  = "standby-mig"
  base_instance_name    = "test"
  target_size           = 1
  target_suspended_size = 1
  target_stopped_size   = 2
  zone                  = "us-central1-f"

  version {
    instance_template = google_compute_instance_template.default.id
    name              = "primary"
  }
  standby_policy {
    initial_delay_sec = 50
    mode              = "SCALE_OUT_POOL"
  }
}

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

REST

Gunakan metode instanceGroupManager.patch dan tentukan ukuran pool VM yang ditangguhkan dan dihentikan di isi permintaan. Untuk MIG regional, gunakan metode regionInstanceGroupManager.patch.

PATCH https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME

{
// ...
"targetSuspendedSize": SUSPENDED_SIZE,
"targetStoppedSize": STOPPED_SIZE
// ...
}

Ganti kode berikut:

  • PROJECT_ID: ID project Anda.
  • ZONE: untuk MIG zona, zona tempat MIG berada.
    • Untuk MIG regional, ganti zones/ZONE dengan regions/REGION dan tentukan region MIG.
  • MIG_NAME: nama MIG tempat menghentikan instance.
  • SUSPENDED_SIZE: jumlah VM yang ditangguhkan yang harus dipertahankan MIG pada waktu tertentu.
  • STOPPED_SIZE: jumlah VM yang dihentikan yang harus dipertahankan MIG pada waktu tertentu.

Langkah berikutnya