Memulihkan cluster AlloyDB dari vault cadangan

Dokumen ini menunjukkan cara memulihkan cluster AlloyDB dari vault cadangan menggunakan konsol Google Cloud atau gcloud CLI. Halaman ini menjelaskan cara memulihkan dari cadangan yang disimpan di vault atau melakukan pemulihan point-in-time (PITR).

Untuk mengetahui informasi selengkapnya tentang kemampuan konseptual Backup and DR, lihat Ringkasan Backup and DR. Jika Anda ingin mencadangkan database terlebih dahulu, lihat Mencadangkan cluster AlloyDB ke vault cadangan.

Opsi pemulihan dari bencana untuk cluster AlloyDB Anda.

Cadangan yang disimpan di vault cadangan tidak bergantung pada siklus proses dan project cluster sumber.

Anda dapat memulihkan cadangan meskipun project workload asli yang berisi cluster AlloyDB sumber dihapus. Hal ini karena izin dekripsi yang diperlukan untuk cadangan yang dienkripsi CMEK ditetapkan ke agen layanan Backup and DR di project vault cadangan, bukan project beban kerja. Hal ini memastikan bahwa cadangan Anda tetap dapat diakses dan dipulihkan selama vault cadangan dan kunci brankas Cloud Key Management Service tetap utuh dan agen layanan memiliki izin.

Sebelum memulai

Sebelum memulihkan cluster AlloyDB dari cadangan yang disimpan di vault, pastikan Anda memiliki peran dan izin yang diperlukan.

Untuk mendapatkan izin yang Anda perlukan untuk memulihkan cluster AlloyDB dari cadangan yang disimpan di vault, minta administrator Anda untuk memberi Anda peran IAM berikut:

  • Untuk membuat target pemulihan: Admin AlloyDB (roles/alloydb.admin) di project tempat cluster target berada
  • Untuk membaca cadangan dari vault: Pengguna Pemulihan Backup dan DR (roles/backupdr.restoreUser) di project tempat cadangan sumber berada

Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin yang diperlukan untuk memulihkan cluster AlloyDB dari cadangan yang disimpan. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk memulihkan cluster AlloyDB dari cadangan yang disimpan:

  • Untuk membuat target pemulihan: alloydb.clusters.restore
  • Untuk membaca cadangan dari brankas:
    • backupdr.bvbackups.useReadOnlyForAlloydbCluster
    • backupdr.bvdataSources.useReadOnlyForAlloydbCluster

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Peran agen layanan dan persyaratan versi utama

Karena cadangan bersifat inkremental, satu cadangan dapat dienkripsi oleh beberapa versi kunci Cloud Key Management Service dari kunci brankas jika kunci dirotasi dari waktu ke waktu. Agar operasi pemulihan berhasil, pastikan prasyarat berikut terpenuhi:

  • Semua versi kunci Cloud Key Management Service dari kunci vault yang digunakan untuk pencadangan inkremental harus ada.

  • Agen layanan Backup and DR di project brankas cadangan harus memiliki peran Cloud KMS CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter) pada kunci brankas yang digunakan untuk pencadangan.

Perilaku kunci KMS cluster yang dipulihkan

Jika tidak ada CMEK tertentu yang diberikan selama proses pemulihan, cluster yang dipulihkan secara default akan dienkripsi oleh Google-managed encryption key. Data tidak otomatis dienkripsi oleh kunci brankas atau kunci cluster sumber asli.

Jika CMEK diberikan selama konfigurasi pemulihan, cluster yang dipulihkan akan dienkripsi dengan kunci yang baru ditentukan.

Memulihkan cluster AlloyDB dari cadangan yang disimpan

Untuk memulihkan cluster AlloyDB untuk PostgreSQL dari cadangan yang disimpan di vault, selesaikan tugas di bagian berikut.

Memulihkan cadangan ke cluster baru

