Menskalakan instance

Anda dapat menskalakan instance AlloyDB untuk menyesuaikan kapasitas dan performa cluster guna memenuhi perubahan permintaan workload. Penskalaan membantu mengelola biaya dan memfasilitasi penanganan lonjakan traffic.

Anda dapat menskalakan instance AlloyDB dengan beberapa cara seperti yang diringkas di bawah ini.

Jenis penskalaan Metode Otomatisasi Instance utama Instance kumpulan baca
Vertikal Mengubah jenis mesin Manual Didukung Didukung
Horizontal Mengubah jumlah node Manual dan otomatis Tidak didukung Didukung

Sebelum memulai

  • Google Cloud Project yang Anda gunakan harus sudah diaktifkan untuk mengakses AlloyDB.
  • Anda harus memiliki salah satu peran IAM ini di Google Cloud project yang Anda gunakan:
    • roles/alloydb.admin (peran IAM bawaan Admin AlloyDB)
    • roles/owner (peran IAM dasar Pemilik)
    • roles/editor (peran IAM dasar Editor)

    Jika Anda tidak memiliki salah satu peran ini, hubungi Administrator Organisasi Anda untuk meminta akses.

Penskalaan manual

Bagian ini menjelaskan metode manual untuk menskalakan instance AlloyDB Anda. Misalnya, Anda dapat menskalakan instance secara vertikal dengan mengubah jenis mesinnya dan menskalakan instance kumpulan baca secara horizontal dengan mengubah jumlah nodenya.

Menskalakan jenis mesin instance

Anda dapat menskalakan instance pool baca dan utama secara vertikal dengan mengubah jenis mesin instance, yang akan mengubah vCPU dan RAM-nya.

Konsol

  1. Di konsol Google Cloud , buka halaman Clusters.

    Buka Cluster

  2. Klik cluster di kolom Nama Resource.

  3. Di halaman Overview, buka bagian Instances in your cluster, lalu klik Edit primary atau Edit read pool.

  4. Pilih salah satu seri mesin berikut:

    • C4A: Seri mesin berbasis Axion Google, tersedia dalam Pratinjau.
    • N2: Seri mesin berbasis x86 default.
    • C4: Seri mesin berbasis Titanium dan prosesor Intel Xeon Scalable.
  5. Pilih jenis mesin.

    • C4A mendukung 1, 4, 8, 16, 32, 48, 64, dan 72 jenis atau bentuk mesin.
    • N2 mendukung jenis atau bentuk mesin 2, 4, 8, 16, 32, 64, 96, dan 128.
    • C4 mendukung 4, 8, 16, 24, 32, 48, 96, 144, 192, dan 288 jenis atau bentuk mesin.

      Untuk mengetahui informasi selengkapnya tentang penggunaan seri mesin berbasis Axion C4A, termasuk jenis mesin 1 vCPU, lihat Pertimbangan saat menggunakan seri mesin berbasis Axion C4A.

  6. Klik Perbarui instance atau Perbarui kumpulan baca.

gcloud

Untuk menggunakan gcloud CLI, Anda dapat menginstal dan melakukan inisialisasi Google Cloud CLI, atau Anda dapat menggunakan Cloud Shell.

Gunakan perintah gcloud alloydb instances update untuk mengubah jenis mesin instance utama.

gcloud alloydb instances update INSTANCE_ID \
--cpu-count=CPU_COUNT \
--machine-type=MACHINE_TYPE \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID

Ganti kode berikut:

  • INSTANCE_ID: ID instance yang Anda perbarui.

  • CPU_COUNT: Jumlah vCPU N2 yang Anda inginkan untuk instance. N2 adalah defaultnya. Nilai yang valid mencakup berikut ini:

    • 2: 2 vCPU, RAM 16 GB
    • 4: 4 vCPU, RAM 32 GB
    • 8: 8 vCPU, RAM 64 GB
    • 16: 16 vCPU, RAM 128 GB
    • 32: 32 vCPU, RAM 256 GB
    • 64: 64 vCPU, RAM 512 GB
    • 96: 96 vCPU, RAM 768 GB
    • 128: 128 vCPU, RAM 864 GB

  • MACHINE_TYPE: Opsional. Pilih dari daftar jenis mesin yang didukung seperti n2-highmem-4, c4-highmem-4-lssd, atau c4a-highmem-4-lssd. Untuk mengetahui informasi selengkapnya, lihat Memilih jenis mesin AlloyDB.

    Saat Anda menggunakan MACHINE_TYPE dan CPU_COUNT bersama-sama, nilai dalam CPU_COUNT dan MACHINE_TYPE harus cocok, jika tidak, Anda akan mendapatkan error.

  • REGION_ID: Region tempat instance ditempatkan.

  • CLUSTER_ID: ID cluster tempat instance ditempatkan.

  • PROJECT_ID: ID project tempat cluster ditempatkan.

