Mencadangkan instance Cloud SQL ke vault cadangan

Halaman ini menjelaskan cara mencadangkan instance Cloud SQL ke vault cadangan, yang menyediakan kekekalan dan retensi yang diterapkan.

Di konsol Google Cloud , Anda dapat mencadangkan instance Cloud SQL ke vault cadangan dengan menerapkan paket pencadangan. Anda dapat mencadangkan dengan salah satu dari dua cara ini. Kedua metode ini memungkinkan Anda menyimpan cadangan dengan aman di vault cadangan, sehingga memberikan cara yang andal untuk memulihkan instance Cloud SQL Anda jika terjadi kehilangan data atau peristiwa tak terduga lainnya.

  • Cadangan terjadwal: mencadangkan instance Cloud SQL secara otomatis pada interval tertentu, seperti harian, mingguan, bulanan, atau tahunan.
  • Pencadangan sesuai permintaan. Anda dapat membuat cadangan sesuai permintaan kapan pun diperlukan. Pencadangan sesuai permintaan berguna untuk membuat cadangan sebelum melakukan perubahan signifikan pada database Anda atau untuk perlindungan data ad hoc.

Sebelum memulai

  1. Aktifkan Backup and DR Service API di tempat instance Cloud SQL berada.

    Mengaktifkan API

  2. Buat brankas cadangan.

  3. Membuat rencana cadangan.

  4. Tetapkan peran dan izin IAM kepada pengguna pencadangan.

  5. Beri akses vault cadangan di project Cloud SQL.

  6. Siapkan Observability Analytics di bucket Anda untuk memantau tugas pencadangan Backup and DR.

  7. Untuk instance yang mendukung CMEK: jika instance Cloud SQL sumber dilindungi dengan Kunci Enkripsi yang Dikelola Pelanggan (CMEK), Anda harus memberikan peran roles/cloudkms.cryptoKeyEncrypterDecrypter Identity and Access Management kepada agen layanan Backup and DR Service. Izin ini diperlukan pada kunci Cloud Key Management Service yang digunakan oleh instance Cloud SQL sumber.

    Agen layanan Backup and DR Service berada di project tempat vault cadangan berada. Berikan peran ini ke akun layanan sebelum mencoba melindungi instance Cloud SQL yang mendukung CMEK.

Peran dan izin IAM untuk pengguna pencadangan

Untuk mendapatkan izin yang diperlukan untuk mengonfigurasi pencadangan terjadwal atau menjalankan pencadangan sesuai permintaan, minta administrator untuk memberi Anda peran IAM berikut pada project vault cadangan Anda:

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

Peran bawaan ini berisi izin yang diperlukan untuk mengonfigurasi pencadangan terjadwal atau menjalankan pencadangan sesuai permintaan. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk mengonfigurasi pencadangan terjadwal atau menjalankan pencadangan on-demand:

  • backupdr.backupPlans.list
  • backupdr.backupPlanAssociations.createForCloudSqlInstance
  • backupdr.backupPlanAssociations.fetchForCloudSqlInstance
  • backupdr.backupPlanAssociations.list
  • backupdr.backupPlanAssociations.getForCloudSqlInstance
  • backupdr.backupPlanAssociations.triggerBackupForCloudSqlInstance
  • backupdr.backupPlanAssociations.deleteForCloudSqlInstance
  • backupdr.backupPlans.useForCloudSqlInstance
  • backupdr.locations.list
  • backupdr.operations.get
  • cloudasset.assets.searchAllResources

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

Izin dinamis yang diperlukan untuk setiap panggilan API

Tabel berikut mencantumkan izin dinamis yang diperlukan untuk setiap panggilan API:

Resource Tindakan yang akan Dilakukan pada Resource Izin yang diperlukan untuk setiap panggilan API Project tempat tugas harus ditetapkan
Vault cadangan Buat BackupVault backupdr.backupVaults.create Project admin
Menghapus BackupVault backupdr.backupVaults.delete Project admin
Memperbarui BackupVault backupdr.backupVaults.update Project admin
Mencantumkan BackupVault backupdr.backupVaults.list Project admin
Mendapatkan BackupVault backupdr.backupVaults.get Project admin
Rencana cadangan Membuat BackupPlan backupdr.backupPlans.create Project admin
Menghapus BackupPlan backupdr.backupPlans.delete Project admin
Mendapatkan BackupPlan backupdr.backupPlans.get Project admin
Mencantumkan Rencana Cadangan backupdr.backupPlans.list Project admin
Pengaitan Rencana Cadangan Buat Asosiasi Rencana Cadangan cloudsql.instances.updateBackupDrConfig Project beban kerja
backupdr.backupPlanAssociations.createForCloudSqlInstance Project beban kerja
backupdr.backupPlans.useForCloudSqlInstance Project admin
Menghapus Kaitan Rencana Cadangan backupdr.backupPlanAssociations.deleteForCloudSqlInstance Project beban kerja
cloudsql.instances.updateBackupDrConfig Project beban kerja
Memicu pencadangan sesuai permintaan pada Asosiasi Rencana Cadangan backupdr.backupPlanAssociations.triggerBackupForCloudSqlInstance Project beban kerja
Mendapatkan Pengaitan Rencana Cadangan backupdr.backupPlanAssociations.getForCloudSqlInstance Project beban kerja
Mencantumkan Pengaitan Rencana Cadangan backupdr.backupPlanAssociations.list Project beban kerja
Mengambil Pengaitan Rencana Cadangan backupdr.backupPlanAssociations.fetchForCloudSqlInstance Project beban kerja
Sumber Data Mendapatkan DataSource backupdr.bvdataSources.get Project admin
Mencantumkan Sumber Data backupdr.backupPlanAssociations.list Project admin
Pemulihan PiTR backupdr.bvdataSources.useReadOnlyForCloudSqlInstance Project admin
Cadangan Mendapatkan Cadangan backupdr.bvbackups.get Project admin
Mencantumkan Cadangan backupdr.bvbackups.list Project admin
Mengambil Cadangan backupdr.bvbackups.fetchForCloudSqlInstance Project admin
Hapus Cadangan backupdr.bvbackups.delete Project admin
Pulihkan Cadangan backupdr.bvbackups.useReadOnlyForCloudSqlInstance Project admin
Referensi Sumber Data Mendapatkan Referensi DataSource backupdr.dataSourceReferences.getForCloudSqlInstance Project beban kerja
Mencantumkan Referensi DataSource backupdr.dataSourceReferences.list Project beban kerja
Mengambil Referensi Sumber Data backupdr.dataSourceReferences.fetchForCloudSqlInstance Project beban kerja
Operasi Mencantumkan Operasi backupdr.operations.list Project terkait
Mendapatkan Operasi backupdr.operations.get Project terkait

Memberikan akses vault cadangan di project Cloud SQL

Untuk mencadangkan instance Cloud SQL dalam project yang berbeda dengan tempat brankas cadangan dibuat, Anda harus memberikan peran IAM Backup and DR Cloud SQL Operator (roles/backupdr.cloudSqlOperator) kepada agen layanan brankas cadangan dalam project Cloud SQL. Jika project brankas cadangan tempat cadangan akan disimpan berbeda dengan project Cloud SQL, tetapkan peran ke agen layanan brankas cadangan dalam project Cloud SQL.

Untuk mencadangkan instance Cloud SQL dalam project yang sama tempat brankas cadangan dibuat, tidak ada peran yang perlu diberikan.

Untuk mengetahui informasi tentang cara memberikan peran kepada agen layanan vault cadangan dalam project yang ingin Anda cadangkan, lihat Memberikan peran kepada agen layanan.

Mengonfigurasi pencadangan terjadwal

Gunakan petunjuk berikut untuk mengonfigurasi pencadangan terjadwal untuk instance Cloud SQL.

Konsol

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

    Buka Cadangan tersimpan

  2. Klik Jadwalkan pencadangan.

  3. Dari daftar Jenis Resource, pilih Cloud SQL.

  4. Dari daftar Project, pilih project tempat instance Cloud SQL berada.

  5. Dari daftar Region, pilih region tempat instance Anda berada.

  6. Dari daftar Resources, klik Browse. Pilih instance Cloud SQL yang ingin Anda cadangkan, lalu klik Selesai.

  7. Klik Lanjutkan.

  8. Dari daftar Paket pencadangan, klik Pilih.

  9. Pilih rencana pencadangan yang ingin Anda gunakan untuk melindungi instance Cloud SQL.

  10. Klik Done.

  11. Tinjau detail pencadangan, lalu klik Jadwalkan.

gcloud

  1. Buat rencana cadangan dan instance Cloud SQL.

  2. Konfigurasi pencadangan terjadwal menggunakan perintah gcloud backup-dr backup-plan-associations create:

      gcloud backup-dr backup-plan-associations create BACKUP_PLAN_ASSOCIATION_NAME \
          --location=CSQL_REGION \
          --project=CSQL_PROJECT_ID \
          --resource=projects/CSQL_PROJECT_ID/instances/CSQL_INSTANCE_ID \
          --resource-type=sqladmin.googleapis.com/Instance \
          --backup-plan=projects/PROJECT_ID/locations/LOCATION/backupPlans/BACKUP_PLAN
    

    Ganti kode berikut:

    • BACKUP_PLAN_ASSOCIATION_NAME: nama asosiasi rencana cadangan.

    • CSQL_REGION: region tempat instance Cloud SQL berada.

    • CSQL_PROJECT_ID: nama project tempat instance Cloud SQL berada.

    • CSQL_INSTANCE_ID: ID instance Cloud SQL.

    • PROJECT_ID: nama project tempat rencana pencadangan berada.

    • LOCATION: lokasi instance.

    • BACKUP_PLAN: nama rencana cadangan.

Terraform

