Memulihkan instance Cloud SQL dari vault cadangan

Dokumen ini menunjukkan cara memulihkan instance Cloud SQL dari vault cadangan menggunakan konsol Google Cloud atau Google Cloud CLI. Dokumen ini menjelaskan cara memulihkan ke instance baru atau yang sudah ada, mengganti instance sumber, atau melakukan pemulihan point-in-time (PITR).

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

Pemulihan dari bencana dan ketahanan

Layanan Pencadangan dan DR menyediakan opsi pemulihan dari bencana untuk instance Cloud SQL Anda. Cadangan yang disimpan di vault cadangan tidak bergantung pada siklus proses dan project instance sumber.

  • Penghapusan project: Anda dapat memulihkan cadangan meskipun project workload asli yang berisi instance Cloud SQL sumber telah dihapus. Hal ini karena izin dekripsi yang diperlukan untuk cadangan yang dienkripsi CMEK diberikan kepada agen layanan Backup and DR dalam project vault cadangan, bukan project workload. Hal ini memastikan bahwa cadangan Anda tetap dapat diakses dan dipulihkan selama vault cadangan dan kunci Cloud Key Management Service tetap utuh dan agen layanan memiliki izin.

  • Target pemulihan fleksibel: Anda dapat memulihkan ke instance baru dalam project yang sama atau berbeda, sehingga memberikan fleksibilitas dalam skenario pemulihan.

Sebelum memulai

Sebelum memulihkan instance Cloud SQL dari vault cadangan, pastikan Anda memiliki peran yang diperlukan.

Untuk mendapatkan izin yang Anda perlukan untuk memulihkan instance Cloud SQL dari vault cadangan, minta administrator Anda untuk memberi Anda peran IAM berikut:

  • Untuk membuat target pemulihan: Admin Cloud SQL (roles/cloudsql.admin) di project tempat instance 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 instance Cloud SQL dari vault cadangan. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk memulihkan instance Cloud SQL dari vault cadangan:

  • Untuk membuat target pemulihan: cloudsql.instances.restore
  • Untuk membaca cadangan dari brankas: backupdr.bvbackups.useReadOnlyForCloudSqlInstance

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

Memulihkan instance Cloud SQL dari cadangan terbaru

Gunakan petunjuk berikut untuk memulihkan instance Cloud SQL:

Konsol

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

    Buka Cadangan tersimpan

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

  2. Pilih cadangan yang ingin Anda pulihkan. Baik dari halaman detail cadangan untuk cadangan, atau dari menu , pilih Pulihkan.

    Halaman Pemulihan akan ditampilkan tempat Anda memilih opsi pemulihan berikut:

    • Jenis resource telah diisi otomatis dengan Cloud SQL.

    • Di Nama resource, pilih instance Cloud SQL yang akan dipulihkan.

    • Saat Anda mengklik Cadangkan, panel akan terbuka dan menampilkan semua cadangan yang tersedia. Pilih cadangan tertentu yang akan dipulihkan.

    • Untuk Pilih tujuan pemulihan, pilih project yang ingin Anda gunakan untuk memulihkan instance Cloud SQL.

  3. Klik Lanjutkan.

  4. Saat Anda diminta untuk Pilih tujuan pemulihan, pilih salah satu opsi berikut:

    • Pulihkan ke instance baru: membuat instance baru berdasarkan konfigurasi yang disimpan dalam cadangan Anda. Anda dapat menyesuaikan instance setelah pemulihan selesai. Berikan ID Instance baru menggunakan huruf kecil, angka, dan tanda hubung. Awali dengan huruf.
    • Menimpa instance yang ada: pilih instance yang ada untuk ditimpa dari daftar instance yang tersedia.

    • Menimpa instance sumber: menimpa instance saat ini. Semua data saat ini pada instance yang dipilih akan ditimpa, termasuk log pemulihan point-in-time sebelumnya. Data yang ditimpa tidak dapat dipulihkan nanti. Opsi ini tidak direkomendasikan untuk penggunaan produksi.

