Mengelola autoscaler

Jika Anda menggunakan grup instance terkelola (MIG), baca dokumen ini untuk mempelajari cara membuat, mengonfigurasi, dan menghapus autoscaler MIG Anda.

Sebelum memulai

  • Siapkan autentikasi jika Anda belum melakukannya. Autentikasi memverifikasi identitas Anda untuk mengakses layanan Cloud de Confiance by S3NS dan API. Untuk menjalankan kode atau sampel dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke Compute Engine dengan memilih salah satu opsi berikut:

    Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:

    Konsol

    Saat menggunakan konsol Cloud de Confiance untuk mengakses layanan Cloud de Confiance by S3NS dan API, Anda tidak perlu menyiapkan autentikasi.

    gcloud

    1. Instal Google Cloud CLI, lalu login ke gcloud CLI dengan identitas gabungan Anda. Setelah login, inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:

      gcloud init
  • Tetapkan region dan zona default.
  • 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 login ke gcloud CLI dengan identitas gabungan Anda.

    Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Cloud de Confiance .

Membuat penskala otomatis

Membuat autoscaler sedikit berbeda, bergantung pada kebijakan penskalaan otomatis mana yang ingin Anda gunakan. Untuk petunjuk tentang cara membuat autoscaler, lihat:

Mendapatkan informasi tentang autoscaler

Untuk mendapatkan informasi selengkapnya tentang autoscaler tertentu, gunakan konsol, sub-perintah gcloud compute instance-groups managed describe, atau metode get untuk resource REST autoscaler zonal atau regional.

Konsol

  1. Di konsol Cloud de Confiance , buka halaman Instance groups.

    Buka Instance groups

  2. Klik nama MIG dari daftar untuk membuka halaman ringkasan grup tersebut.
  3. Klik Details untuk melihat detail grup, termasuk setelan penskalaan otomatisnya.

gcloud

Gunakan perintah instance-groups managed describe:

gcloud compute instance-groups managed describe INSTANCE_GROUP_NAME

Jika autoscaler ditambahkan ke grup, perintah ini akan menampilkan detail tentang autoscaler:

...
autoscaler:
  autoscalingPolicy:
    coolDownPeriodSec: 60
    cpuUtilization:
      utilizationTarget: 0.6
    maxNumReplicas: 20
    minNumReplicas: 10
    mode: ON
    scaleInControl:
      timeWindowSec: 300
      maxScaledInReplicas:
        fixed: 3
        calculated: 3
...

REST

Gunakan metode instanceGroupManagers.get. Untuk MIG regional, ganti zones/ZONE dengan regions/REGION.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME

Jika autoscaler ditambahkan ke grup, permintaan akan menampilkan link ke resource autoscaler.

200 OK

{
  ...
  "status": {
    ...
    "autoscaler": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east1-c/autoscalers/example-group"
  },
}

Untuk mengambil detail tentang resource autoscaler, gunakan metode autoscalers.get untuk MIG zona atau metode regionAutoscalers.get untuk MIG regional.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/autoscalers/example-autoscaler
200 OK

{
 "kind": "compute#autoscaler",
 "id": "8744945839459481093",
 "creationTimestamp": "2018-09-28T13:02:50.553-07:00",
 "name": "example-group",
 "target": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east1-c/instanceGroupManagers/example-group",
 "autoscalingPolicy": {
  "minNumReplicas": 10,
  "maxNumReplicas": 20,
  "mode": "ON",
  "scaleInControl": {
    "timeWindowSec": 60,
    "maxScaledInReplicas": {
      "calculated": 3,
      "percent": 15
    }
  },
  "coolDownPeriodSec": 60,
  "cpuUtilization": {
   "utilizationTarget": 0.6
  }
 },
 "zone": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east1-c",
 "selfLink": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east1-c/autoscalers/example-group",
 "status": "ACTIVE"
}

Memperbarui penskala otomatis

Saat Anda mengupdate autoscaler, mungkin perlu waktu beberapa saat agar perubahan diterapkan, dan mungkin perlu waktu beberapa menit sebelum setelan autoscaler baru Anda diterapkan.

