Menggunakan replikasi lintas-region

Halaman ini menjelaskan cara menggunakan replikasi lintas-region AlloyDB for PostgreSQL dengan membuat dan menggunakan cluster sekunder.

Untuk mengetahui ringkasan konseptual replikasi lintas-region, lihat Tentang 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 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 cadangan, ke cluster sekunder. AlloyDB tidak menambahkan instance kumpulan baca ke cluster sekunder setelah membuatnya, berapa pun jumlah instance kumpulan baca yang ada di cluster primer.

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 primer. Semua cluster sekunder mereplikasi dari satu instance utama. Jika Anda mempromosikan cluster sekunder, cluster sekunder tersebut akan menjadi cluster utama yang independen.

Diagram berikut menggambarkan cara mempromosikan cluster sekunder yang disebut cluster-2 di us-east4:

Contoh mempromosikan cluster sekunder.

Gambar 1. Contoh mempromosikan cluster sekunder.

Untuk membuat cluster sekunder dan instance sekunder AlloyDB, ikuti langkah-langkah berikut:

Konsol

  1. Di konsol Google Cloud , buka halaman Clusters.

    Buka Cluster

  2. Klik cluster di kolom Nama Resource.

  3. Di halaman Overview, klik Create secondary cluster.

  4. Konfigurasi cluster sekunder Anda:

    1. Di kolom Cluster ID, masukkan ID resource untuk cluster sekunder Anda.
    2. Pilih region untuk cluster sekunder yang berbeda dengan region cluster utama.
    3. 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:

    1. Klik Opsi enkripsi lanjutan.
    2. Pilih Kunci enkripsi yang dikelola pelanggan (CMEK).
    3. Pilih kunci yang dikelola pelanggan dari menu yang muncul.

      Konsol Google Cloud membatasi daftar ini ke kunci dalam project Google Cloud dan region yang sama dengan cluster baru.

      Untuk menggunakan kunci yang tidak ada dalam daftar ini, ikuti langkah-langkah berikut:

      1. Klik Tidak melihat kunci Anda? Masukkan nama resource kunci.
      2. Masukkan nama resource di kolom Nama resource utama.
      3. Klik Simpan.
      4. Klik Lanjutkan.

    Penggunaan kunci CMEK dengan AlloyDB memerlukan 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.

  5. Konfigurasi instance sekunder Anda:

    1. Di kolom Instance ID, masukkan ID resource untuk instance sekunder Anda. ID resource harus unik dalam cluster.
  6. Klik Buat kluster.

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_ID
 gcloud 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 tanda allowed-psc-projects untuk menetapkan daftar ID project 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,dan 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.

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_IPV4

Secara 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:

  1. Di konsol Google Cloud , buka halaman Clusters.

    Buka Cluster

  2. Klik cluster sekunder di kolom Nama Resource.

  3. 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

  1. Di konsol Google Cloud , buka halaman Clusters.

    Buka Cluster

  2. Di kolom Resource Name, klik cluster sekunder yang ingin Anda ubah.

  3. Di halaman Overview, buka Instances in your cluster, pilih instance sekunder, lalu klik Edit secondary.

  4. Menambahkan, mengubah, atau menghapus tanda database dari instance Anda:

    Menambahkan tanda

    1. Untuk menambahkan tanda database ke instance Anda, klik Tambahkan tanda.
    2. Pilih tanda dari daftar Tanda database baru.
    3. Berikan nilai untuk tanda.
    4. Klik Selesai.

    Mengubah tanda

    1. Untuk mengubah flag database yang ada di instance Anda, luaskan flag database dan ubah nilai flag yang ada di bagian Edit flag database.
    2. Klik Selesai.

    Menghapus tanda

    1. Untuk menghapus tanda database dari instance Anda, pilih tanda, lalu klik ikon hapus.
    2. Klik Selesai.
  5. 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_ID

Ganti 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 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 Anda

Untuk menskalakan jenis mesin instance sekunder, selesaikan langkah-langkah berikut:

Konsol

  1. Di konsol Google Cloud , buka halaman Clusters.

    Buka Cluster

  2. Di kolom Resource Name, klik cluster sekunder yang ingin Anda ubah.

  3. 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.

  4. Pilih jenis mesin.

  5. 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_ID

