Saat Anda membuat kebijakan penskalaan otomatis dengan banyak sinyal, autoscaler akan melakukan penskalaan berdasarkan sinyal yang memberikan jumlah instance virtual machine (VM) terbanyak di grup instance terkelola (MIG). Hal ini memastikan bahwa selalu ada cukup VM untuk menangani workload aplikasi Anda dan memungkinkan Anda menskalakan aplikasi dengan beberapa kemungkinan bottleneck.
Untuk mempelajari lebih lanjut berbagai jenis sinyal penskalaan otomatis, lihat Kebijakan penskalaan otomatis.
Sebelum memulai
- 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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
cpuUtilization
dengan target 0.8loadBalancingUtilization
dengan target 0.6customMetricUtilization
untuk metric1 dengan target 1000customMetricUtilization
untuk metric2 dengan target 2000scalingSchedules
- Minimal 6 VM setiap hari Sabtu—Minggu pukul 00.00 selama 24 jam
- Minimal 15 VM setiap Senin—Jumat pukul 09.00 selama 8 jam
- 0.5 untuk pemanfaatan CPU
- 0.4 untuk pemanfaatan load balancing
- 1100 untuk metric1
- 2700 untuk metric2
- 7 VM berdasarkan pemanfaatan CPU
- 7 VM berdasarkan pemanfaatan load balancing
- 11 VM berdasarkan metric1
- 14 VM berdasarkan metric2
- 6 VM setiap Sabtu—Minggu sepanjang hari berdasarkan jadwal penskalaan pertama
- 15 VM setiap Senin—Jumat dari pukul 09.00 hingga 17.00 berdasarkan jadwal penskalaan kedua
Di Konsol Google Cloud, buka halaman Instance groups.
Klik nama MIG dari daftar. Lalu, klik Edit.
Di halaman edit di bagian Autoscaling mode, aktifkan penskalaan otomatis dengan memilih On: add and remove instances to the group dari menu drop-down.
Di bagian Minimum number of instances, masukkan jumlah minimum VM yang Anda inginkan untuk MIG ini. Ukuran minimum MIG ini selalu dipertahankan, terlepas dari sinyal penskalaan otomatisnya.
Di bagian Maximum number of instances, masukkan jumlah maksimum VM yang Anda inginkan untuk MIG ini. Ukuran maksimum MIG ini tidak akan pernah terlampaui, terlepas dari rekomendasi ukuran yang dihasilkan oleh sinyal penskalaan otomatisnya.
Untuk setiap sinyal penskalaan otomatis berbasis metrik yang ingin Anda tambahkan, di bagian Autoscaling signals, klik Add a signal.
- Untuk membuat sinyal penskalaan otomatis berdasarkan rata-rata pemanfaatan CPU, di bagian Signal type, pilih CPU utilization dari menu drop-down. Kemudian, masukkan Target CPU utilization, lalu klik Done. Untuk informasi selengkapnya, lihat Menskalakan berdasarkan pemanfaatan CPU.
- Untuk membuat sinyal penskalaan otomatis berdasarkan kapasitas penyaluran load balancing HTTP, di bagian Signal type pilih HTTP load balancing utilization dari menu drop-down. Selanjutnya, masukkan Target HTTP load balancing utilization, lalu klik Done. Untuk informasi selengkapnya, lihat Menskalakan berdasarkan kapasitas penyaluran load balancing.
- Untuk membuat sinyal penskalaan otomatis berdasarkan metrik Cloud Monitoring, di bagian Signal type, pilih Cloud Monitoring metric dari menu drop-down. Kemudian, lengkapi kolom yang tersisa dan klik Done. Untuk informasi selengkapnya, lihat Menskalakan berdasarkan metrik Cloud Monitoring.
Untuk setiap sinyal penskalaan otomatis berbasis jadwal yang ingin Anda tambahkan, luaskan bagian Autoscaling schedules, klik Manage schedules, lalu klik Create schedule.
Di panel Create scaling schedule baru, isi kolom yang wajib diisi, lalu klik Save. Kemudian, di panel Scaling schedule, klik Done. Untuk informasi selengkapnya, lihat Menskalakan berdasarkan jadwal.
Di bagian Initialization period, masukkan jumlah detik yang diperlukan aplikasi Anda untuk melakukan inisialisasi. Hal ini memungkinkan VM Anda menyelesaikan inisialisasi sebelum autoscaler menganggap data penggunaannya dapat diandalkan. Untuk informasi selengkapnya, lihat Periode inisialisasi.
Opsional: untuk mengaktifkan kontrol penurunan skala, klik Scale-in controls, lalu pilih kotak centang Enable scale-in controls. Untuk mengetahui informasi selengkapnya, lihat kontrol penurunan skala
Klik Save.
MIG_NAME
: nama MIG.PATH_TO_CUSTOM_METRIC_1
danPATH_TO_CUSTOM_METRIC_2
: Opsional: jalur ke metrik kustom dengan format yang mirip dengancustom.cloudmonitoring.googleapis.com/path/to/metric1
dancustom.cloudmonitoring.googleapis.com/path/to/metric2
. Untuk mengetahui informasi selengkapnya, lihat Metrik kustom.PROJECT
: project id Anda.ZONE
: zona tempat MIG Anda berada.MIG_NAME
: nama MIG.PATH_TO_CUSTOM_METRIC_1
danPATH_TO_CUSTOM_METRIC_2
: Opsional: jalur ke metrik kustom dengan format yang mirip dengancustom.cloudmonitoring.googleapis.com/path/to/metric1
dancustom.cloudmonitoring.googleapis.com/path/to/metric2
. Untuk mengetahui informasi selengkapnya, lihat Metrik kustom.
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.
Cara autoscaler menangani banyak sinyal
Autoscaler menangani banyak sinyal dengan menghitung jumlah VM yang direkomendasikan untuk setiap sinyal, lalu memilih sinyal yang menghasilkan jumlah VM terbanyak di MIG.
Autoscaler dapat menangani satu sinyal per jenis metrik, kecuali dalam kasus metrik Cloud Monitoring dan jadwal penskalaan. Anda dapat memilih maksimal 5 sinyal penskalaan otomatis untuk metrik Cloud Monitoring dan membuat hingga 128 jadwal per MIG. Misalnya, Anda dapat membuat autoscaler yang menggunakan maksimal 1 sinyal pemanfaatan CPU, maksimal 1 sinyal load balancing, maksimal 5 sinyal metrik kustom, dan maksimal 128 jadwal penskalaan.
Misalnya, Anda dapat menentukan autoscaler dengan semua sinyal berikut:
Dalam contoh ini, anggaplah autoscaler mengukur rata-rata nilai pemanfaatan berikut untuk sebuah MIG yang berisi 10 VM pada saat pengukuran:
Dengan menggunakan nilai sebelumnya, autoscaler akan menghitung jumlah VM yang direkomendasikan berdasarkan setiap sinyal:
Autoscaler mengambil sinyal yang menghasilkan jumlah VM terbanyak di MIG dan menetapkan ukuran yang direkomendasikan MIG ke nilai tersebut. Dalam hal ini, autoscaler akan mengubah ukuran MIG menjadi 15 VM jika jadwal kedua sedang aktif, atau 14 VM jika sebaliknya.
Membuat autoscaler dengan banyak sinyal
Pembuatan autoscaler dengan banyak sinyal sedikit berbeda, bergantung pada apakah Anda menggunakan Konsol Google Cloud, gcloud CLI, atau REST.
Konsol
gcloud
Untuk membuat autoscaler dengan banyak sinyal, gunakan perintah
set-autoscaling
. Teruskan banyak spesifikasi sinyal menggunakan flag command line-terkaitnya.Misalnya, perintah berikut akan membuat autoscaler yang menggunakan pemanfaatan CPU, kapasitas penyaluran load balancing, dua metrik kustom, dan satu jadwal penskalaan. Flag
--max-num-replicas
dan--min-num-replicas
membatasi seberapa besar atau seberapa kecil MIG.gcloud compute instance-groups managed set-autoscaling MIG_NAME \ --target-cpu-utilization=0.8 \ --target-load-balancing-utilization=0.6 \ --custom-metric-utilization metric=PATH_TO_CUSTOM_METRIC_1,utilization-target=1000.0,utilization-target-type=GAUGE \ --custom-metric-utilization metric=PATH_TO_CUSTOM_METRIC_2,utilization-target=2000.0,utilization-target-type=DELTA_PER_SECOND \ --set-schedule=workday-capacity \ --schedule-cron="30 8 * * Mon-Fri" \ --schedule-duration-sec=30600 \ --schedule-min-required-replicas=10 \ --schedule-description="Have at least 10 VMs every Monday through Friday from 8:30 AM to 5 PM UTC" \ --min-num-replicas=1 \ --max-num-replicas=50
Ganti kode berikut:
Dengan pengecualian flag metrik kustom, Anda hanya dapat meneruskan maksimal satu flag untuk setiap jenis metrik per perintah
gcloud
. Untuk metrik kustom, Anda dapat memberikan sejumlah metrik kustom dalam satu perintah dengan mengulangi flag--custom-metric-utilization
.Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi flag untuk setiap jenis sinyal penskalaan otomatis, lihat halaman berikut:
REST
Untuk membuat autoscaler, gunakan metode
autoscalers.insert
untuk MIG zona atau metoderegionAutoscalers.insert
untuk MIG regional.Misalnya, permintaan berikut akan membuat autoscaler yang menggunakan pemanfaatan CPU, kapasitas penyaluran load balancing, dua metrik kustom, dan dua jadwal penskalaan. Kolom
maxNumReplicas
danminNumReplicas
membatasi seberapa besar atau seberapa kecil MIG.POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers { "autoscalingPolicy" : { "cpuUtilization":{ "utilizationTarget": 0.8 }, "loadBalancingUtilization":{ "utilizationTarget": 0.6 }, "customMetricUtilizations":[ { "metric": "PATH_TO_CUSTOM_METRIC_1", "utilizationTarget": 1000, "utilizationTargetType":"GAUGE" }, { "metric": "PATH_TO_CUSTOM_METRIC_2", "utilizationTarget": 2000, "utilizationTargetType": "DELTA_PER_SECOND" } ], "scalingSchedules": { "workday-capacity": { "minRequiredReplicas": 10, "schedule": "30 8 * * Mon-Fri", "durationSec": 30600, "description": "Have at least 10 VMs every Monday through Friday from 8:30 AM to 5 PM UTC" }, "january-30-2030-schedule": { "minRequiredReplicas": 30, "schedule": "0 0 30 1 * 2030", "timeZone": "America/New_York", "durationSec": 86400, "description": "Schedule a minimum of 30 VMs all day for January 30, 2030" } }, "maxNumReplicas": 50, "minNumReplicas": 1 }, "target": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroupManagers/MIG_NAME", "name": "MIG_NAME" }
Ganti kode berikut:
Seperti yang ditunjukkan dalam contoh ini, Anda dapat menyediakan banyak metrik kustom dan jadwal penskalaan dalam permintaan yang sama.
Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi kolom untuk setiap jenis sinyal penskalaan otomatis, lihat halaman berikut:
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2024-12-22 UTC.
-