Untuk mempertahankan ketersediaan di seluruh region dan menskalakan workload baca secara global, Anda dapat membuat dan mengelola cluster sekunder AlloyDB untuk PostgreSQL, menambahkan instance pool baca, serta melakukan operasi pengalihan atau promosi.
Untuk ringkasan konseptual replikasi lintas-region, lihat Ringkasan replikasi lintas-region.
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.
Membuat cluster sekunder
Saat Anda membuat cluster sekunder, AlloyDB akan menyalin dan menerapkan beberapa konfigurasi cluster utama, termasuk konfigurasi pemulihan point-in-time (PITR) dan pencadangan, ke cluster sekunder. AlloyDB tidak menambahkan instance kumpulan baca ke cluster sekunder setelah membuatnya, berapa pun jumlah instance kumpulan baca yang ada di cluster utama.
Jika Anda mengupdate konfigurasi cluster utama setelah membuat cluster sekunder, perubahan tidak akan tersedia di cluster sekunder. Namun, Anda dapat mengupdate cluster sekunder secara manual agar memiliki konfigurasi terbaru yang tersedia di cluster utama.
Anda dapat membuat hingga lima cluster sekunder untuk cluster utama. Semua cluster sekunder mereplikasi dari satu instance utama. Jika Anda mempromosikan cluster sekunder, cluster sekunder tersebut akan menjadi cluster utama independen.
Diagram berikut menggambarkan cara mempromosikan cluster sekunder bernama
cluster-2 di us-east4:

Gambar 1. Contoh mempromosikan cluster sekunder.
Untuk membuat cluster sekunder dan instance sekunder AlloyDB, ikuti langkah-langkah berikut:
Secara default, AlloyDB membuat instance sekunder dengan konfigurasi mesin yang sama dengan instance utama pada saat pembuatan. Namun, jika Anda meningkatkan skala instance utama setelah membuat instance sekunder, AlloyDB tidak akan melakukan penskalaan otomatis pada instance sekunder; Anda harus meningkatkan skalanya secara manual.
Konsol
Di konsol Google Cloud , buka halaman Clusters.
Klik cluster di kolom Resource Name.
Di halaman Overview, klik Create secondary cluster.
Konfigurasikan cluster sekunder Anda:
- Di kolom Cluster ID, masukkan ID resource untuk cluster sekunder Anda.
- Pilih region untuk cluster sekunder Anda yang berbeda dengan region cluster utama.
- Pilih enkripsi default yang dikelola Google atau kunci yang dikelola pelanggan (CMEK) sebagai metode enkripsi untuk mengenkripsi cluster sekunder Anda.
Jika Anda ingin mengenkripsi cluster ini menggunakan kunci CMEK, ikuti langkah-langkah berikut:
- Klik Opsi enkripsi lanjutan.
- Pilih Customer-managed encryption key (CMEK).
Pilih kunci yang dikelola pelanggan dari menu yang muncul.
Konsol Google Cloud membatasi daftar ini pada kunci dalam project dan regionGoogle Cloud yang sama dengan cluster baru.
Untuk menggunakan kunci yang tidak ada dalam daftar ini, ikuti langkah-langkah berikut:
- Klik Tidak melihat kunci Anda? Masukkan nama resource kunci.
- Masukkan nama resource di kolom Key resource name.
- Klik Simpan.
- Klik Lanjutkan.
Penggunaan kunci CMEK dengan AlloyDB memerlukan beberapa penyiapan tambahan. Untuk mengetahui informasi selengkapnya, lihat Menggunakan CMEK.
Jika instance utama terkait dienkripsi dengan kunci CMEK, Anda juga harus mengenkripsi cluster sekundernya dengan kunci CMEK.
Konfigurasikan instance sekunder Anda. Di kolom Instance ID, masukkan ID resource untuk instance sekunder Anda. ID resource harus unik dalam cluster.
Klik Create cluster.
gcloud
Untuk menggunakan gcloud CLI, Anda dapat menginstal dan melakukan inisialisasi Google Cloud CLI, atau Anda dapat menggunakan Cloud Shell.
Gunakan perintah gcloud alloydb clusters create-secondary.
gcloud alloydb clusters create-secondary SECONDARY_CLUSTER_ID \ --region=REGION_ID \ --primary-cluster=projects/PROJECT_ID/locations/LOCATION_ID/clusters/PRIMARY_CLUSTER_IDgcloud alloydb instances create-secondary SECONDARY_INSTANCE_ID \ --cluster=SECONDARY_CLUSTER_ID \ --region=REGION_ID
Ganti kode berikut:
SECONDARY_CLUSTER_ID: ID cluster sekunder yang ingin Anda buat dan kaitkan dengan instance sekunder.SECONDARY_INSTANCE_ID: ID instance sekunder yang ingin Anda buat.REGION_ID: ID region cluster sekunder—misalnya,us-central1.PROJECT_ID: ID project cluster utama.LOCATION_ID: Lokasi tempat cluster utama Anda berada—misalnya,us-central1.PRIMARY_CLUSTER_ID: ID cluster utama yang terkait dengan cluster sekunder.
Untuk menonaktifkan pembuatan cadangan otomatis di cluster sekunder, teruskan flag --no-enable-automated-backup ke perintah gcloud alloydb clusters create-secondary.
Untuk membuat instance sekunder yang mendukung Private Service Connect,
tambahkan flag --allowed-psc-projects untuk menetapkan daftar project ID atau nomor project yang dipisahkan koma
yang ingin Anda izinkan untuk mengakses instance—misalnya,
my-project-1, 12345, dan my-project-n.
gcloud alloydb clusters create-secondary SECONDARY_CLUSTER_ID \ --region=REGION_ID \ --primary-cluster=projects/PROJECT_ID/locations/LOCATION_ID/clusters/PRIMARY_CLUSTER_IDgcloud alloydb instances create-secondary SECONDARY_INSTANCE_ID \ --cluster=SECONDARY_CLUSTER_ID \ --region=REGION_ID \ --allowed-psc-projects=ALLOWED_PSC_PROJECTS
Ganti kode berikut:
ALLOWED_PSC_PROJECTS(Opsional): Daftar project ID atau nomor project yang dipisahkan koma yang ingin Anda izinkan untuk mengakses instance—misalnya,my-project-1,12345,danmy-project-n. Jika cluster Anda menggunakan Private Service Connect sebagai metode untuk terhubung ke instance, Anda harus menetapkan daftar project atau nomor yang diizinkan.
Untuk membuat instance sekunder bagi cluster yang mendukung IP publik, tambahkan parameter --assign-inbound-public-ip=ASSIGN_IPV4.
gcloud alloydb instances create-secondary SECONDARY_INSTANCE_ID \
--cluster=SECONDARY_CLUSTER_ID \
--region=REGION_ID \
--assign-inbound-public-ip=ASSIGN_IPV4Secara opsional, teruskan daftar blok CIDR yang dipisahkan koma, seperti 64.233.160.0/16 ke parameter --authorized-external-networks untuk menetapkan jaringan eksternal yang diizinkan pada instance Anda.
Melihat cluster sekunder
Untuk melihat informasi mendetail tentang cluster sekunder AlloyDB, ikuti langkah-langkah berikut:
Di konsol Google Cloud , buka halaman Clusters.
Klik cluster sekunder di kolom Resource Name.
Di halaman Overview, lihat semua detail tentang cluster sekunder Anda.
Mengupdate instance sekunder
Anda dapat mengupdate instance sekunder untuk menambahkan, mengubah, atau menghapus flag database. Anda juga dapat menskalakan jenis mesin instance sekunder.
Mengonfigurasi flag database pada instance sekunder
Untuk menambahkan, mengubah, atau menghapus flag database, selesaikan langkah-langkah berikut:
Konsol
Di konsol Google Cloud , buka halaman Clusters.
Di kolom Resource Name, klik cluster sekunder yang ingin Anda ubah.
Di halaman Overview, buka Instances in your cluster, pilih instance sekunder, lalu klik Edit secondary.
Tambahkan, ubah, atau hapus flag database dari instance Anda:
Menambahkan tanda
- Untuk menambahkan flag database ke instance, klik Add flag.
- Pilih flag database dari daftar New database flag.
- Berikan nilai untuk flag.
- Klik Done.
Mengubah tanda
- Untuk mengubah flag database yang ada di instance Anda, luaskan flag database dan ubah nilai flag yang ada di bagian Edit database flag.
- Klik Done.
Menghapus tanda
- Untuk menghapus flag database dari instance, pilih flag, lalu klik ikon hapus.
- Klik Done.
Klik Update secondary.
gcloud
Gunakan perintah gcloud alloydb instances update
untuk mengubah flag database untuk instance sekunder.
gcloud alloydb instances update SECONDARY_INSTANCE_ID \
--database-flags FLAGS_LIST \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_IDGanti kode berikut:
SECONDARY_INSTANCE_ID: ID instance sekunder.FLAGS_LIST: Daftar yang dipisahkan koma yang berisi satu atau beberapa spesifikasi flag database. Setiap spesifikasi terdiri dari nama flag, tanda sama dengan (=), dan nilai yang akan ditetapkan ke flag. Untuk flag database yang tidak menggunakan nilai, berikan nama flag yang diikuti dengan tanda sama dengan (=).REGION_ID: Region tempat instance sekunder ditempatkan—misalnya,us-central1.CLUSTER_ID: ID cluster tempat instance sekunder ditempatkan.PROJECT_ID: ID project tempat cluster sekunder ditempatkan.
Menskalakan jenis mesin instance sekunder
Untuk menskalakan jenis mesin instance sekunder, selesaikan langkah-langkah berikut:
Konsol
Di konsol Google Cloud , buka halaman Clusters.
Di kolom Resource Name, klik cluster sekunder yang ingin Anda ubah.
Di halaman Overview, buka bagian Instances in your cluster, lalu klik Edit secondary.
Perhatikan bahwa tindakan ini tidak tersedia jika halaman melaporkan Status cluster sebagai Maintenance. Tindakan akan tersedia lagi setelah Status berubah menjadi Ready.
Pilih jenis mesin.
Klik Update secondary.
gcloud
Gunakan perintah gcloud alloydb instances
update
untuk mengubah jenis mesin instance sekunder.
gcloud alloydb instances update SECONDARY_INSTANCE_ID \
--cpu-count=CPU_COUNT \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_IDGanti kode berikut:
SECONDARY_INSTANCE_ID: ID instance sekunder yang Anda update.CPU_COUNT: Jumlah vCPU yang Anda inginkan untuk instance. Nilai yang valid mencakup: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)
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.
Menambahkan instance kumpulan baca ke cluster sekunder
Untuk menambahkan instance kumpulan baca ke cluster sekunder, ikuti langkah-langkah berikut:
Di konsol Google Cloud , buka halaman Clusters.
Di kolom Resource Name, klik cluster sekunder yang ingin Anda tambahi instance kumpulan baca.
Di halaman Overview, buka bagian Instances in your cluster, lalu klik Add read pool.
Konfigurasikan instance read pool Anda:
- Di kolom Read pool instance ID, masukkan ID untuk instance pool baca.
- Di kolom Node count, masukkan jumlah node. Jumlah node dalam instance kumpulan baca menentukan kapasitas komputasi keseluruhan instance. Anda dapat memiliki maksimum 20 node di semua instance kumpulan baca dalam sebuah cluster.
- Pilih jenis mesin.
Opsional: Tetapkan flag kustom ke instance Anda. Untuk setiap flag, lakukan hal berikut:
- Klik Add flag.
- Pilih flag database dari daftar New database flag.
- Berikan nilai untuk flag.
- Klik Done.
Klik Add read pool.
Pemulihan dari bencana (disaster recovery) lanjutan
Untuk skenario disaster recovery lanjutan, AlloyDB mendukung pengalihan dan failover lintas region:
Melakukan peralihan
Dengan pengalihan, Anda dapat membalikkan peran cluster utama dan sekunder tanpa kehilangan data. Gunakan operasi ini untuk migrasi terencana, pemeliharaan rutin, atau latihan disaster recovery. Saat Anda menyelesaikan pengalihan, arah replikasi akan dibalik.
Jika Anda melakukan pengalihan saat memiliki beberapa cluster sekunder, perubahan berikut akan terjadi:
- Cluster sekunder yang menerima perintah pengalihan akan menjadi cluster utama.
- Cluster utama sebelumnya menjadi cluster sekunder, yang mereplikasi dari cluster utama baru.
- Semua cluster sekunder lainnya beralih untuk mereplikasi dari cluster utama baru.
Diagram berikut mengilustrasikan pengalihan dari cluster-1 di us-central1
ke cluster-2 di us-east4:

Gambar 2. Contoh melakukan pengalihan ke salah satu dari dua cluster sekunder.
Sebelum melakukan pengalihan, pastikan semua region tempat instance utama dan sekunder berada dalam status online dan instance dalam status responsif. Untuk mengetahui informasi selengkapnya, lihat Memantau instance menggunakan dasbor Insight sistem AlloyDB.
Untuk melakukan peralihan, ikuti langkah-langkah berikut:
Konsol
Di konsol Google Cloud , buka halaman Clusters.
Di kolom Resource Name, klik cluster sekunder yang ingin Anda alihkan sebagai cluster utama.
Di halaman Overview, klik Switchover.
Pada dialog yang muncul, masukkan ID cluster sekunder untuk mengonfirmasi bahwa Anda ingin mengalihkan cluster.
Klik Switchover.
Setelah cluster dialihkan, Type: Secondary cluster
di halaman Overview akan diperbarui menjadi
Cluster Type: Primary Cluster dan Cluster Type: Secondary Cluster.
gcloud
Gunakan perintah gcloud alloydb clusters switchover:
gcloud alloydb clusters switchover SECONDARY_CLUSTER_ID \
--region=REGION_ID \
--project=PROJECT_IDGanti kode berikut:
SECONDARY_CLUSTER_ID: ID cluster sekunder yang ingin Anda alihkan.REGION_ID: ID region cluster sekunder—misalnya,us-central1.PROJECT_ID: ID project cluster sekunder.
Opsional: Memverifikasi status replikasi
Untuk memastikan bahwa peralihan selesai dengan cepat dan tanpa kehilangan data, pastikan cluster sekunder menerapkan semua transaksi yang diterima dari cluster utama:
- Menghentikan semua penulisan ke cluster utama.
Periksa status replikasi cluster sekunder dengan menyelesaikan langkah-langkah berikut:
Di konsol Google Cloud , buka halaman Clusters.
Dalam daftar cluster, klik nama cluster sekunder yang ingin Anda alihkan.
Di halaman detail cluster, klik Monitoring.
Dalam daftar Monitoring, pilih instance sekunder. Alamat email tersebut akan muncul dalam daftar sebagai Sekunder: INSTANCE_NAME.
Dalam daftar metrik, temukan diagram Replication lag from primary instance.
Pastikan diagram menunjukkan jeda minimal.
Nilai jeda
0adalah optimal. Jika jeda lebih besar dari0, operasi pengalihan mungkin memerlukan waktu lebih lama untuk diselesaikan saat menerapkan transaksi yang tersisa.Dalam daftar metrik, temukan diagram Replication status.
Pastikan semua node yang ditampilkan dalam diagram memiliki nilai
streaming.
Mempromosikan cluster sekunder
Mempromosikan cluster sekunder akan menjadikannya cluster utama mandiri dengan kemampuan baca dan tulis penuh. Gunakan operasi ini terutama untuk disaster recovery saat region yang menghosting cluster utama Anda tidak tersedia.
Secara default, promosi menjadikan cluster sekunder sebagai cluster utama mandiri. Namun, Anda dapat mengaktifkan failover lintas region (Pratinjau) secara opsional untuk mengotomatiskan pembuatan ulang instance utama asli. Failover lintas region hanya didukung untuk topologi dengan satu cluster utama dan satu cluster sekunder.
Untuk mempromosikan cluster sekunder menjadi cluster utama atau menambahkan orkestrasi failover secara opsional, ikuti langkah-langkah berikut:
Konsol
Di konsol Google Cloud , buka halaman Clusters.
Di kolom Resource Name, klik cluster sekunder yang ingin Anda promosikan sebagai cluster utama.
Di halaman Overview, klik Promote cluster.
Pada dialog yang muncul, masukkan ID cluster sekunder untuk mengonfirmasi bahwa Anda ingin mempromosikan cluster.
Klik Promote.
Setelah cluster dipromosikan, kolom Type: Secondary cluster (dengan tingkat ketersediaan tinggi) di halaman Overview akan diperbarui menjadi Type: Highly available with read pools.
gcloud
Untuk mempromosikan cluster sekunder menjadi cluster utama mandiri, gunakan perintah
gcloud alloydb clusters promote:
gcloud alloydb clusters promote SECONDARY_CLUSTER_ID \
--region=REGION_ID \
--project=PROJECT_IDUntuk melakukan promosi dengan orkestrasi failover (Pratinjau), tambahkan flag --failover opsional. Tindakan ini akan otomatis membuat ulang cluster utama asli sebagai cluster sekunder dan mengupdate endpoint terkait untuk merutekan traffic ke cluster utama baru.
gcloud beta alloydb clusters promote SECONDARY_CLUSTER_ID \
--region=REGION_ID \
--project=PROJECT_ID \
--failoverGanti kode berikut:
SECONDARY_CLUSTER_ID: ID cluster sekunder yang ingin Anda promosikan.REGION_ID: ID region cluster sekunder—misalnya,us-central1.PROJECT_ID: ID project cluster sekunder.
Menggunakan endpoint tulis untuk menghindari split-brain
Untuk lebih menyederhanakan alur kerja disaster recovery selama failover lintas region, Google merekomendasikan agar Anda mengelola koneksi database dengan endpoint tulis untuk terhubung ke cluster Anda.
Saat Anda melakukan failover lintas region, AlloyDB akan otomatis mengupdate data DNS endpoint tulis Anda agar mengarah ke cluster utama baru. Hal ini memastikan bahwa traffic tulis baru dialihkan dari primer asli dan menuju ke primer baru.
Sebelum menggunakan endpoint tulis selama failover lintas region, pertimbangkan hal berikut:
- Update DNS langsung: data DNS untuk endpoint tulis diupdate segera setelah promosi.
- Pembaruan metadata yang tertunda: metadata endpoint tulis mungkin masih menampilkan alamat cluster utama asli hingga region cluster utama asli pulih.
Pemulihan data selama failover lintas region
Saat Anda melakukan failover lintas region, AlloyDB akan otomatis mencadangkan cluster utama asli sebelum membuatnya kembali sebagai cluster sekunder. Skenario split-brain terjadi saat cluster utama asli dan cluster utama baru menerima penulisan secara bersamaan. Untuk mencegah skenario tersebut, penulisan ke primer asli dihentikan sebelum cadangan ini diambil. Gunakan cadangan ini untuk memulihkan transaksi yang tidak direplikasi ke cluster sekunder karena jeda selama failover.
Cadangan ini dibuat secara otomatis sebagai bagian dari orkestrasi failover dan berbeda dari cadangan otomatis dan cadangan on-demand yang dijadwalkan secara rutin. Anda dapat menggunakannya untuk membuat cluster sementara yang baru dan merekonsiliasi data yang hilang secara manual.
Cadangan ini menangkap operasi tulis yang diterima oleh cluster utama asli sebelum berhenti, tetapi tidak otomatis menggabungkan operasi tulis tersebut ke dalam cluster utama baru.