Membuat MIG dengan penskalaan otomatis yang diaktifkan


Dokumen ini menjelaskan cara membuat grup instance terkelola (MIG) berskala otomatis, yang otomatis menambahkan dan menghapus VM berdasarkan pemakaian CPU rata-rata di seluruh grup. Misalnya, jika pemakaian CPU grup rendah, grup akan otomatis menghapus VM untuk menghemat biaya.

Anda dapat otomatis menskalakan MIG berdasarkan berbagai jenis sinyal penskalaan otomatis. Untuk mengetahui informasi selengkapnya, lihat ringkasan autoscaler.

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

Untuk melihat daftar lengkap batasan MIG, yang bervariasi berdasarkan konfigurasi yang Anda gunakan, lihat Batasan MIG.

Membuat MIG dan mengaktifkan penskalaan otomatis

Gunakan Konsol Google Cloud, gcloud CLI, Terraform, atau REST.

Konsol

  1. Di konsol, buka halaman Grup instance.

    Buka Grup instance

    Langkah-langkah selanjutnya akan muncul secara otomatis di konsol Google Cloud.

  2. Jika Anda memiliki grup instance, pilih grup tersebut dan klik Edit. Jika Anda tidak memiliki grup instance, klik Create instance group.
  3. Untuk grup instance baru, tetapkan nama, lalu pilih template instance untuk grup instance tersebut atau buat yang baru.
  4. Jika tidak ada konfigurasi penskalaan otomatis, di bagian Autoscaling, klik Configure penskalaan otomatis.
  5. Di bagian Autoscaling mode, pilih On: add and remove instances to the group untuk mengaktifkan penskalaan otomatis.
  6. Tentukan jumlah minimum dan maksimum instance yang Anda inginkan untuk dibuat oleh autoscaler dalam grup ini.
  7. Di bagian Autoscaling metrics, jika metrik CPU utilization yang ada belum ada, tambahkan satu:
    1. Klik Add metric.
    2. Di bagian Metric type, pilih CPU utilization.
    3. Masukkan Target CPU utilization yang diinginkan. Nilai ini diperlakukan sebagai persentase. Misalnya, untuk pemakaian CPU 75%, masukkan 75.
    4. Di bagian Predictive autoscaling, pilih Nonaktif. Untuk mempelajari lebih lanjut penskalaan otomatis prediktif, dan mengetahui kesesuaian penskalaan dengan workload Anda, lihat Penskalaan berdasarkan prediksi.
    5. Klik Done.
  8. Anda dapat menggunakan Periode inisialisasi untuk menyetel periode inisialisasi, yang akan memberi tahu autoscaler berapa lama waktu yang diperlukan aplikasi untuk diinisialisasi. Menentukan periode inisialisasi yang akurat akan meningkatkan keputusan autoscaler. Misalnya, saat penskalaan otomatis, autoscaler mengabaikan data dari VM yang masih melakukan inisialisasi karena VM tersebut mungkin belum mewakili penggunaan normal aplikasi Anda. Periode inisialisasi default adalah 60 detik.
  9. Untuk membuat MIG, klik Create.

gcloud

Sebelum dapat mengaktifkan penskalaan otomatis, Anda harus membuat MIG. Ikuti petunjuk untuk membuat MIG dengan VM yang dibatasi pada satu zona atau membuat MIG dengan VM yang tersebar di beberapa zona dalam satu region singkat ini.

Kemudian gunakan sub-perintah set-autoscaling untuk mengaktifkan penskalaan otomatis untuk grup. Misalnya, perintah berikut akan membuat autoscaler yang memiliki penggunaan CPU target sebesar 60%. Bersama dengan parameter --target-cpu-utilization, parameter --max-num-replicas juga diperlukan saat membuat autoscaler.

Jika ingin, Anda dapat menetapkan --min-num-replicas yang menunjukkan jumlah minimum VM yang Anda inginkan dalam grup. Jika Anda tidak menetapkan nilai minimum, secara default, MIG akan menetapkan nilai ini ke 2.

Anda dapat menggunakan flag --cool-down-period untuk menetapkan periode inisialisasi, yang akan memberi tahu autoscaler berapa lama waktu yang diperlukan aplikasi untuk diinisialisasi. Menentukan periode inisialisasi yang akurat akan meningkatkan keputusan autoscaler. Misalnya, saat penskalaan otomatis, autoscaler mengabaikan data dari VM yang masih melakukan inisialisasi karena VM tersebut mungkin belum mewakili penggunaan normal aplikasi Anda. Periode inisialisasi default adalah 60 detik.

