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 dirangkum berikut.

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

  • Project yang Anda gunakan harus diaktifkan untuk mengakses AlloyDB. Google Cloud
  • Anda harus memiliki salah satu peran IAM berikut 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. Misalnya, Anda dapat menskalakan instance secara vertikal dengan mengubah jenis mesinnya dan menskalakan instance kumpulan baca secara horizontal dengan mengubah jumlah node-nya.

Menskalakan jenis mesin instance

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

Konsol

  1. Di Google Cloud konsol, buka halaman Clusters.

    Buka Cluster

  2. Klik cluster di kolom Resource Name.

  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 Google Axion)
    • N2 (seri mesin berbasis x86). Ini adalah seri mesin default.
    • C4 (seri mesin berbasis x86)
    • Z3 (seri mesin berbasis Intel Xeon)
  5. Pilih jenis mesin.

    • C4A mendukung 1, 2, 4, 8, 16, 32, 48, 64, dan 72 vCPU.
    • N2 mendukung 2, 4, 8, 16, 32, 64, 96, dan 128 vCPU.
    • C4 mendukung 4, 8, 16, 24, 32, 48, 96, 144, 192, dan 288 vCPU.
    • Z3 mendukung 8, 14, 16, 22, 32, 44, dan 88 vCPU.

    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 Update instance atau Update read pool.

gcloud

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

Gunakan gcloud alloydb instances update perintah 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 update.

  • CPU_COUNT: Jumlah vCPU N2 yang Anda inginkan untuk instance. N2 adalah default. 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.

    Jika 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. Hal ini untuk sementara tidak mengizinkan konfigurasi ulang instance. Jalankan perintah lagi setelah cluster kembali ke status READY. Untuk memeriksa status cluster, lihat Melihat detail cluster.

Mempercepat update jenis mesin

Untuk mengupdate jenis mesin 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 selama sekitar satu menit.

  • Jenis mesin instance 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 meningkatkan jumlah node, koneksi klien tidak akan terpengaruh.

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

Konsol

  1. Di Google Cloud konsol, buka halaman Clusters.

    Buka Cluster

  2. Klik cluster di kolom Resource Name.

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

  4. Di kolom Node count, 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 kumpulan 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 kumpulan baca.

  • 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 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. Hal ini untuk sementara tidak mengizinkan konfigurasi ulang instance. Jalankan perintah lagi setelah cluster kembali ke status READY. Untuk memeriksa status cluster, lihat Melihat detail cluster.

Menskalakan otomatis 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:

  • Berbasis penggunaan CPU: menskalakan jumlah node berdasarkan target penggunaan CPU.
  • Berbasis jadwal: menskalakan jumlah node ke jumlah minimum selama jangka waktu yang ditentukan.

Anda dapat menggunakan kebijakan ini bersama-sama. 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 menetapkan distribusi traffic yang merata dan menggunakan sepenuhnya kapasitas tambahan dari penskalaan otomatis, sebaiknya buat koneksi klien baru. Autoscaler tidak menghentikan koneksi yang 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.

Mengaktifkan penskalaan otomatis pada instance kumpulan 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 penggunaan CPU, jalankan perintah berikut:

gcloud beta 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 \
    {--cpu-count=CPU_COUNT | --machine-type=MACHINE_TYPE}

Ganti kode berikut:

  • INSTANCE_ID: ID instance kumpulan baca.

  • READ_POOL: menentukan jenis instance.

  • NODE_COUNT: jumlah minimum node yang dapat dibuat oleh autoscaler di instance kumpulan baca. Tentukan angka 1 hingga 20, inklusif. 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 autoscaler 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%.

  • CPU_COUNT: Jumlah vCPU N2 yang Anda inginkan untuk instance. Salah satu dari --cpu-count atau --machine-type harus ditentukan.

  • MACHINE_TYPE: 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.

Membuat instance kumpulan baca dengan kebijakan berbasis jadwal

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

gcloud beta 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"
    {--cpu-count=CPU_COUNT | --machine-type=MACHINE_TYPE}

Ganti kode berikut:

  • MAX_NODE_COUNT: jumlah maksimum node yang dapat dibuat oleh autoscaler 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 diperkecil skalanya ke jumlah node yang ditentukan oleh kebijakan lain atau konfigurasi aslinya.

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

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

  • DESCRIPTION: deskripsi teks opsional untuk jadwal.

  • CPU_COUNT: Jumlah vCPU N2 yang Anda inginkan untuk instance. Salah satu dari --cpu-count atau --machine-type harus ditentukan.

  • MACHINE_TYPE: 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.

Membuat instance kumpulan baca dengan kebijakan berbasis CPU dan jadwal

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

gcloud beta 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"
    {--cpu-count=CPU_COUNT | --machine-type=MACHINE_TYPE}

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

Untuk mengetahui deskripsi placeholder yang digunakan dalam perintah ini, lihat Membuat instance kumpulan baca dengan kebijakan berbasis CPU dan Membuat instance kumpulan 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 mengupdate kebijakan yang ada, gunakan perintah gcloud beta alloydb instances update. Misalnya, untuk mengupdate target penggunaan CPU, jalankan:

gcloud beta 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 target penggunaan CPU baru yang ingin Anda tetapkan untuk instance kumpulan baca Anda, 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 mengupdate jadwal yang ada. Jika tidak, perintah akan membuat jadwal baru.

gcloud beta 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 diupdate. Jika nama yang diberikan cocok dengan jadwal yang ada, perintah akan mengupdate setelan jadwal tersebut. Jika nama tersebut tidak ada, perintah akan membuat jadwal baru dengan nama ini.

Cara kebijakan penskalaan otomatis dievaluasi

Saat 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 penggunaan 60%.
  • Kebijakan berbasis jadwal yang memerlukan minimal tiga node pada hari kerja antara pukul 08.00 dan 17.00.

Jika hari kerja pada siang hari dan penggunaan CPU adalah 80%, kebijakan berbasis CPU mungkin merekomendasikan peningkatan skala hingga empat node, sedangkan kebijakan berbasis jadwal merekomendasikan tiga node. Autoscaler akan menskalakan instance ke 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 beta alloydb instances update INSTANCE_ID \
    --region=REGION_ID \
    --cluster=CLUSTER_ID \
    --project=PROJECT_ID \
    --no-enable-autoscaler

Melihat jumlah node yang diskalakan otomatis

Anda dapat melihat jumlah node yang telah diskalakan oleh autoscaler dalam instance.

Konsol

  1. Di Google Cloud konsol, buka halaman Clusters.

    Buka Cluster

  2. Klik cluster di kolom Resource Name.

  3. Di menu Navigasi, klik System insights.

  4. Pilih instance dari daftar drop-down Instance.

  5. Lihat jumlah node di bagian Active node count.

gcloud

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

Gunakan gcloud alloydb instances describe perintah untuk melihat daftar node dalam instance.

gcloud alloydb instances describe INSTANCE_ID \
     --region=REGION_ID \
     --cluster=CLUSTER_ID \
     --project=PROJECT_ID \
     --view=FULL \
     --format="yaml(nodes)"

Ganti kode berikut:

  • INSTANCE_ID: ID instance yang Anda update.

  • REGION_ID: region tempat instance ditempatkan.

  • CLUSTER_ID: ID cluster tempat instance ditempatkan.

  • PROJECT_ID: ID project tempat cluster ditempatkan.