Konsol

  1. Di konsol Cloud de Confiance , buka halaman Instance groups.

    Buka Instance groups

  2. Klik nama MIG dari daftar untuk membuka halaman ringkasan grup tersebut.
  3. Klik Edit.
  4. Klik Ukuran grup & penskalaan otomatis untuk melihat dan mengupdate setelan penskalaan otomatis grup.
  5. Klik Save setelah selesai.

gcloud

Gunakan perintah update-autoscaling.

gcloud compute instance-groups managed update-autoscaling INSTANCE_GROUP_NAME \
        --max-num-replicas MAX_NUM ...

Untuk petunjuk cara membuat autoscaler, lihat Membuat autoscaler.

REST

Untuk mengupdate resource autoscaler, gunakan metode autoscalers.patch untuk MIG zona atau metode regionAutoscalers.patch untuk MIG regional. Berikan isi permintaan yang berisi konfigurasi baru.

PATCH https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-f/autoscalers?autoscaler=example-autoscaler

{
 "autoscalingPolicy": {
  "maxNumReplicas": 20
 }
}
200 OK

{
 "kind": "compute#operation",
 "id": "4244494732310423322",
 "name": "operation-1556912627871-58800f8216ed7-74ab1720-7d360603",
 "zone": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-f",
 "operationType": "compute.autoscalers.patch",
 "targetLink": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-f/autoscalers/example-autoscaler",
 "targetId": "340775527929467142",
 "status": "RUNNING",
 ...
}

Saat Anda melakukan permintaan yang mengubah data, resource zoneOperations atau regionOperations akan ditampilkan, dan Anda dapat membuat kueri operasi untuk memeriksa statusnya dari perubahan Anda.

Menggunakan penskalaan otomatis prediktif

Penskalaan otomatis prediktif menggunakan data historis untuk menyebarkan skala grup Anda sebelum beban yang diantisipasi. Penskalaan ini akan optimal jika workload Anda memenuhi kriteria berikut:

  • Aplikasi Anda memerlukan waktu lama untuk diinisialisasi—misalnya, jika Anda mengonfigurasi periode inisialisasi lebih dari 2 menit.
  • Workload Anda bervariasi, dapat diprediksi tergantung siklus harian atau mingguan.

Untuk mengetahui informasi selengkapnya, lihat Penskalaan berdasarkan prediksi.

Menonaktifkan atau membatasi autoscaler

Nonaktifkan autoscaler untuk mencegahnya menskalakan MIG Anda untuk sementara, atau membatasi autoscaler agar hanya dapat disebarkan skala MIG Anda. Fitur ini berguna saat Anda ingin:

  • Menginvestigasi instance VM tanpa gangguan dari penurunan skala.
  • Mengonfigurasi ulang beberapa properti MIG tanpa memicu tindakan penskalaan saat grup Anda dikonfigurasi ulang sebagian.
  • Pertahankan kapasitas MIG untuk rollback yang cepat sambil mengalihkan workload ke MIG baru.
  • Aktifkan penskalaan otomatis prediktif nanti. Penskalaan otomatis prediktif memerlukan kebijakan penskalaan otomatis untuk mulai mengumpulkan histori beban yang akan menjadi dasar prediksi. Autoscaler mendeteksi histori ini meskipun modenya disetel ke OFF.

Jika Anda mengaktifkan kembali autoscaler, autoscaler akan otomatis kembali ke operasi normal.

Gunakan petunjuk yang diberikan di bagian ini untuk menetapkan mode autoscaler. Mode berikut tersedia:

  • Off: Menonaktifkan penskalaan otomatis untuk sementara. Gunakan mode ini untuk mencegah perubahan otomatis pada ukuran MIG. Konfigurasi penskalaan otomatis tetap utuh sehingga Anda dapat mengaktifkan kembali penskalaan otomatis nanti.
  • Only scale out: Membatasi penskalaan otomatis hanya untuk menambahkan instance VM baru. Gunakan mode ini untuk melindungi grup dari penyingkatan dan memungkinkan grup menyediakan VM tambahan saat beban meningkat.
  • On: Mengaktifkan semua operasi penskalaan otomatis sesuai kebijakannya.

