Memulihkan instance Cloud SQL dari vault cadangan

Dokumen ini menunjukkan cara memulihkan instance Cloud SQL dari vault cadangan menggunakan Google Cloud konsol atau gcloud CLI. Dokumen ini menjelaskan cara memulihkan ke instance baru atau yang sudah ada, menimpa 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

Backup and DR Service menyediakan opsi pemulihan dari bencana untuk instance Cloud SQL Anda. Cadangan yang disimpan di vault cadangan bersifat independen dari siklus proses dan project instance sumber.

  • Penghapusan project: Anda dapat memulihkan cadangan meskipun workload asli project 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 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 yang 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 diperlukan untuk memulihkan instance Cloud SQL dari vault cadangan, minta administrator Anda untuk memberikan peran IAM berikut:

  • Untuk membuat target pemulihan: Cloud SQL Admin (roles/cloudsql.admin) di project tempat instance target berada
  • Untuk membaca cadangan dari vault: Backup and DR Restore User (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 yang telah ditetapkan 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 vault: 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, buka halaman Vaulted backups. Google Cloud

    Buka Vaulted backups

    Halaman Vaulted backups hanya mencantumkan resource data yang memiliki rencana pencadangan yang diterapkan dan cadangannya disimpan di vault cadangan dalam project tersebut.

  2. Pilih cadangan yang ingin Anda pulihkan. Dari halaman detail cadangan, atau dari menu, pilih **Restore**.

    Halaman Restore menampilkan tempat Anda memilih opsi pemulihan berikut:

    • Resource type diisi otomatis dengan Cloud SQL.

    • Di Resource name, pilih instance Cloud SQL yang akan dipulihkan.

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

    • Untuk Choose the restore destination, pilih project tempat Anda ingin memulihkan instance Cloud SQL.

  3. Klik Continue.

  4. Saat Anda diminta untuk Choose restore destination, pilih salah satu opsi berikut:

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

    • Overwrite the source instance: menimpa instance Anda 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. Tindakan 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. Cantumkan 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 tempat Anda ingin 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 gcloud CLI Backup and DR Service.

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

Gunakan petunjuk berikut untuk memulihkan instance Cloud SQL ke point-in-time. Saat Anda memulihkan ke point-in-time, Anda akan membuat clone Cloud SQL.

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

    Buka Vaulted backups

  2. Di bagian atas tabel, pilih Filter table , lalu klik Resource type. Pilih Cloud SQL. Tindakan ini membatasi tampilan hanya ke instance Cloud SQL yang memiliki rencana pencadangan yang diterapkan dan cadangannya disimpan di vault cadangan dalam project.

  3. Klik Restore from a point in time. Halaman Cloud SQL Create a clone akan terbuka.

  4. Ikuti prosedur di Melakukan PITR menggunakan vault cadangan.

Langkah berikutnya

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