gcloud

  1. Temukan sumber data yang berisi cadangan yang ingin Anda pulihkan. Anda dapat menemukan sumber data dari project instance Cloud SQL atau project vault cadangan:

    • Dari project instance Cloud SQL: Gunakan data-source-reference

      gcloud alpha backup-dr data-source-references fetch-for-resource-type sqladmin.googleapis.com/Instance \
      --location=LOCATION \
      --project=CSQL_INSTANCE_PROJECT_ID \
      --filter='dataSourceGcpResourceInfo.cloudSqlInstanceProperties.name="projects/CSQL_INSTANCE_PROJECT_ID/instances/CSQL_INSTANCE_ID"' \
      --format="table(RESOURCE_NAME,DATA_SOURCE)"
      

      Ganti kode berikut:

      • LOCATION: lokasi vault cadangan.

      • CSQL_INSTANCE_ID: nama database instance Cloud SQL.

      • CSQL_INSTANCE_PROJECT_ID: project yang berisi instance Cloud SQL.

    • Dari project vault cadangan: Gunakan data-source

      gcloud backup-dr data-sources list \
      --location=LOCATION \
      --project=BACKUP_VAULT_PROJECT_ID \
      --filter='dataSourceGcpResource.cloudSqlInstanceDatasourceProperties.name=projects/CSQL_INSTANCE_PROJECT_ID/instances/CSQL_INSTANCE_ID' \
      --format="table(dataSourceGcpResource.cloudSqlInstanceDatasourceProperties.name:label=RESOURCE_NAME,name:label=DATA_SOURCE)"
      

      Ganti kode berikut:

      • LOCATION: lokasi vault cadangan.

      • CSQL_INSTANCE_ID: nama instance Cloud SQL.

      • CSQL_INSTANCE_PROJECT_ID: project yang berisi instance Cloud SQL.

      • BACKUP_VAULT_PROJECT_ID: project yang berisi vault cadangan.

  2. Buat daftar dan pilih cadangan yang akan dipulihkan dengan mencantumkan semua cadangan di sumber data menggunakan perintah gcloud backup-dr backups list.

    gcloud backup-dr backups list --data-source=DATA_SOURCE \
    --format="table(consistencyTime,backupType,name:label=BACKUP_NAME)"
    
  3. Pulihkan instance Cloud SQL menggunakan perintah gcloud sql backups restore:

    gcloud sql backups restore BACKUP_NAME \
    --restore-instance=RESTORE_INSTANCE \
    --project=RESTORE_PROJECT
    --region=RESTORE_REGION
    

    Ganti kode berikut:

    • BACKUP_NAME: nama vault cadangan yang ingin Anda gunakan untuk memulihkan data.

    • RESTORE_INSTANCE: nama instance Cloud SQL target.

    • RESTORE_PROJECT: project tempat Anda ingin memulihkan instance Cloud SQL.

    • RESTORE_REGION: region tempat Anda ingin memulihkan ke instance Cloud SQL baru. Opsi ini bersifat opsional untuk cadangan regional. Jangan gunakan saat memulihkan ke instance yang ada.

  4. Opsional: untuk mengganti properti lain, lihat Ringkasan perintah Google Cloud CLI Backup and DR Service.

Memulihkan instance Cloud SQL ke point-in-time yang berbeda

Gunakan petunjuk berikut untuk memulihkan instance Cloud SQL ke titik waktu tertentu. Saat memulihkan ke titik waktu tertentu, Anda akan membuat clone Cloud SQL.

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

    Buka Cadangan tersimpan

  2. Di bagian atas tabel, pilih Filter tabel, lalu klik Jenis resource. Pilih Cloud SQL. Hal ini membatasi tampilan hanya pada instance Cloud SQL yang menerapkan rencana pencadangan dan pencadangannya disimpan di vault cadangan dalam project.

  3. Klik Pulihkan dari titik waktu. Halaman Create a clone Cloud SQL akan terbuka.

  4. Ikuti prosedur dalam Melakukan PITR menggunakan vault cadangan.

Langkah berikutnya

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