Konsol

  1. Di konsol Cloud de Confiance , buka halaman Instance groups.

    Buka Instance groups

  2. Klik nama MIG dari daftar untuk membuka halaman ringkasan grup tersebut.
  3. Klik Edit.
  4. Klik Ukuran grup & penskalaan otomatis untuk melihat dan mengupdate setelan penskalaan otomatis grup.
  5. Di bagian Autoscaling, setel Autoscaling mode untuk menonaktifkan atau membatasi penskalaan otomatis untuk grup, atau untuk mengaktifkan kembali autoscaler.
  6. Klik Save setelah selesai.

gcloud

Untuk menonaktifkan, membatasi, atau mengaktifkan kembali autoscaler, gunakan perintah update-autoscaling dengan flag --mode.

gcloud compute instance-groups managed update-autoscaling INSTANCE_GROUP_NAME \
        --mode MODE 

Ganti kode berikut:

  • MODE:
    • off untuk menonaktifkan autoscaler tetapi mempertahankan konfigurasinya
    • only-scale-out untuk membatasi autoscaler agar hanya menambahkan instance VM
    • on untuk mengaktifkan kembali semua aktivitas autoscaler sesuai dengan kebijakannya

REST

Untuk mengupdate mode resource autoscaler, gunakan metode autoscalers.patch untuk MIG zona atau metode regionAutoscalers.patch untuk MIG regional. Berikan isi permintaan yang menyertakan properti autoscalingPolicy.mode.

PATCH https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-central1/autoscalers?autoscaler=my-autoscaler

{
  "autoscalingPolicy": {
    "mode":"MODE"
  }
}

Ganti kode berikut:

  • MODE:
    • OFF untuk menonaktifkan autoscaler tetapi mempertahankan konfigurasinya
    • ONLY_SCALE_OUT untuk membatasi autoscaler agar hanya menambahkan instance
    • ON untuk mengaktifkan kembali semua aktivitas autoscaler sesuai dengan kebijakannya

Jika Anda menetapkan mode penskalaan otomatis ke ONLY_SCALE_OUT, autoscaler akan berperilaku sebagai berikut:

  • Autoscaler tidak mengurangi nilai targetSize MIG terlepas dari penurunan beban atau perubahan pada konfigurasi autoscaler.
  • Jika Anda mengubah ukuran target MIG zona secara manual, autoscaler akan menggantikan ukuran yang disediakan secara manual jika lebih kecil dari ukuran yang direkomendasikan oleh autoscaler.
  • Anda tidak dapat mengubah ukuran target MIG regional secara manual.
  • Jika Anda menetapkan kolom autoscalingPolicy.maxNumReplicas ke nilai yang lebih rendah daripada nilai targetSize grup saat ini sementara mode autoscaler ditetapkan ke ONLY_SCALE_OUT, autoscaler tidak akan mengurangi jumlah instance dalam grup. Seperti biasa, autoscaler terus-menerus menghitung ulang ukuran yang direkomendasikan grup dan mungkin mengurangi ukuran yang direkomendasikan grup untuk mematuhi nilai maksimum yang baru, tetapi grup tersebut tidak diturunkan skalanya.
  • Kolom autoscalers.status melaporkan peringatan: "Autoscaling operates in a restricted mode: ONLY_SCALE_OUT".