Anda dapat menggunakan resource Terraform untuk mengonfigurasi cadangan terjadwal.


# Before creating a backup plan association, you need to create backup plan (google_backup_dr_backup_plan)
# and Cloud SQL Instance (google_sql_database_instance).
resource "google_backup_dr_backup_plan_association" "csql_association" {
  provider                   = google-beta
  location                   = "us-central1"
  backup_plan_association_id = "my-csql-bpa"
  resource                   = "projects/${google_sql_database_instance.default.project}/instances/${google_sql_database_instance.default.name}"
  resource_type              = "sqladmin.googleapis.com/Instance"
  backup_plan                = google_backup_dr_backup_plan.csql_default.name
}

Mencantumkan instance yang pencadangannya dijadwalkan

Gunakan petunjuk berikut untuk mencantumkan instance Cloud SQL yang pencadangannya dijadwalkan.

Konsol

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

    Buka Cadangan tersimpan

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

gcloud

Mencantumkan instance Cloud SQL yang pencadangannya dijadwalkan menggunakan perintah gcloud alpha backup-dr backup-plan-associations fetch-for-resource-type:

  gcloud alpha backup-dr backup-plan-associations fetch-for-resource-type sqladmin.googleapis.com/Instance \
  --location=LOCATION \
  --project=PROJECT_ID

Ganti kode berikut:

  • LOCATION: lokasi pencadangan terjadwal.

  • PROJECT_ID: nama project tempat instance Cloud SQL berada.

Pencadangan sesuai permintaan

Anda dapat memulai pencadangan sesuai permintaan untuk instance Cloud SQL dengan rencana pencadangan dengan memicu aturan pencadangan pilihan Anda agar segera dijalankan. Pencadangan sesuai permintaan biasanya hanya merekam data yang berubah sejak pencadangan terakhir (inkremental).

Saat membuat cadangan sesuai permintaan, Anda dapat memilih aturan dari rencana cadangan yang terkait dengan instance Cloud SQL. Aturan ini menentukan kapan pencadangan sesuai permintaan dihapus. Anda dapat memeriksa status tugas pencadangan dari halaman Tugas. Untuk mengetahui informasi selengkapnya, lihat Memantau tugas pencadangan dan pemulihan di konsol Google Cloud .

Membuat Pencadangan Sesuai Permintaan

Gunakan petunjuk berikut untuk membuat cadangan on-demand.

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 rencana pencadangan dan cadangannya disimpan di vault cadangan dalam project.

  2. Pilih resource yang akan dicadangkan. Dari menu , atau dari halaman detail untuk resource, pilih Buat pencadangan sesuai permintaan.

  3. Di jendela Buat cadangan on demand, pilih aturan pencadangan yang akan digunakan lalu klik Buat.

  4. Untuk melihat status tugas pencadangan sesuai permintaan, klik Notifikasi.

gcloud

  1. Buat cadangan on-demand. Mulai pencadangan sesuai permintaan menggunakan asosiasi rencana pencadangan yang ada. Tentukan ID aturan untuk menentukan periode habis masa berlaku untuk pencadangan tunggal sesuai permintaan ini:

    gcloud backup-dr backup-plan-associations trigger-backup BACKUP_PLAN_ASSOCIATION_NAME \
    --backup-rule-id=RULE_ID \
    --project=PROJECT_ID \
    --location=LOCATION \
    [--no-async]
    

    Ganti kode berikut:

    • BACKUP_PLAN_ASSOCIATION_NAME: nama asosiasi rencana cadangan.

    • RULE_ID: nama aturan pencadangan yang ingin Anda kaitkan untuk menjalankan pencadangan sesuai permintaan.

    • PROJECT_ID: nama project.

    • LOCATION: lokasi pencadangan terjadwal.

Menghapus perlindungan dari instance Cloud SQL

Anda dapat menghapus perlindungan dari instance Cloud SQL dengan menghapus rencana cadangan yang diterapkan ke instance. Menghapus rencana pencadangan dari instance Cloud SQL tidak akan menghapus cadangan yang dibuat saat rencana pencadangan digunakan. Anda masih dapat mengakses dan mengelola cadangan yang ada ini hingga masa berlakunya habis.

Gunakan petunjuk berikut untuk menghapus perlindungan dari instance Cloud SQL:

Konsol

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

    Buka Cadangan tersimpan

  2. Klik nama database yang ingin Anda hapus paket pencadangannya.

  3. Pilih Hapus rencana pencadangan.

gcloud

Membatalkan perlindungan instance Cloud SQL.

  gcloud backup-dr backup-plan-associations delete BACKUP_PLAN_ASSOCIATION_NAME \
  --project=PROJECT_ID \
  --location=LOCATION

Ganti kode berikut:

  • BACKUP_PLAN_ASSOCIATION_NAME: nama asosiasi rencana cadangan yang ingin Anda hapus.

  • PROJECT_ID: nama project.

  • LOCATION: lokasi pencadangan terjadwal.