Konsol

  1. Di konsol Google Cloud , buka halaman Vaulted backups.

    Buka Cadangan tersimpan

  2. Pilih cadangan yang ingin Anda pulihkan. Di halaman Detail pencadangan untuk pencadangan, atau dari menu , pilih Pulihkan.

    Halaman Pulihkan cadangan akan ditampilkan. Jenis resource akan diisi otomatis dengan AlloyDB.

  3. Di Resource name, pilih cluster AlloyDB yang akan dipulihkan.

  4. Klik Cadangkan. Panel akan muncul dan menampilkan semua cadangan yang tersedia.

  5. Pilih cadangan tertentu yang akan dipulihkan.

  6. Untuk Pilih tujuan pemulihan, pilih project tempat Anda ingin memulihkan cluster AlloyDB.

  7. Klik Lanjutkan.

    Halaman berikutnya menampilkan detail pemulihan sejauh ini, dan meminta Anda untuk Mengonfigurasi cluster baru. Tindakan ini akan membuat cluster AlloyDB baru berdasarkan konfigurasi yang disimpan dalam cadangan Anda. Anda dapat menyesuaikan cluster setelah pemulihan selesai.

  8. Berikan ID Cluster baru menggunakan huruf kecil, angka, dan tanda hubung, yang diawali dengan huruf.

  9. Pilih metode koneksi pribadi. Ada dua metode untuk menghubungkan layanan di jaringan VPC yang dihosting pihak ketiga atau Google Cloud , tanpa menetapkan alamat IP eksternal:

    • Akses layanan pribadi: Menetapkan cluster ke satu jaringan VPC menggunakan koneksi peering. Gunakan opsi ini saat terhubung ke layanan pihak ketiga dan layanan tertentu Google Cloud di jaringan VPC yang sama dengan cluster AlloyDB. Hal ini memerlukan API tambahan.

    • Private Service Connect: Mengaktifkan akses cluster dari satu atau beberapa jaringan VPC menggunakan daftar yang diizinkan dan endpoint Private Service Connect.

gcloud

gcloud beta alloydb clusters restore RESTORED_CLUSTER_ID \
    --project=WORKLOAD_PROJECT_ID \
    --region=REGION \
    --backupdr-backup=BACKUP_NAME

Ganti kode berikut:

  • RESTORED_CLUSTER_ID: ID untuk cluster AlloyDB baru yang Anda pulihkan.

  • WORKLOAD_PROJECT_ID: ID project tempat Anda ingin memulihkan cluster AlloyDB.

  • REGION: region Google Cloud tempat Anda ingin memulihkan cluster AlloyDB.

  • BACKUP_NAME: nama cadangan yang ingin Anda pulihkan.

Membuat instance utama

Setelah Backup and DR selesai membuat cluster, buat instance utama untuk cluster tersebut.

Saat membuat instance utama baru, Anda harus menentukan konfigurasinya, termasuk ukuran dan flag-nya; Backup and DR tidak menyimpan konfigurasi instance sebagai bagian dari pencadangan. Perhatikan bahwa konfigurasi tidak harus sama persis dengan konfigurasi instance utama asli.

Setelah Backup and DR selesai membuat instance, Anda dapat menggunakannya untuk mengakses data yang dipulihkan.

Menyiapkan instance read pool

Selesaikan konfigurasi cluster baru dengan menyiapkan instance kumpulan baca, jika perlu.

Memulihkan cluster AlloyDB ke titik waktu

Untuk memulihkan cluster AlloyDB untuk PostgreSQL ke titik waktu tertentu, selesaikan tugas di bagian berikut.

Persyaratan

  • Agar pemulihan point-in-time (PITR) yang berhasil dari cluster sumber yang dienkripsi CMEK, kunci cluster sumber dan kunci vault harus ada dan dapat diakses.

  • Agen layanan AlloyDB untuk PostgreSQL di project beban kerja harus memiliki peran Cloud KMS CryptoKeyEncrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter) pada kunci cluster sumber, dan agen layanan Backup and DR di project vault cadangan harus memiliki peran Cloud KMS CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter) pada kunci vault.

Memulihkan cadangan ke cluster baru

Konsol

  1. Di konsol Google Cloud , buka halaman Vaulted backups.

    Buka Cadangan tersimpan

    Halaman Cadangan yang diamankan hanya mencantumkan resource data yang telah menerapkan rencana pencadangan dan cadangannya disimpan di vault cadangan dalam project tersebut.

  2. Di bagian atas daftar cadangan, pilih Pulihkan dari titik waktu.

    Panel Restore from a point in time to a new cluster akan muncul, tempat Anda memilih titik waktu untuk dipulihkan dan detail cluster baru yang akan dibuat.

  3. Masukkan waktu target dalam jangka waktu pemulihan cluster ini untuk memulihkan data cluster Anda.

  4. Konfigurasi cluster baru. Tindakan ini akan membuat cluster AlloyDB baru berdasarkan konfigurasi yang disimpan dalam cadangan Anda. Anda dapat menyesuaikan cluster setelah pemulihan selesai.

  5. Berikan ID Cluster baru menggunakan huruf kecil, angka, dan tanda hubung, yang diawali dengan huruf.

  6. Pilih metode koneksi pribadi. Ada dua metode untuk menghubungkan layanan di jaringan VPC yang dihosting pihak ketiga atau Google Cloud , tanpa menetapkan alamat IP eksternal:

    • Akses layanan pribadi: menetapkan cluster ke satu jaringan VPC menggunakan koneksi peering. Gunakan opsi ini saat terhubung ke layanan pihak ketiga dan layanan tertentu Google Cloud di jaringan VPC yang sama dengan cluster AlloyDB. Hal ini memerlukan API tambahan.

    • Private Service Connect: memungkinkan akses cluster dari satu atau beberapa jaringan VPC menggunakan daftar yang diizinkan dan endpoint Private Service Connect.