Saat Anda menetapkan mode autoscaler ke OFF, autoscaler akan berperilaku sebagai berikut:

  • Autoscaler tidak mengubah nilai targetSize MIG sebagai respons terhadap perubahan beban atau konfigurasi autoscaler. Seperti biasa, autoscaler terus-menerus menghitung ulang ukuran yang direkomendasikan grup dan mungkin mengurangi ukuran yang direkomendasikan grup untuk mematuhi nilai maksimum yang baru, tetapi grup tersebut tidak diturunkan skalanya.
  • Anda dapat mengubah ukuran target zona atau MIG regional secara manual. Nilai minNumReplicas dan maxNumReplicas kebijakan penskalaan otomatis tidak memengaruhi ukuran yang Anda tetapkan.
  • Jika Anda menonaktifkan penskalaan otomatis untuk MIG regional yang mengaktifkan redistribusi instance proaktif, dan jika MIG memiliki distribusi instance yang tidak merata di seluruh zona, grup akan secara proaktif menghapus atau membuat instance di zonanya untuk membangun kembali distribusi yang merata.
  • Kolom autoscalers.status melaporkan peringatan: "Autoscaling operates in a restricted mode: OFF".

Mengontrol tingkat penurunan skala autoscaler

Jika workload Anda memerlukan waktu beberapa menit untuk diinisialisasi, Anda dapat mengonfigurasi hal berikut untuk mengurangi risiko latensi respons dan penghentian karena peristiwa penurunan skala secara mendadak:

  • Kontrol penurunan skala: Jika Anda secara rutin memperkirakan lonjakan beban akan segera terjadi setelah penurunan beban, Anda dapat membatasi rasio penurunan skala dengan mengonfigurasi kontrol penurunan skala. Membatasi rasio penurunan skala akan mencegah autoscaler mengurangi ukuran MIG sebesar lebih banyak instance VM daripada yang dapat ditoleransi oleh workload Anda.

  • Periode stabilisasi: Jika Anda ingin mencegah penghapusan instance sebelum waktunya atau mengizinkan penurunan skala yang lebih cepat untuk mengurangi biaya, Anda dapat mengonfigurasi periode stabilisasi. Periode ini mengontrol berapa lama autoscaler menunggu untuk menurunkan skala instance setelah penurunan beban.

Mengonfigurasi kontrol penurunan skala

Mengonfigurasi kontrol penurunan skala bersifat opsional. Secara default, kontrol penurunan skala tidak dikonfigurasi. Jika tidak dikonfigurasi, autoscaler masih mengandalkan mekanisme stabilisasi defaultnya. Artinya, ukuran ini mempertahankan ukuran yang direkomendasikan pada tingkat yang diperlukan untuk menyajikan beban puncak, yang diamati selama periode stabilisasi.

Konsol

Guna mengonfigurasi kontrol penurunan skala untuk MIG yang diskalakan otomatis:

  1. Di konsol Cloud de Confiance , buka halaman Instance groups.

    Buka Instance groups

  2. Klik nama MIG yang diskalakan otomatis dari daftar untuk membuka halaman ringkasan grup tersebut.

  3. Klik Edit.

  4. Klik Ukuran grup & penskalaan otomatis untuk melihat dan mengupdate setelan penskalaan otomatis grup.

  5. Di bagian Scale-in controls, pilih Enable scale-in controls.

  6. Di kolom Don't scale in by more than, tentukan jumlah maksimum atau persentase instance yang dapat diturunkan skalanya dari grup dalam satu waktu.

  7. Di bagian Over the course of, tentukan seberapa sering instance dapat dihapus dari grup.

  8. Klik Simpan.

gcloud

Anda dapat mengonfigurasi kontrol penurunan skala saat membuat autoscaler atau saat mengupdate autoscaler.

Mengonfigurasi kontrol penurunan skala saat membuat autoscaler

Tetapkan kontrol penurunan skala saat membuat autoscaler untuk MIG dengan menggunakan flag --scale-in-control dengan perintah gcloud compute instance-groups managed set-autoscaling. Misalnya, gunakan perintah berikut guna mengonfigurasi penskalaan otomatis untuk example-group:

gcloud compute instance-groups managed set-autoscaling INSTANCE_GROUP_NAME \
    --target-cpu-utilization 0.6 \
    --max-num-replicas 50 \
    --scale-in-control max-scaled-in-replicas=MAX_SCALE_IN_REPLICAS,time-window=TIME_WINDOW

Mengonfigurasi kontrol penurunan skala saat mengupdate autoscaler

