Halaman ini menjelaskan cara menggunakan replikasi lintas-region AlloyDB untuk PostgreSQL dengan membuat dan menggunakan cluster sekunder.
Untuk mengetahui ringkasan konseptual replikasi lintas-region, lihat Tentang replikasi lintas-region.
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.
Membuat cluster sekunder
Saat Anda membuat cluster sekunder, AlloyDB menyalin dan menerapkan beberapa konfigurasi cluster utama, termasuk pemulihan point-in-time (PITR) dan konfigurasi 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 memperbarui konfigurasi cluster utama setelah membuat cluster sekunder, perubahan tidak akan tersedia di cluster sekunder. Namun, Anda dapat memperbarui 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 yang disebut
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 melakukan peningkatan skala instance utama setelah membuat instance sekunder, AlloyDB tidak akan otomatis melakukan peningkatan skala instance sekunder; Anda harus melakukan peningkatan skala secara manual.
Konsol
Di konsol Google Cloud , buka halaman Clusters.
Klik cluster di kolom Nama Resource.
Di halaman Overview, klik Create secondary cluster.
Konfigurasi cluster sekunder Anda:
- Di kolom Cluster ID, masukkan ID resource untuk cluster sekunder Anda.
- Pilih region untuk cluster sekunder yang berbeda dengan region cluster utama.
- Pilih enkripsi yang dikelola Google default 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 Kunci enkripsi yang dikelola pelanggan (CMEK).
Pilih kunci yang dikelola pelanggan dari menu yang muncul.
Konsol Google Cloud membatasi daftar ini ke 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 informasi selengkapnya, lihat Menggunakan CMEK.
Jika instance utama terkait dienkripsi dengan kunci CMEK, Anda juga harus mengenkripsi cluster sekundernya dengan kunci CMEK.
Konfigurasi 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.SECONDARY_INSTANCE_ID: ID instance sekunder yang ingin Anda buat.REGION_ID: ID region cluster sekunder—misalnya,us-central1.PROJECT_ID: ID project cluster sekunder.LOCATION_ID: Lokasi tempat cluster utama Anda berada—misalnya,us-central1.PRIMARY_CLUSTER_ID: ID cluster utama yang terkait dengan cluster sekunder.SECONDARY_CLUSTER_ID: ID cluster sekunder yang terkait dengan instance sekunder.ALLOWED_PSC_PROJECTS(Opsional): Daftar ID project atau nomor project yang dipisahkan koma yang ingin Anda izinkan akses ke instance—misalnya,my-project-1,12345,my-project-n. Jika cluster Anda menggunakan Private Service Connect sebagai metode untuk terhubung ke instance, Anda harus menetapkan daftar project atau nomor yang diizinkan.--no-enable-automated-backup(Opsional): Nonaktifkan pembuatan pencadangan otomatis di cluster sekunder.
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 akses ke 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_ID \gcloud 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 ID project atau nomor project yang dipisahkan koma yang ingin Anda izinkan akses ke 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 menyetel jaringan eksternal yang diizinkan di 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 Nama Resource.
Di halaman Overview, lihat semua detail tentang cluster sekunder Anda.
Mengupdate instance sekunder
Anda dapat memperbarui 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 tanda 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.
Menambahkan, mengubah, atau menghapus flag database dari instance Anda:
Menambahkan tanda
- Untuk menambahkan flag database ke instance, klik Tambahkan flag.
- Pilih flag database dari daftar flag database baru.
- Berikan nilai untuk tanda.
- Klik Done.
Mengubah tanda
- Untuk mengubah flag database yang ada di instance, luaskan flag database, lalu 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 Perbarui sekunder.
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 spesifikasi tanda database yang dipisahkan koma. Setiap spesifikasi terdiri dari nama tanda, tanda sama dengan (=), dan nilai yang akan ditetapkan ke tanda. Untuk tanda database yang tidak menggunakan nilai, berikan nama tanda 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 Anda
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 Pemeliharaan. Tindakan ini akan tersedia lagi setelah Status berubah menjadi Siap.
Pilih jenis mesin.
Klik Perbarui sekunder.
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 perbarui.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)
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 perintah
lagi 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.
Konfigurasi instance read pool Anda:
- Di kolom Read pool instance ID, masukkan ID untuk instance kumpulan baca.
- Di kolom Jumlah node, 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 cluster.
- Pilih jenis mesin.
Opsional: Tetapkan flag kustom ke instance Anda. Untuk setiap tanda, lakukan hal berikut:
- Klik Tambahkan tanda.
- Pilih flag database dari daftar flag database baru.
- Berikan nilai untuk tanda.
- Klik Done.
Klik Tambahkan kumpulan baca.
Pemulihan dari bencana lanjutan
Untuk skenario disaster recovery tingkat lanjut, AlloyDB mendukung pengalihan dan failover lintas region:
Melakukan pengalihan
Pengalihan memungkinkan Anda membalikkan peran cluster primer dan sekunder tanpa kehilangan data. Gunakan operasi ini untuk migrasi terencana, pemeliharaan rutin, atau latihan pemulihan dari bencana. 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 primer.
- Cluster utama sebelumnya menjadi cluster sekunder, yang mereplikasi dari cluster utama baru.
- Semua cluster sekunder lainnya beralih mereplikasi dari cluster utama baru.
Diagram berikut menggambarkan 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 kondisi baik. Untuk mengetahui informasi selengkapnya, lihat Memantau instance menggunakan dasbor Analisis sistem AlloyDB.
Untuk melakukan pengalihan, ikuti langkah-langkah berikut:
Konsol
Di konsol Google Cloud , buka halaman Clusters.
Di kolom Resource Name, klik cluster sekunder yang ingin Anda lakukan pengalihan sebagai cluster primer.
Di halaman Ringkasan, klik Pengalihan.
Pada dialog yang muncul, masukkan ID cluster sekunder Anda untuk mengonfirmasi bahwa Anda ingin mengalihkan cluster.
Klik Switchover.
Setelah cluster dialihkan, Type: Secondary cluster
di halaman Overview 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_ID \Ganti 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: Verifikasi status replikasi
Untuk memastikan failover selesai dengan cepat dan tanpa kehilangan data, pastikan cluster sekunder menerapkan semua transaksi yang diterima dari cluster utama:
- Hentikan 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 ini muncul dalam daftar sebagai Sekunder: INSTANCE_NAME.
Dalam daftar metrik, temukan diagram Replication lag from primary instance.
Pastikan bahwa diagram menunjukkan jeda minimal.
Nilai jeda
0adalah yang paling 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 Status replikasi.
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 pemulihan dari bencana saat region yang menghosting cluster utama Anda menjadi 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 Nama Resource, klik cluster sekunder yang ingin Anda promosikan sebagai cluster utama.
Di halaman Overview, klik Promote cluster.
Pada dialog yang muncul, masukkan ID cluster sekunder Anda untuk mengonfirmasi bahwa Anda ingin mempromosikan cluster.
Klik Promote.
Setelah cluster dipromosikan, kolom Type: Secondary cluster (highly available) 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 tanda --failover opsional. Tindakan ini akan otomatis membuat ulang primer asli sebagai sekunder dan memperbarui endpoint terkait untuk merutekan traffic ke cluster primer baru.
gcloud alloydb alpha 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 menyederhanakan lebih lanjut alur kerja disaster recovery selama failover lintas region, sebaiknya kelola 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 untuk mengarah ke cluster primer yang baru. Tindakan ini memastikan bahwa traffic penulisan baru dialihkan dari primer asli dan menuju primer baru.
Sebelum menggunakan endpoint tulis selama failover lintas region, pertimbangkan hal berikut:
- Pembaruan DNS langsung: data DNS untuk endpoint tulis diperbarui segera setelah promosi.
- Pembaruan metadata tertunda: metadata endpoint tulis mungkin masih menampilkan alamat primer asli hingga region cluster primer asli pulih.
Pemulihan data selama failover lintas region
Saat Anda melakukan failover lintas region, AlloyDB akan otomatis mencadangkan cluster utama asli sebelum membuatnya ulang sebagai cluster sekunder. Skenario split-brain terjadi saat cluster utama asli dan cluster utama baru menerima operasi tulis secara bersamaan. Untuk mencegah skenario tersebut, penulisan ke primer asli dihentikan sebelum pencadangan ini dilakukan. 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 dengan pencadangan otomatis dan pencadangan on-demand yang dijadwalkan secara rutin. Anda dapat menggunakannya untuk membuat cluster sementara yang baru dan mencocokkan data yang hilang secara manual.
Pencadangan ini merekam operasi tulis yang diterima oleh replika utama asli sebelum berhenti, tetapi tidak secara otomatis menggabungkan operasi tulis ke cluster utama baru