Menskalakan instance

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

Anda dapat melakukan penskalaan secara vertikal (mengubah vCPU dan RAM) dengan mengubah jenis mesin instance utama atau instance kumpulan baca. Anda melakukan penskalaan secara horizontal dengan mengubah jumlah node dalam instance kumpulan baca. Anda dapat mengelola penskalaan vertikal dan horizontal menggunakan proses manual. Anda juga dapat mengelola penskalaan horizontal secara otomatis dengan mengaktifkan penskalaan otomatis kumpulan baca.

Anda dapat menskalakan instance AlloyDB dengan cara berikut.

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

Sebelum memulai

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

    Jika Anda tidak memiliki peran ini, hubungi Organization Administrator untuk meminta akses.

Menskalakan instance secara 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 utama dan instance kumpulan baca 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 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 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 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.

    Saat Anda menggunakan MACHINE_TYPE dan CPU_COUNT bersama-sama, nilai di 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 untuk sementara melarang 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 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 akan mengalami periode nonaktif sekitar satu menit.

  • Jenis mesin instance berubah setelah 10 hingga 15 menit.

Terraform

Untuk mengubah jenis mesin instance, perbarui blok machine_config di resource google_alloydb_instance.

resource "google_alloydb_instance" "default" {
  cluster       = google_alloydb_cluster.default.name
  instance_id   = "alloydb-instance"
  instance_type = "PRIMARY" # or "READ_POOL"

  machine_config {
    cpu_count = 4
  }
}

Menskalakan jumlah node instance kumpulan baca

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

Saat Anda mengurangi jumlah node, klien mana pun 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 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 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 sebuah 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 untuk sementara melarang konfigurasi ulang instance. Jalankan kembali perintah setelah cluster kembali ke status READY. Untuk memeriksa status cluster, lihat Melihat detail cluster.

Terraform

Untuk mengubah jumlah node dalam instance kumpulan baca, perbarui kolom node_count di blok read_pool_config dari resource google_alloydb_instance.

resource "google_alloydb_instance" "default" {
  cluster       = google_alloydb_cluster.default.name
  instance_id   = "alloydb-read-pool-instance"
  instance_type = "READ_POOL"

  read_pool_config {
    node_count = 3
  }
}

Mengonfigurasi penskalaan otomatis kumpulan baca

Dengan penskalaan otomatis kumpulan baca AlloyDB, Anda dapat 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.
  • Berbasis jadwal: menskalakan jumlah node ke jumlah minimum selama jangka waktu yang ditentukan.

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 sepenuhnya kapasitas tambahan dari penskalaan otomatis, sebaiknya buat koneksi klien baru. Autoscaler tidak menutup koneksi yang sudah ada dan berumur panjang 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 hingga node tersebut memanaskan cache-nya dan mencapai performa kueri puncak.

Mengaktifkan penskalaan otomatis kumpulan baca di 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 pemakaian 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-cool-down-period-seconds=COOLDOWN_PERIOD \
    --autoscaler-target-cpu-usage=TARGET_CPU_USAGE \
    {--cpu-count=CPU_COUNT | --machine-type=MACHINE_TYPE}

Ganti kode berikut:

  • INSTANCE_ID: ID instance pool baca.

  • NODE_COUNT: jumlah minimum node yang dapat dibuat oleh autoscaler di instance kumpulan baca. Tentukan angka 1 hingga 20, inklusif. Anda tidak boleh memiliki lebih dari 20 node di semua instance pool baca dalam sebuah 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.

  • COOLDOWN_PERIOD: jumlah waktu dalam detik yang ditunggu AlloyDB sebelum memperhitungkan penggunaan resource instance kumpulan baca ke dalam algoritma penskalaan otomatis. Nilai default-nya adalah 300 detik.

  • TARGET_CPU_USAGE: target pemakaian CPU untuk instance pool 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. --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-cool-down-period-seconds=COOLDOWN_PERIOD \
    --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.

  • COOLDOWN_PERIOD: jumlah waktu dalam detik yang ditunggu AlloyDB sebelum memperhitungkan penggunaan resource instance kumpulan baca ke dalam algoritma penskalaan otomatis. Nilai default-nya adalah 300 detik.

  • SCHEDULE_NAME: nama unik untuk jadwal penskalaan.

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

  • DURATION_SECONDS: durasi dalam detik saat jadwal tetap aktif setelah dimulai. Setelah periode ini, instance akan memperkecil skala 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 akan diskalakan oleh autoscaler untuk instance kumpulan baca saat jadwal aktif.

  • DESCRIPTION: deskripsi teks opsional untuk jadwal.

  • CPU_COUNT: Jumlah vCPU N2 yang Anda inginkan untuk instance. --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 read pool dengan kebijakan berbasis CPU dan jadwal

Untuk membuat instance kumpulan baca dengan kebijakan penskalaan otomatis berbasis CPU dan berbasis 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-cool-down-period-seconds=COOLDOWN_PERIOD \
    --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}

Untuk deskripsi placeholder yang digunakan dalam perintah ini, lihat kebijakan 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 memperbarui kebijakan yang ada, gunakan perintah gcloud beta alloydb instances update. Misalnya, untuk memperbarui target pemakaian CPU, jalankan:

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

Ganti NEW_TARGET_CPU_USAGE dengan target pemakaian CPU 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, Cloud Scheduler akan membuat jadwal baru.

gcloud beta alloydb instances update INSTANCE_ID \
    --region=REGION_ID \
    --cluster=CLUSTER_ID \
    --project=PROJECT_ID \
    --enable-autoscaler \
    --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 pemakaian 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 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.

Penskalaan otomatis di

Selain menskalakan instance kumpulan baca secara otomatis, AlloyDB juga menskalakan instance secara otomatis saat Anda tidak memerlukan banyak node baca untuk mendukung alur kerja. Saat terjadi penurunan skala, AlloyDB akan menurunkan jumlah node ke nilai yang Anda tetapkan untuk kolom --read-pool-node-count.

Untuk menentukan kapan instance pool baca harus diskalakan, AlloyDB menunggu hingga jadwal penskalaan otomatis Anda tidak aktif atau penggunaan CPU Anda kurang dari target penggunaan selama 10 menit.

Untuk mengetahui informasi selengkapnya tentang penurunan skala otomatis, lihat Memahami keputusan autoscaler.

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 sebuah instance.

Konsol

  1. Di konsol Google Cloud , buka halaman Clusters.

    Buka Cluster

  2. Klik cluster di kolom Resource Name.

  3. Di menu navigasi, klik System insights.

  4. Pilih instance dari menu 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 perintah gcloud alloydb instances describe 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.