Update kontrol penurunan skala di autoscaler yang ada di MIG menggunakan flag --scale-in-control dengan perintah gcloud compute instance-groups managed update-autoscaling. Misalnya, gunakan perintah berikut untuk menetapkan kontrol penurunan skala dalam konfigurasi penskalaan otomatis yang ada untuk example-group:

gcloud compute instance-groups managed update-autoscaling INSTANCE_GROUP_NAME \
    --scale-in-control max-scaled-in-replicas=MAX_SCALE_IN_REPLICAS,time-window=TIME_WINDOW

Ganti kode berikut:

  • INSTANCE_GROUP_NAME: nama MIG yang akan diupdate.
  • MAX_SCALE_IN_REPLICAS: jumlah maksimum VM yang diizinkan untuk dipotong dari ukuran puncak, yang diambil dari periode waktu tambahan yang ditentukan. Jumlah instance VM yang ditentukan dapat diturunkan skalanya sekaligus, sehingga layanan Anda akan mampu kehilangan VM sebanyak ini sekaligus. Anda dapat menentukan jumlah VM atau persentase. Gunakan tanda % untuk persentase; misalnya: 50%.
  • TIME_WINDOW: periode waktu akhir untuk mengambil ukuran maksimum. Penskalaan otomatis tidak akan diturunkan skalanya lebih dari jumlah maksimum replika yang diizinkan dari ukuran puncak yang diambil selama periode waktu tambahan ini. Nilai harus antara 60 dan 3600.

Misalnya, Anda menyetel periode waktu ke 1.800 detik (30 menit). Saat menghitung ukuran yang direkomendasikan saat ini untuk MIG, autoscaler menggunakan logika berikut:

  • Ambil ukuran puncak dari 30 menit terakhir (misalnya, 100 VM)
  • Ambil max-scaled-in-replicas (misalnya, 10 VM)
  • Tetapkan batas bawah ukuran yang direkomendasikan ke: ukuran puncak minus max-scaled-in-replicas (100 - 10 = 90 VM)

REST

Konfigurasikan kontrol penurunan skala dengan menyetel kolom maxScaledInReplicas dan timeWindowSec dalam struktur autoscalingPolicy.scaleInControl pada resource autoscaler zona atau regional. Tidak ada nilai default untuk kolom ini. Anda harus memberikan nilai untuk kedua kolom tersebut.

Anda dapat mengonfigurasi kontrol penurunan skala saat membuat autoscaler atau saat mengupdate autoscaler.

Mengonfigurasi kontrol penurunan skala saat membuat autoscaler

Untuk MIG zona, gunakan metode autoscalers.insert. Untuk MIG regional, gunakan metode regionAutoscalers.insert.

POST
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/autoscalers

{
  "name": "AUTOSCALER_NAME",
  "target": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME",
  "autoscalingPolicy": {
    "minNumReplicas": 1,
    "maxNumReplicas": 5,
    "coolDownPeriodSec": 60,
    "cpuUtilization": {
      "utilizationTarget": 0.8
    },
    "scaleInControl": {
      "maxScaledInReplicas": {
           "fixed": MAX_SCALE_IN_REPLICAS
      },
      "timeWindowSec": TIME_WINDOW
    }
  }
}

Untuk informasi selengkapnya tentang cara membuat autoscaler, lihat artikel berikut:

Mengonfigurasi kontrol penurunan skala saat mengupdate autoscaler

Untuk MIG zona, gunakan metode autoscalers.patch. Untuk MIG regional, gunakan metode regionAutoscalers.patch.

PATCH
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/autoscalers?autoscaler=AUTOSCALER_NAME

{
  "autoscalingPolicy": {
    "minNumReplicas": 1,
    "maxNumReplicas": 5,
    "coolDownPeriodSec": 60,
    "cpuUtilization": {
      "utilizationTarget": 0.8
    },
    "scaleInControl": {
      "maxScaledInReplicas": {
           "fixed": MAX_SCALE_IN_REPLICAS
      },
      "timeWindowSec": TIME_WINDOW
    }
  }
}