gcloud

  1. Temukan ID sumber data menggunakan perintah berikut:

    gcloud backup-dr data-source-references fetch-for-resource-type alloydb.googleapis.com/Cluster \
        --location=REGION \
        --project=WORKLOAD_PROJECT_ID \
        --filter='dataSourceGcpResourceInfo.gcp_resourcename="projects/WORKLOAD_PROJECT_NUMBER/locations/REGION/clusters/CLUSTER_NAME'
    
  2. Pulihkan cluster menggunakan ID sumber data yang Anda temukan di langkah sebelumnya:

    gcloud beta alloydb clusters restore RESTORED_CLUSTER_ID \
        --project=WORKLOAD_PROJECT_ID \
        --region=REGION \
        --backupdr-data-source=projects/VAULT_PROJECT_ID/locations/REGION/backupVaults/BV_ID/dataSources/DS_ID \
        --point-in-time=POINT_IN_TIME
    

    Ganti kode berikut:

    • WORKLOAD_PROJECT_ID: ID project tempat Anda ingin memulihkan cluster AlloyDB.

    • REGION: region Google Cloud tempat Anda ingin memulihkan cluster AlloyDB.

    • RESTORED_CLUSTER_ID: ID untuk cluster AlloyDB baru yang Anda pulihkan.

    • VAULT_PROJECT_ID: ID project yang berisi vault cadangan.

    • BV_ID: ID vault cadangan.

    • DS_ID: ID sumber data.

    • POINT_IN_TIME: titik waktu tertentu yang ingin Anda gunakan untuk memulihkan cluster. Contoh nilainya adalah 2025-10-10T10:16:10Z

Membuat instance utama

Setelah Backup and DR selesai membuat cluster, buat instance utama untuk cluster tersebut.

Saat membuat instance utama baru, Anda harus menentukan konfigurasinya, termasuk ukuran dan flag-nya; Backup and DR tidak menyimpan konfigurasi instance sebagai bagian dari pencadangan. Perhatikan bahwa konfigurasi tidak harus sama persis dengan konfigurasi instance utama asli.

Setelah Backup and DR selesai membuat instance, Anda dapat menggunakannya untuk mengakses data yang dipulihkan.

Menyiapkan instance read pool

Selesaikan konfigurasi cluster baru dengan menyiapkan instance kumpulan baca, jika perlu.

Mencantumkan cadangan di vault cadangan

Mencantumkan cadangan dan memilih cadangan yang akan dipulihkan menggunakan gcloud CLI:

  1. Temukan ID sumber data menggunakan perintah berikut:

       gcloud backup-dr data-source-references fetch-for-resource-type alloydb.googleapis.com/Cluster \
         --location=REGION \
         --project=WORKLOAD_PROJECT_ID \
         --filter='dataSourceGcpResourceInfo.gcp_resourcename="projects/WORKLOAD_PROJECT_NUMBER/locations/REGION/clusters/CLUSTER_NAME "'
     ```
    
  2. Buat daftar cadangan menggunakan perintah berikut:

       gcloud backup-dr backups list \
         --project=VAULT_PROJECT_ID \
         --location=REGION \
         --backup-vault=BV_ID \
         --data-source='projects/VAULT_PROJECT_ID/locations/REGION/backupVaults/BV_ID/dataSources/DS_ID'
    

Ganti kode berikut:

  • REGION: Google Cloud region.

  • WORKLOAD_PROJECT_ID: ID project tempat cluster AlloyDB Anda berada.

  • WORKLOAD_PROJECT_NUMBER: nomor project tempat cluster AlloyDB Anda berada.

  • CLUSTER_NAME: nama cluster AlloyDB Anda.

  • VAULT_PROJECT_ID: ID project yang berisi vault cadangan.

  • BV_ID: ID vault cadangan.

  • DS_ID: ID sumber data.

Langkah berikutnya