Penskalaan berdasarkan penggunaan CPU


Bentuk penskalaan otomatis yang paling sederhana adalah menskalakan grup instance terkelola (MIG) berdasarkan penggunaan CPU instance-nya.

Anda juga dapat menskalakan MIG secara otomatis berdasarkan kapasitas penyaluran load balancing, Metrik pemantauan, atau jadwal.

Sebelum memulai

  • Tinjau batasan autoscaler.
  • Baca dasar-dasar autoscaler.
  • 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.

Penskalaan berdasarkan penggunaan CPU

Anda dapat melakukan penskalaan otomatis berdasarkan penggunaan CPU rata-rata dari grup instance terkelola (MIG). Kebijakan ini akan memberi tahu autoscaler untuk mengumpulkan penggunaan CPU instance dalam grup dan menentukan apakah perlu untuk melakukan penskalaan. Anda menetapkan target penggunaan CPU yang harus dipertahankan oleh autoscaler dan autoscaler akan berupaya mempertahankan tingkat penggunaan tersebut.

Autoscaler memperlakukan tingkat penggunaan CPU target sebagai pecahan dari penggunaan rata-rata semua vCPU dari waktu ke waktu dalam grup instance. Jika penggunaan rata-rata total vCPU Anda melebihi target penggunaan, autoscaler akan menambahkan lebih banyak instance VM. Jika penggunaan rata-rata total vCPU Anda kurang dari target penggunaan, autoscaler akan menghapus instance. Misalnya, menetapkan target penggunaan sebesar 0,75 akan memberi tahu autoscaler untuk mempertahankan penggunaan rata-rata sebesar 75% di antara semua vCPU dalam grup instance.

Anda juga dapat melakukan penskalaan berdasarkan perkiraan penggunaan CPU. Untuk mengetahui informasi selengkapnya, dan untuk melihat apakah solusi ini cocok dengan workload Anda, lihat Penskalaan berdasarkan prediksi.

Aktifkan penskalaan otomatis berdasarkan penggunaan CPU

Konsol

  1. Di konsol, buka halaman Grup instance.

    Buka Grup instance

  2. Jika Anda memiliki grup instance, pilih grup tersebut dan klik Edit. Jika Anda tidak memiliki grup instance, klik Buat grup instance.

  3. Jika tidak terdapat konfigurasi penskalaan otomatis, klik Konfigurasikan penskalaan otomatis di bagian Penskalaan Otomatis.

  4. Di bagian Mode penskalaan otomatis, pilih Aktif: tambahkan dan hapus instance ke grup untuk mengaktifkan penskalaan otomatis.

  5. Tentukan jumlah minimum dan maksimum instance yang Anda inginkan untuk dibuat oleh autoscaler dalam grup ini.

  6. Di bagian Autoscaling signals, jika metrik CPU utilization yang ada belum ada, tambahkan:

    1. Klik Tambahkan sinyal.
    2. Di drop-down Signal type, pilih CPU utilization.
    3. Masukkan Target CPU utilization yang diinginkan. Nilai ini diperlakukan sebagai persentase. Misalnya, untuk penggunaan CPU sebesar 75%, masukkan 75.
    4. Di bagian Penskalaan otomatis prediktif, pilih Nonaktif. Untuk mempelajari lebih lanjut penskalaan otomatis prediktif, dan apakah penskalaan tersebut cocok dengan workload Anda, lihat Penskalaan berdasarkan prediksi.
    5. Klik Done.
  7. Anda dapat menggunakan Periode inisialisasi untuk 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.

  8. Klik Simpan.

gcloud

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

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

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.

Secara opsional, Anda dapat mengaktifkan penskalaan otomatis prediktif untuk meningkatkan skala sebelum beban yang diprediksi. Untuk mempelajari apakah penskalaan otomatis prediktif cocok untuk workload Anda, lihat Penskalaan berdasarkan prediksi.

Anda dapat memverifikasi bahwa penskalaan otomatis berhasil diaktifkan menggunakan sub-perintah instance-groups managed describe, yang mendeskripsikan grup instance terkelola yang sesuai dan memberikan informasi tentang setiap fitur penskalaan otomatis untuk grup instance tersebut:

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

Untuk mengetahui daftar perintah dan flag gcloud yang tersedia, baca referensi gcloud.

REST

Untuk membuat autoscaler, gunakan metode autoscalers.insert untuk MIG zona atau metode regionAutoscalers.insert untuk MIG regional.

Contoh berikut akan membuat autoscaler untuk MIG zona:

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

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

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.

Secara opsional, Anda dapat mengaktifkan penskalaan otomatis prediktif untuk meningkatkan skala sebelum beban yang diprediksi. Untuk mempelajari apakah penskalaan otomatis prediktif cocok untuk workload Anda, lihat Penskalaan berdasarkan prediksi.

{
  "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
  }
}

Untuk mengetahui informasi selengkapnya tentang cara mengaktifkan penskalaan otomatis berdasarkan penggunaan CPU, selesaikan tutorial, Menggunakan penskalaan otomatis untuk aplikasi yang sangat skalabel.

Cara autoscaler menangani penggunaan CPU yang berat

Selama periode penggunaan CPU yang berat, jika penggunaan mendekati 100%, autoscaler akan memperkirakan bahwa grup mungkin sudah kelebihan beban. Dalam kasus ini, autoscaler meningkatkan jumlah virtual machine maksimum sebesar 50%.

Langkah berikutnya