Mempercepat penyebaran skala dengan VM yang ditangguhkan dan dihentikan


Dokumen ini menjelaskan cara kerja kumpulan standby instance virtual machine (VM) yang ditangguhkan dan dihentikan, serta cara menggunakan kumpulan standby untuk mempercepat penyebaran skala dari grup instance terkelola (MIG).

Sebelum memulai

  • Tinjau halaman pengantar tentang VM yang ditangguhkan dan dihentikan di MIG.
  • 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

Menggunakan MIG API untuk penskalaan otomatis

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

Dengan MIG API, Anda dapat menghubungkan penskala otomatis, misalnya penskala otomatis GKE, dan memanfaatkan kumpulan VM standby untuk penyebaran skala yang lebih cepat.

Memilih antara kumpulan yang ditangguhkan dan dihentikan

Memilih antara kumpulan yang ditangguhkan dan dihentikan bergantung pada kasus penggunaan spesifik Anda. Untuk mendapatkan performa terbaik, Anda harus bereksperimen dengan berbagai jenis kumpulan standby untuk skenario penyebaran skala guna menentukan mana yang paling sesuai dengan kebutuhan Anda. Workload 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, karena VM yang ditangguhkan mempertahankan status memori. Pastikan aplikasi Anda dapat ditangguhkan dan dilanjutkan. Mempertahankan status memori memerlukan penyimpanan tambahan dan mungkin 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 menyebarkan skala.

Konsol

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

    Buka Instance groups

  2. Pada kolom Nama dalam 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, di bagian Mode, pilih Scale-out.

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

  7. Klik Simpan.

gcloud

Gunakan perintah beta instance-groups managed update dan tentukan mode operasi dan 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 oleh MIG sebelum menangguhkan atau menghentikan VM. Penundaan awal memberi skrip inisialisasi waktu untuk menyiapkan VM Anda untuk penyebaran skala dengan 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://www.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.
  • MIG_NAME: nama MIG.
  • DELAY: jumlah detik yang harus ditunggu oleh MIG sebelum menangguhkan atau menghentikan VM. Penundaan awal memberi skrip inisialisasi waktu untuk menyiapkan VM Anda untuk penyebaran skala dengan cepat.
  • REGION: untuk MIG regional, region tempat MIG berada.
  • ZONE: untuk MIG zona, zona tempat MIG berada.

Mengubah ukuran kolam renang standby di MIG

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

Konsol

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

    Buka Instance groups

  2. Pada kolom Nama 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 Ditangguhkan VM dan S Jadi VM.

  6. Klik Simpan.

gcloud

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

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

Ganti kode berikut:

  • MIG_NAME: nama MIG tempat untuk 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

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://www.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 untuk 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 selanjutnya