gcloud compute instance-groups managed set-autoscaling example-managed-instance-group \
  --max-num-replicas 20 \
  --target-cpu-utilization 0.60 \
  --cool-down-period 90

Jika mau, Anda dapat mengaktifkan penskalaan otomatis prediktif untuk menyebarkan skala sebelum beban yang diprediksi. Untuk mempelajari apakah penskalaan otomatis prediktif cocok untuk beban kerja Anda, lihat Penskalaan berdasarkan prediksi.

Anda dapat memverifikasi bahwa penskalaan otomatis berhasil diaktifkan menggunakan perintah instance-groups managed describe yang mendeskripsikan MIG yang sesuai dan memberikan informasi tentang fitur penskalaan otomatis apa pun untuk grup tersebut:

gcloud compute instance-groups managed describe example-managed-instance-group

Terraform

Sebelum dapat mengaktifkan penskalaan otomatis, Anda harus membuat MIG. Ikuti petunjuk untuk membuat MIG dengan VM yang dibatasi pada satu zona atau membuat MIG dengan VM yang tersebar di beberapa zona dalam satu region singkat ini.

Untuk mengonfigurasi penskalaan otomatis dalam MIG, Anda dapat menggunakan resource google_compute_autoscaler.

Contoh berikut mengonfigurasi penskalaan otomatis berdasarkan pemakaian CPU dalam MIG zona.

resource "google_compute_autoscaler" "default" {
  name   = "example-autoscaler"
  zone   = "us-central1-f"
  target = google_compute_instance_group_manager.default.id

  autoscaling_policy {
    max_replicas    = 20
    min_replicas    = 0
    cooldown_period = 90

    cpu_utilization {
      target = 0.60
    }
  }
}

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

REST

Sebelum dapat mengaktifkan penskalaan otomatis, Anda harus membuat MIG dengan VM yang dibatasi untuk satu zona atau membuat MIG dengan VM yang tersebar di beberapa zona dalam satu region

Jika Anda memiliki MIG zona, buat permintaan POST ke metode autoscalers.insert. Jika Anda memiliki MIG regional, gunakan metode regionAutoscalers.insert.

Contoh:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/autoscalers/

Isi permintaan Anda harus berisi kolom name, target, dan autoscalingPolicy. Kolom autoscalingPolicy harus menentukan nilai cpuUtilization target dan nilai maxNumReplicas Anda.

Jika ingin, Anda dapat menetapkan minNumReplicas yang menunjukkan jumlah minimum VM yang Anda inginkan dalam grup. Jika Anda tidak menetapkan nilai minimum, secara default, MIG akan menetapkan nilai ini ke 2.

Anda dapat menggunakan kolom coolDownPeriodSec untuk menetapkan periode inisialisasi, yang akan memberi tahu autoscaler berapa lama waktu yang diperlukan aplikasi untuk diinisialisasi. Menentukan periode inisialisasi yang akurat akan meningkatkan keputusan autoscaler. Misalnya, saat penskalaan otomatis, autoscaler mengabaikan data dari VM yang masih melakukan inisialisasi karena VM tersebut mungkin belum mewakili penggunaan normal aplikasi Anda. Periode inisialisasi default adalah 60 detik.

{
  "name": "example-autoscaler",
  "target": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instanceGroupManagers/example-managed-instance-group",
  "autoscalingPolicy": {
    "maxNumReplicas": 10,
    "cpuUtilization": {
      "utilizationTarget": 0.6
    },
    "coolDownPeriodSec": 90
  }
}

Jika mau, Anda dapat mengaktifkan penskalaan otomatis prediktif untuk menyebarkan skala sebelum beban yang diprediksi. Untuk mempelajari apakah penskalaan otomatis prediktif cocok untuk beban kerja Anda, lihat Penskalaan berdasarkan prediksi.

Untuk informasi selengkapnya tentang cara mengaktifkan penskalaan otomatis berdasarkan pemakaian CPU, lihat Penskalaan berdasarkan pemakaian CPU.

Langkah selanjutnya