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.
  • 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. 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.

      1. Install the Google Cloud CLI.
      2. To initialize the gcloud CLI, run the following command:

        gcloud init
      3. If you're using a local shell, then create local authentication credentials for your user account:

        gcloud auth application-default login

        You don't need to do this if you're using Cloud Shell.

      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, 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.

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 Instance groups

    Langkah-langkah lainnya akan muncul 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.

Secara opsional, 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 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 meningkatkan 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 di MIG, Anda dapat menggunakan resource google_compute_autoscaler.

Contoh berikut mengonfigurasi penskalaan otomatis berdasarkan penggunaan CPU di MIG zonal.

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.

Secara opsional, 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 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 meningkatkan 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 berikutnya