Ganti kode berikut:

  • AUTOSCALER_NAME: nama autoscaler yang akan dibuat. Anda dapat memberi nama autoscaler berdasarkan MIG yang akan menggunakannya atau memberinya nama lain.
  • INSTANCE_GROUP_NAME: nama MIG yang akan ditambahkan autoscaler. Untuk MIG regional, ganti zones/ZONE dengan regions/REGION.
  • MAX_SCALE_IN_REPLICAS: jumlah maksimum VM yang diizinkan untuk dipotong dari ukuran target puncak yang direkomendasikan, yang diambil dari interval waktu tambahan yang ditentukan. Jumlah instance VM yang ditentukan dapat diturunkan skalanya sekaligus, sehingga layanan Anda akan mampu kehilangan VM sebanyak ini sekaligus. Anda dapat menentukan jumlah VM atau persentase. Gunakan maxScaledInReplicas.percentage untuk menentukan nilai persen.
  • TIME_WINDOW: interval waktu tambahan untuk mengambil ukuran puncak yang direkomendasikan. Penskalaan otomatis tidak akan diturunkan skalanya lebih dari jumlah maksimum replika yang diizinkan dari ukuran puncak yang direkomendasikan, yang diambil selama periode waktu tambahan ini. Tentukan nilai ini dalam detik dalam rentang 60 dan 3600; misalnya: 1800.

Misalnya, Anda menyetel periode waktu ke 1.800 detik (30 menit). Saat menghitung ukuran yang direkomendasikan saat ini untuk MIG, autoscaler menggunakan logika berikut:

  • Ambil ukuran puncak dari 30 menit terakhir (misalnya, 100 VM)
  • Ambil max-scaled-in-replicas (misalnya, 10 VM)
  • Tetapkan batas bawah ukuran yang direkomendasikan ke: ukuran puncak minus max-scaled-in-replicas (100 - 10 = 90 VM)

Untuk informasi selengkapnya tentang cara kerja kontrol penurunan skala, lihat Memahami keputusan autoscaler.

Mendapatkan konfigurasi kontrol penurunan skala saat ini

Untuk mendapatkan konfigurasi kontrol penurunan skala saat ini, lihat Mendapatkan informasi tentang autoscaler.

Menghapus kontrol penurunan skala

Anda dapat menghapus kontrol penurunan skala untuk menghilangkan batasan pada waktu dan besarnya operasi penurunan skala menggunakan Google Cloud CLI atau Compute Engine API.

Tanpa kontrol penurunan skala, autoscaler tetap mengandalkan mekanisme stabilisasi defaultnya. Secara khusus, ukuran ini mempertahankan ukuran yang direkomendasikan pada level yang diperlukan untuk menyajikan beban puncak, yang diamati selama periode stabilisasi.

Konsol

Untuk menghapus kontrol penurunan skala untuk MIG yang diskalakan otomatis:

  1. Di konsol Cloud de Confiance , buka halaman Instance groups.

    Buka Instance groups

  2. Klik nama MIG yang diskalakan otomatis dari daftar untuk membuka halaman ringkasan grup tersebut.

  3. Klik Edit.

  4. Klik Ukuran grup & penskalaan otomatis untuk melihat dan mengupdate setelan penskalaan otomatis grup.

  5. Di bagian Scale-in controls, hapus centang pada kotak Enable scale-in controls.

  6. Klik Simpan.

gcloud

Hapus kontrol penurunan skala menggunakan flag --clear-scale-in-control dengan perintah gcloud compute instance-groups managed update-autoscaling. Misalnya, gunakan perintah berikut untuk menghapus kontrol penurunan skala dari konfigurasi penskalaan otomatis untuk example-group:

gcloud compute instance-groups managed update-autoscaling example-group \
    --clear-scale-in-control

REST

Untuk menghapus kontrol penurunan skala, gunakan metode autoscalers.patch untuk MIG zona atau gunakan metode regionAutoscalers.patch untuk MIG regional, dan menyediakan konfigurasi kosong untuk kontrol penurunan skala.

