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 yang digunakan untuk memverifikasi identitas Anda agar dapat mengakses Google Cloud layanan dan API.
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:
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
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 Mengautentikasi untuk menggunakan REST dalam Google Cloud dokumentasi autentikasi.
-
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
Izin yang diperlukan untuk langkah ini
Untuk melakukan tugas ini, Anda harus memiliki izin berikut:
compute.autoscalers.create
pada projectcompute.instanceGroupManagers.use
pada project
Di konsol, buka halaman Grup instance.
Jika Anda memiliki grup instance, pilih grup tersebut dan klik Edit. Jika Anda tidak memiliki grup instance, klik Buat grup instance.
Jika tidak terdapat konfigurasi penskalaan otomatis, klik Konfigurasikan penskalaan otomatis di bagian Penskalaan Otomatis.
Di bagian Mode penskalaan otomatis, pilih Aktif: tambahkan dan hapus instance ke grup untuk mengaktifkan penskalaan otomatis.
Tentukan jumlah minimum dan maksimum instance yang Anda inginkan untuk dibuat oleh autoscaler dalam grup ini.
Di bagian Autoscaling signals, jika metrik CPU utilization yang ada belum ada, tambahkan:
- Klik Tambahkan sinyal.
- Di drop-down Signal type, pilih CPU utilization.
- Masukkan Target CPU utilization yang diinginkan. Nilai ini
diperlakukan sebagai persentase. Misalnya, untuk penggunaan CPU sebesar 75%, masukkan
75
. - 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.
- Klik Done.
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.
Klik Simpan.
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
.
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
- Pelajari cara mengaktifkan penskalaan otomatis prediktif.
- Pelajari cara mengelola autoscaler.
- Pelajari cara autoscaler membuat keputusan.
- Pelajari cara menggunakan beberapa sinyal penskalaan otomatis untuk menskalakan grup Anda.