Jika perintah menampilkan pesan error yang menyertakan frasa invalid cluster state MAINTENANCE, berarti cluster sedang menjalani pemeliharaan rutin. Tindakan ini akan menonaktifkan sementara konfigurasi ulang instance. Jalankan kembali perintah setelah cluster kembali ke status READY. Untuk memeriksa status cluster, lihat Melihat detail cluster.

Mempercepat update jenis mesin

Untuk memperbarui jenis mesin dengan lebih cepat, gunakan opsi FORCE_APPLY dengan perintah gcloud beta alloydb instances update.

 gcloud beta alloydb instances update INSTANCE_ID \
  --cpu-count=CPU_COUNT \
  --machine-type=MACHINE_TYPE \
  --region=REGION_ID \
  --cluster=CLUSTER_ID \
  --project=PROJECT_ID
  --update-mode=FORCE_APPLY
  • Instance mengalami periode nonaktif sekitar satu menit.

  • Jenis mesin instance akan berubah setelah 10 hingga 15 menit.

Menskalakan jumlah node instance kumpulan baca

AlloyDB memungkinkan Anda menskalakan jumlah node dalam instance kumpulan baca tanpa periode nonaktif di tingkat instance. Saat Anda menambah jumlah node, koneksi klien tidak terpengaruh.

Saat Anda mengurangi jumlah node, semua klien yang terhubung ke node yang sedang dimatikan dapat terhubung kembali ke node lain menggunakan endpoint instance.

Konsol

  1. Di konsol Google Cloud , buka halaman Clusters.

    Buka Cluster

  2. Klik cluster di kolom Nama Resource.

  3. Di halaman Overview, buka bagian Instances in your cluster, lalu klik Edit read pool.

  4. Di kolom Jumlah node, masukkan jumlah node.

  5. Klik Update read pool.

gcloud

Untuk menggunakan gcloud CLI, Anda dapat menginstal dan melakukan inisialisasi Google Cloud CLI, atau Anda dapat menggunakan Cloud Shell.

Gunakan perintah gcloud alloydb instances update untuk mengubah jumlah node dalam instance pool baca.

gcloud alloydb instances update INSTANCE_ID \
    --read-pool-node-count=NODE_COUNT \
    --region=REGION_ID \
    --cluster=CLUSTER_ID \
    --project=PROJECT_ID
  • INSTANCE_ID: ID instance pool baca.

  • NODE_COUNT: jumlah node dalam instance pool baca. Tentukan angka 1 hingga 20, inklusif. Perhatikan bahwa Anda tidak boleh memiliki lebih dari 20 node di semua instance kumpulan baca dalam cluster.

  • REGION_ID: region tempat instance berada.

  • CLUSTER_ID: ID cluster tempat instance berada.

  • PROJECT_ID: ID project tempat cluster berada.

Jika perintah menampilkan pesan error yang menyertakan frasa invalid cluster state MAINTENANCE, berarti cluster sedang menjalani pemeliharaan rutin. Tindakan ini akan menonaktifkan sementara konfigurasi ulang instance. Jalankan kembali perintah setelah cluster kembali ke status READY. Untuk memeriksa status cluster, lihat Melihat detail cluster.

Melakukan penskalaan otomatis pada instance kumpulan baca

Penskalaan otomatis kumpulan baca AlloyDB memungkinkan Anda mengubah jumlah node baca secara otomatis dan adaptif berdasarkan penggunaan resource real-time. Hal ini membantu Anda menangani perubahan penggunaan dan mengurangi pengeluaran.

Anda dapat mengonfigurasi penskalaan otomatis menggunakan kebijakan berikut:

  • Berdasarkan pemakaian CPU: menskalakan jumlah node berdasarkan target pemakaian CPU.
  • Berdasarkan jadwal: menskalakan jumlah node ke jumlah minimum selama jangka waktu tertentu.

Anda dapat menggunakan kebijakan ini secara bersamaan. Jika beberapa kebijakan aktif, autoscaler akan memilih kebijakan yang merekomendasikan jumlah node tertinggi.

Batasan

Autoscaler kumpulan baca memiliki batasan berikut:

  • Distribusi beban untuk koneksi yang berjalan lama: untuk membuat distribusi traffic yang merata dan menggunakan kapasitas tambahan dari penskalaan otomatis sepenuhnya, sebaiknya buat koneksi klien baru. Autoscaler tidak menghentikan koneksi yang sudah ada dan berjalan lama saat menambahkan node baru, sehingga traffic dari koneksi tersebut tidak dirutekan ke node yang baru ditambahkan.
  • Pemanasan cache untuk node baru: saat autoscaler menambahkan node baru, mungkin perlu waktu beberapa menit agar node tersebut memanaskan cache-nya dan mencapai performa kueri puncak.
  • Perilaku dengan kueri besar: penyesuaian penskalaan otomatis dapat ditunda selama eksekusi kueri baca yang sangat besar.