PATCH
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME

{
  "autoscalingPolicy": {
    "scaleInControl": null
  }
}

Ganti kode berikut:

Mengonfigurasi periode stabilisasi

Periode stabilisasi default adalah 600 detik. Anda dapat mengonfigurasi nilai ini antara 0 detik dan 3600 detik (satu jam).

Untuk mengonfigurasi periode stabilisasi, gunakan salah satu opsi berikut:

Konsol

  1. Di konsol Cloud de Confiance , buka halaman Instance groups.

    Buka Instance groups

  2. Klik nama MIG yang diskalakan otomatis dari daftar untuk membuka halaman ringkasan grup tersebut.

  3. Klik Edit.

  4. Klik Group size & autoscaling untuk meluaskan bagian tersebut.

  5. Jika MIG tidak memiliki autoscaler yang dikonfigurasi, klik Konfigurasi Penskalaan Otomatis dan lakukan hal berikut:

    1. Di kolom Minimum number of instances dan Maximum number of instances, masukkan jumlah instance yang harus dipertahankan oleh autoscaler.

    2. Sinyal pemanfaatan CPU disertakan secara default; Anda dapat mengeditnya atau mengklik Tambahkan sinyal untuk membuat sinyal lain.

    3. Di kolom Periode stabilisasi, masukkan durasi dalam detik. Nilai defaultnya adalah 600 detik.

  6. Jika konfigurasi penskalaan otomatis sudah ada, di kolom Periode stabilisasi, masukkan durasi dalam detik. Nilai default-nya adalah 600 detik.

  7. Klik Simpan.

gcloud

Anda dapat mengonfigurasi periode stabilisasi saat membuat atau memperbarui autoscaler.

Mengonfigurasi periode stabilisasi saat membuat autoscaler

Gunakan perintah gcloud compute instance-groups managed set-autoscaling dan sertakan flag --stabilization-period untuk menetapkan periode stabilisasi.

gcloud compute instance-groups managed set-autoscaling INSTANCE_GROUP_NAME \
    --target-cpu-utilization 0.6 \
    --max-num-replicas 50 \
    --stabilization-period STABILIZATION_PERIOD

Mengonfigurasi periode stabilisasi saat mengupdate autoscaler

Gunakan perintah gcloud compute instance-groups managed update-autoscaling dan sertakan flag --stabilization-period.

gcloud compute instance-groups managed update-autoscaling INSTANCE_GROUP_NAME \
    --stabilization-period STABILIZATION_PERIOD

Ganti kode berikut:

  • INSTANCE_GROUP_NAME: nama MIG.
  • STABILIZATION_PERIOD: durasi dalam detik. Nilainya harus di antara 0 dan 3600. Untuk mengetahui informasi selengkapnya, lihat Praktik terbaik untuk periode stabilisasi dalam dokumen ini.

REST

Untuk mengonfigurasi periode stabilisasi, gunakan salah satu resource berikut:

Anda dapat mengonfigurasi periode stabilisasi saat membuat atau memperbarui autoscaler.

Mengonfigurasi periode stabilisasi saat membuat autoscaler

POST
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/autoscalers

{
  "name": "AUTOSCALER_NAME",
  "target": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME",
  "autoscalingPolicy": {
    "minNumReplicas": 1,
    "maxNumReplicas": 5,
    "coolDownPeriodSec": 60,
    "cpuUtilization": {
      "utilizationTarget": 0.8
    },
    "stabilizationPeriodSec": STABILIZATION_PERIOD
  }
}

Mengonfigurasi periode stabilisasi saat mengupdate autoscaler

PATCH
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/autoscalers?autoscaler=AUTOSCALER_NAME

{
  "autoscalingPolicy": {
    "minNumReplicas": 1,
    "maxNumReplicas": 5,
    "coolDownPeriodSec": 60,
    "cpuUtilization": {
      "utilizationTarget": 0.8
    },
    "stabilizationPeriodSec": STABILIZATION_PERIOD
  }
}

