Mempercepat penskalaan keluar dengan VM yang ditangguhkan dan dihentikan


Dokumen ini menjelaskan cara kerja kumpulan standby instance virtual machine (VM) yang ditangguhkan dan dihentikan serta cara Anda dapat menggunakan kumpulan standby untuk mempercepat penskalaan keluar 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 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. 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.

Menggunakan MIG API untuk penskalaan otomatis

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

Memilih antara kumpulan yang ditangguhkan dan dihentikan

Memilih antara pool yang ditangguhkan dan dihentikan bergantung pada kasus penggunaan Anda. Untuk performa terbaik, Anda harus bereksperimen dengan berbagai jenis kumpulan cadangan untuk skenario penskalaan untuk menentukan mana yang paling sesuai dengan kebutuhan Anda. Beban kerja yang berbeda mungkin menunjukkan waktu yang lebih singkat untuk ditayangkan dengan opsi yang berbeda. Dalam beberapa kasus, operasi menyalin 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, 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 terutama berfokus pada inisialisasi data yang disimpan di persistent disk.

Mengedit kebijakan standby di MIG

Bagian ini menjelaskan cara menetapkan penundaan awal dan cara menetapkan mode kumpulan standby untuk menskalakan kumpulan.

Konsol

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

    Buka Instance groups

  2. Di kolom Name pada daftar, klik nama grup instance tempat Anda ingin mengedit kebijakan standby.

  3. Klik Edit untuk mengubah grup instance terkelola ini.

  4. Klik Tampilkan konfigurasi lanjutan.

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

  6. Di kolom Initial delay, masukkan jumlah detik yang harus menunggu MIG sebelum menangguhkan atau menghentikan VM. Penundaan awal memberi skrip inisialisasi waktu untuk menyiapkan VM Anda untuk penskalaan cepat.

  7. Klik Simpan.

gcloud

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

gcloud beta 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 untuk penskalaan cepat.
  • REGION: untuk MIG regional, region tempat MIG berada.
  • ZONE: untuk MIG zona, zona tempat MIG berada.

API

Gunakan metode instanceGroupManager.update dan tentukan mode operasi dan penundaan awal dalam isi permintaan. Untuk MIG regional, gunakan metode regionInstanceGroupManager.update.

PUT https://compute.googleapis.com/compute/beta/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 untuk penskalaan cepat.

Mengubah ukuran kumpulan standby di MIG

Bagian ini menjelaskan cara mengubah ukuran kumpulan VM yang ditangguhkan dan dihentikan di MIG.

Konsol

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

    Buka Instance groups

  2. Di kolom Name pada daftar, klik nama grup instance tempat Anda ingin mengedit ukuran kumpulan standby.

  3. Klik Edit untuk mengubah grup instance terkelola ini.

  4. Klik Tampilkan konfigurasi lanjutan.

  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 beta dengan flag --suspended-size dan --stopped-size.

gcloud beta 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 dikelola 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.

API

Gunakan metode instanceGroupManager.update dan tentukan ukuran kumpulan VM yang ditangguhkan dan dihentikan dalam isi permintaan. Untuk MIG regional, gunakan metode regionInstanceGroupManager.update.

PUT https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME

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

Ganti kode berikut:

  • PROJECT_ID: project ID untuk permintaan.
  • 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 dikelola MIG pada waktu tertentu.
  • STOPPED_SIZE: jumlah VM yang dihentikan yang harus dipertahankan MIG pada waktu tertentu.

Langkah selanjutnya