Mengaktifkan penskalaan otomatis pada instance pool baca baru

Anda dapat mengaktifkan dan mengonfigurasi penskalaan otomatis saat membuat instance kumpulan baca menggunakan kebijakan berbasis CPU, kebijakan berbasis jadwal, atau keduanya.

Membuat instance kumpulan baca dengan kebijakan berbasis CPU

Untuk membuat instance kumpulan baca dengan kebijakan penskalaan otomatis berdasarkan target pemakaian CPU, jalankan perintah berikut:

gcloud alloydb instances create INSTANCE_ID \
    --instance-type=READ_POOL \
    --read-pool-node-count=NODE_COUNT \
    --region=REGION_ID \
    --cluster=CLUSTER_ID \
    --project=PROJECT_ID \
    --enable-autoscaler \
    --autoscaler-max-node-count=MAX_NODE_COUNT \
    --autoscaler-target-cpu-usage=TARGET_CPU_USAGE

Ganti kode berikut:

  • INSTANCE_ID: ID instance pool baca.

  • READ_POOL: menentukan jenis instance.

  • NODE_COUNT: jumlah node dalam instance kumpulan baca. Tentukan angka 1 hingga 20, inklusif. Perhatikan bahwa Anda tidak dapat memiliki lebih dari 20 node di semua instance kumpulan baca dalam cluster.

  • REGION_ID: region tempat instance ditempatkan.

  • CLUSTER_ID: ID cluster tempat instance ditempatkan.

  • PROJECT_ID: ID project tempat cluster ditempatkan.

  • MAX_NODE_COUNT: jumlah maksimum node yang dapat dibuat oleh penskala otomatis di instance kumpulan baca. Jumlah total node di semua instance kumpulan baca dalam satu cluster tidak boleh melebihi 20.

  • TARGET_CPU_USAGE: target penggunaan CPU untuk instance kumpulan baca Anda, yang dinyatakan sebagai nilai desimal antara 0,0 dan 1,0. Misalnya, 0,7 untuk 70%.

Membuat instance kumpulan baca dengan kebijakan berbasis jadwal

Untuk membuat instance pool baca dengan kebijakan penskalaan otomatis berbasis jadwal yang menentukan jumlah minimum node untuk jangka waktu tertentu, jalankan perintah berikut:

gcloud alloydb instances create INSTANCE_ID \
    --instance-type=READ_POOL \
    --read-pool-node-count=NODE_COUNT \
    --region=REGION_ID \
    --cluster=CLUSTER_ID \
    --project=PROJECT_ID \
    --enable-autoscaler \
    --autoscaler-max-node-count=MAX_NODE_COUNT \
    --autoscaler-set-schedule=SCHEDULE_NAME \
    --autoscaler-schedule-cron-exp=CRON_EXPRESSION \
    --autoscaler-schedule-duration-seconds=DURATION_SECONDS \
    --autoscaler-schedule-time-zone=TIME_ZONE \
    --autoscaler-schedule-min-node-count=MIN_NODE_COUNT \
    --autoscaler-schedule-description="DESCRIPTION"

Ganti kode berikut:

  • MAX_NODE_COUNT: jumlah maksimum node yang dapat dibuat oleh penskala otomatis di instance kumpulan baca. Jumlah total node di semua instance kumpulan baca dalam satu cluster tidak boleh melebihi 20.

  • SCHEDULE_NAME: nama unik untuk jadwal penskalaan.

  • CRON_EXPRESSION: jadwal dalam format cron yang menentukan waktu mulai peristiwa penskalaan.

  • DURATION_SECONDS: durasi dalam detik jadwal tetap aktif setelah dimulai. Setelah periode ini, instance akan di-scale down ke jumlah node yang ditentukan oleh kebijakan lain atau konfigurasi aslinya.

  • TIME_ZONE: zona waktu opsional untuk jadwal. Contoh, America/Los_Angeles.

  • MIN_NODE_COUNT: jumlah minimum node yang diskalakan oleh autoscaler untuk instance kumpulan baca saat jadwal aktif.

  • DESCRIPTION: deskripsi teks opsional untuk jadwal.

Membuat instance kumpulan baca dengan kebijakan berbasis CPU dan jadwal

Untuk membuat instance kumpulan baca dengan kebijakan penskalaan otomatis berbasis CPU dan berbasis jadwal, jalankan perintah berikut:

gcloud alloydb instances create INSTANCE_ID \
    --instance-type=READ_POOL \
    --read-pool-node-count=NODE_COUNT \
    --region=REGION_ID \
    --cluster=CLUSTER_ID \
    --project=PROJECT_ID \
    --enable-autoscaler \
    --autoscaler-max-node-count=MAX_NODE_COUNT \
    --autoscaler-target-cpu-usage=TARGET_CPU_USAGE \
    --autoscaler-set-schedule=SCHEDULE_NAME \
    --autoscaler-schedule-cron-exp=CRON_EXPRESSION \
    --autoscaler-schedule-duration-seconds=DURATION_SECONDS \
    --autoscaler-schedule-time-zone=TIME_ZONE \
    --autoscaler-schedule-min-node-count=MIN_NODE_COUNT \
    --autoscaler-schedule-description="DESCRIPTION"

Ganti TARGET_CPU_USAGE dengan pemakaian CPU target untuk instance pool baca Anda, yang dinyatakan sebagai nilai desimal antara 0,0 dan 1,0.

Untuk mengetahui deskripsi placeholder yang digunakan dalam perintah ini, lihat kebijakan Membuat instance pool baca dengan kebijakan berbasis CPU dan Membuat instance pool baca dengan kebijakan berbasis jadwal.

Mengaktifkan atau mengupdate penskalaan otomatis pada instance kumpulan baca yang ada

Anda dapat mengaktifkan, menonaktifkan, atau mengubah setelan penskalaan otomatis pada instance kumpulan baca yang ada.

Untuk mengaktifkan penskalaan otomatis untuk pertama kalinya pada instance yang ada, atau untuk memperbarui kebijakan yang ada, gunakan perintah gcloud alloydb instances update. Misalnya, untuk memperbarui target pemakaian CPU, jalankan:

gcloud alloydb instances update INSTANCE_ID \
    --region=REGION_ID \
    --cluster=CLUSTER_ID \
    --project=PROJECT_ID \
    --autoscaler-target-cpu-usage=NEW_TARGET_CPU_USAGE

Ganti NEW_TARGET_CPU_USAGE dengan pemakaian CPU target baru yang ingin Anda tetapkan untuk instance kumpulan baca, yang dinyatakan sebagai nilai desimal antara 0,0 dan 1,0.

Untuk menambahkan jadwal kedua ke konfigurasi yang ada, jalankan perintah update dengan nama jadwal baru. Jika nama jadwal sudah ada, perintah akan memperbarui jadwal yang ada. Jika tidak, jadwal baru akan dibuat.

gcloud alloydb instances update INSTANCE_ID \
    --region=REGION_ID \
    --cluster=CLUSTER_ID \
    --project=PROJECT_ID \
    --autoscaler-set-schedule=NEW_SCHEDULE_NAME \
    --autoscaler-schedule-cron-exp=CRON_EXPRESSION \
    --autoscaler-schedule-duration-seconds=DURATION_SECONDS \
    --autoscaler-schedule-min-node-count=MIN_NODE_COUNT

Ganti NEW_SCHEDULE_NAME dengan nama unik untuk jadwal penskalaan baru atau yang diperbarui. Jika nama yang diberikan cocok dengan jadwal yang ada, perintah akan memperbarui setelan jadwal tersebut. Jika nama tidak ada, perintah akan membuat jadwal baru dengan nama ini.

Cara kebijakan penskalaan otomatis dievaluasi

Jika beberapa kebijakan penskalaan otomatis aktif, autoscaler akan mengevaluasi setiap kebijakan dan memilih kebijakan yang merekomendasikan jumlah node tertinggi.

Misalnya, pertimbangkan konfigurasi dengan dua kebijakan:

  • Kebijakan berbasis CPU dengan target pemanfaatan 60%.
  • Kebijakan berbasis jadwal yang memerlukan minimal tiga node pada hari kerja antara pukul 08.00 dan 17.00.

Jika saat itu adalah hari kerja pada siang hari dan pemakaian CPU mencapai 80%, kebijakan berbasis CPU mungkin merekomendasikan penskalaan hingga empat node, sedangkan kebijakan berbasis jadwal merekomendasikan tiga node. Autoscaler menskalakan instance menjadi empat node.

Menonaktifkan penskalaan otomatis

Untuk menonaktifkan penskalaan otomatis, gunakan flag no-enable-autoscaler. Tindakan ini akan mereset kumpulan baca ke jumlah node aslinya sebelum penskalaan otomatis diaktifkan.

gcloud alloydb instances update INSTANCE_ID \
    --region=REGION_ID \
    --cluster=CLUSTER_ID \
    --project=PROJECT_ID \
    --no-enable-autoscaler