Ganti kode berikut:

  • PROJECT_ID: project ID Anda.
  • AUTOSCALER_NAME: nama autoscaler.
  • INSTANCE_GROUP_NAME: nama MIG.
  • STABILIZATION_PERIOD: durasi dalam detik. Nilainya harus di antara 0 dan 3600. Untuk mengetahui informasi selengkapnya, lihat Praktik terbaik untuk periode stabilisasi dalam dokumen ini.

Praktik terbaik untuk periode stabilisasi

Sebagai praktik terbaik, konfigurasi periode stabilisasi bergantung pada jenis workload Anda sebagai berikut:

  • Workload yang tidak stabil: Jika aplikasi Anda memiliki traffic yang sangat bervariasi, pertahankan periode stabilisasi default 600 detik (10 menit) atau lebih lama. Durasi ini dapat membantu menghindari overhead pembuatan dan penghapusan instance yang sering.

  • Layanan web yang dapat diskalakan dengan cepat: Jika aplikasi Anda diinisialisasi dengan cepat (dalam hitungan detik) dan Anda ingin mengurangi biaya secara agresif, pertimbangkan untuk mengurangi periode stabilisasi menjadi antara 180 dan 240 detik. Durasi ini dapat membantu menskalakan dengan cepat.

  • Workload dengan afinitas sesi: Jika aplikasi Anda memerlukan instance VM yang sama untuk menangani permintaan klien dalam jangka waktu yang lama, bahkan setelah beban berkurang, gunakan periode stabilisasi yang lebih lama—misalnya, 1800 detik.

  • Menyetel ke 0: Hanya setel periode stabilisasi ke 0 jika aplikasi Anda dapat menangani pengurangan kapasitas secara langsung tanpa memengaruhi latensi pengguna, dan Anda tidak khawatir tentang overhead pembuatan dan penghapusan instance yang sering disebabkan oleh fluktuasi sinyal beban yang cepat.

Selain itu, sebaiknya tetapkan periode stabilisasi yang lebih lama daripada periode inisialisasi untuk menghindari penghapusan instance sebelum instance baru siap sepenuhnya untuk ditayangkan.

Menghapus penskala otomatis

Anda dapat menghapus resource autoscaler Anda beserta historinya secara permanen. Jika Anda ingin menghentikan penskalaan otomatis untuk sementara dan mempertahankan resource autoscaler serta konfigurasi dan historinya, nonaktifkan autoscaler.

Konsol

  1. Di konsol Cloud de Confiance , buka halaman Instance groups.

    Buka Instance groups

  2. Klik nama MIG dari daftar untuk membuka halaman ringkasan grup tersebut.

  3. Klik Edit.

  4. Klik Ukuran grup & penskalaan otomatis untuk melihat dan mengupdate setelan penskalaan otomatis grup.

  5. Di daftar Autoscaling mode, pilih Delete autoscaling configuration untuk menghentikan autoscaler dan menghapus konfigurasinya.

  6. Klik Save setelah selesai.

gcloud

Gunakan perintah stop-autoscaling untuk menghentikan autoscaler dan menghapus konfigurasinya.

gcloud compute instance-groups managed stop-autoscaling INSTANCE_GROUP_NAME

Menghentikan autoscaler akan menghapusnya dari MIG. Jika ingin memulai ulang autoscaler, Anda harus membuatnya ulang menggunakan perintah set-autoscaling.

Jika Anda menghapus MIG menggunakan gcloud CLI, semua autoscaler yang terpasang ke MIG juga akan dihapus.

REST

Untuk menghentikan autoscaler dan menghapus konfigurasinya, gunakan metode autoscalers.delete untuk MIG zona atau gunakan metode regionAutoscalers.delete untuk MIG regional.

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

Masukan

Kami ingin mempelajari kasus penggunaan, tantangan, dan masukan Anda tentang penskalaan otomatis. Sampaikan masukan Anda kepada tim kami di mig-discuss@google.com.

Langkah berikutnya