Ganti 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)
  • 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:

  1. Di konsol Google Cloud , buka halaman Clusters.

    Buka Cluster

  2. Di kolom Nama Resource, klik cluster sekunder yang ingin Anda tambahi instance kumpulan baca.

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

  4. Konfigurasi instance kumpulan baca Anda:

    1. Di kolom Read pool instance ID, masukkan ID untuk instance kumpulan baca.
    2. 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.
    3. Pilih jenis mesin.
    4. Opsional: Tetapkan flag kustom ke instance Anda. Untuk setiap tanda, lakukan hal berikut:

      1. Klik Tambahkan tanda.
      2. Pilih tanda dari daftar Tanda database baru.
      3. Berikan nilai untuk tanda.
      4. Klik Selesai.
  5. Klik Tambahkan kumpulan baca.

Mempromosikan cluster sekunder

Sebelum mempromosikan cluster sekunder, lakukan langkah-langkah berikut untuk memverifikasi bahwa cluster sekunder telah menerapkan semua transaksi yang diterima dari cluster utama:

  1. Hentikan semua penulisan ke cluster utama.
  2. Periksa status replikasi cluster sekunder dengan menyelesaikan langkah-langkah berikut:

    1. Di konsol Google Cloud , buka halaman Clusters.

      Buka Cluster

    2. Dalam daftar cluster, klik nama cluster sekunder yang ingin Anda promosikan.

    3. Di halaman detail cluster, klik Monitoring.

    4. Dalam daftar Monitoring, pilih instance sekunder. Alamat ini muncul dalam daftar sebagai Sekunder: INSTANCE_NAME.

    5. Dalam daftar metrik, temukan diagram Jeda replikasi dari instance utama.

    6. Pastikan bahwa diagram menunjukkan jeda minimal.

      Nilai jeda 0 adalah yang paling ideal. Jika jedanya lebih besar dari 0, Anda masih dapat mempromosikan cluster sekunder, dengan risiko kehilangan beberapa transaksi terbaru yang sudah di-commit di cluster utama.

    7. Dalam daftar metrik, temukan diagram Status replikasi.

    8. Pastikan semua node yang ditampilkan dalam diagram memiliki nilai streaming.

Untuk mempromosikan cluster sekunder menjadi cluster utama, ikuti langkah-langkah berikut:

Konsol

  1. Di konsol Google Cloud , buka halaman Clusters.

    Buka Cluster

  2. Di kolom Nama Resource, klik cluster sekunder yang ingin Anda promosikan sebagai cluster utama.

  3. Di halaman Overview, klik Promote cluster.

  4. Pada dialog yang muncul, masukkan ID cluster sekunder Anda untuk mengonfirmasi bahwa Anda ingin mempromosikan cluster.

  5. Klik Promote.

    Setelah cluster dipromosikan, kolom Type: Secondary cluster (highly available) di halaman Overview akan diperbarui menjadi Type: Highly available with read pools.

gcloud

Gunakan perintah gcloud alloydb clusters promote:

 gcloud alloydb clusters promote SECONDARY_CLUSTER_ID \
 --region=REGION_ID \
 --project=PROJECT_ID \

Ganti 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.

Melakukan pengalihan

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 Insight Sistem AlloyDB.

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:

Contoh melakukan pengalihan ke salah satu dari dua cluster sekunder.

Gambar 2. Contoh melakukan pengalihan ke salah satu dari dua cluster sekunder.

Untuk melakukan pengalihan, ikuti langkah-langkah berikut:

Konsol

  1. Di konsol Google Cloud , buka halaman Clusters.

    Buka Cluster

  2. Di kolom Resource Name, klik cluster sekunder yang ingin Anda lakukan pengalihan sebagai cluster primer.

  3. Di halaman Ringkasan, klik Pengalihan.

  4. Pada dialog yang muncul, masukkan ID cluster sekunder Anda untuk mengonfirmasi bahwa Anda ingin mengalihkan cluster.

  5. Klik Switchover.

Setelah cluster dialihkan, kolom 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_ID \

Ganti 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.

Langkah berikutnya