Halaman ini menjelaskan cara mencadangkan instance Cloud SQL ke vault cadangan, yang memberikan keabadian dan retensi yang diterapkan.
Di konsol Google Cloud , Anda dapat mencadangkan instance Cloud SQL ke brankas cadangan dengan menerapkan rencana 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 jika terjadi kehilangan data atau peristiwa tak terduga lainnya.
- Pencadangan terjadwal: mencadangkan instance Cloud SQL secara otomatis pada interval tertentu, seperti harian, mingguan, bulanan, atau tahunan.
- Pencadangan on-demand. Anda dapat membuat pencadangan on-demand kapan pun diperlukan. Pencadangan on-demand berguna untuk membuat cadangan sebelum melakukan perubahan signifikan pada database Anda atau untuk perlindungan data ad hoc.
Sebelum memulai
Aktifkan Backup and DR API di tempat instance Cloud SQL berada.
Siapkan Observability Analytics di bucket Anda untuk memantau tugas pencadangan Backup and DR.
Untuk instance yang mendukung CMEK: jika instance Cloud SQL sumber dilindungi dengan kunci enkripsi yang dikelola pelanggan (CMEK), Anda harus memberikan peran Identity and Access Management
roles/cloudkms.cryptoKeyEncrypterDecrypterkepada agen layanan Backup and DR. Izin ini diperlukan pada kunci Cloud Key Management Service yang digunakan oleh instance Cloud SQL sumber.Agen layanan Backup and DR Service berada dalam 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 cadangan
Untuk mendapatkan izin yang diperlukan untuk mengonfigurasi pencadangan terjadwal atau menjalankan pencadangan on-demand, minta administrator untuk memberi Anda peran IAM berikut pada project brankas cadangan:
- Backup and DR Backup User (
roles/backupdr.backupUser) - Viewer (
roles/viewer)
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 on-demand. 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.updateForCloudSqlInstance -
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 yang akan diberi izin |
|---|---|---|---|
| Vault cadangan | Membuat vault cadangan | backupdr.backupVaults.create |
Project admin |
| Menghapus vault cadangan | backupdr.backupVaults.delete |
Project admin | |
| Memperbarui vault cadangan | backupdr.backupVaults.update |
Project admin | |
| Mencantumkan vault cadangan | backupdr.backupVaults.list |
Project admin | |
| Mendapatkan vault cadangan | backupdr.backupVaults.get |
Project admin | |
| Rencana cadangan | Buat rencana cadangan | backupdr.backupPlans.create |
Project admin |
| Menghapus rencana pencadangan | backupdr.backupPlans.delete |
Project admin | |
| Mendapatkan rencana pencadangan | backupdr.backupPlans.get |
Project admin | |
| Mencantumkan rencana pencadangan | backupdr.backupPlans.list |
Project admin | |
| Memperbarui rencana pencadangan | backupdr.backupPlans.update |
Project admin | |
| Mendapatkan revisi rencana pencadangan | backupdr.backupPlanRevisions.get |
Project admin | |
| Mencantumkan revisi rencana pencadangan | backupdr.backupPlanRevisions.list |
Project admin | |
| Membuat revisi rencana pencadangan | backupdrproducer.backupPlanRevisions.create |
Project admin | |
| Menghapus revisi paket pencadangan | backupdrproducer.backupPlanRevisions.delete |
Project admin | |
| Pengaitan rencana pencadangan | Membuat pengaitan rencana pencadangan | cloudsql.instances.updateBackupDrConfigbackupdr.backupPlanAssociations.createForCloudSqlInstancebackupdr.backupPlans.useForCloudSqlInstance |
Project workload Project workload Project admin |
| Menghapus pengaitan paket pencadangan | backupdr.backupPlanAssociations.deleteForCloudSqlInstancecloudsql.instances.updateBackupDrConfig |
Project workload Project workload |
|
| Memicu pencadangan on-demand pada pengaitan rencana pencadangan | backupdr.backupPlanAssociations.triggerBackupForCloudSqlInstance |
Project workload | |
| Mendapatkan pengaitan rencana pencadangan | backupdr.backupPlanAssociations.getForCloudSqlInstance |
Project workload | |
| Mencantumkan pengaitan rencana pencadangan | backupdr.backupPlanAssociations.list |
Project workload | |
| Mengambil pengaitan rencana pencadangan | backupdr.backupPlanAssociations.fetchForCloudSqlInstance |
Project workload | |
| Mengubah pengaitan rencana pencadangan | backupdr.backupPlanAssociations.updateForCloudSqlInstance |
Project workload | |
| Sumber data | Mendapatkan sumber data | backupdr.bvdataSources.get |
Project admin |
| Mencantumkan sumber data | backupdr.backupPlanAssociations.list |
Project admin | |
| Pemulihan point-in-time | 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 | |
| Menghapus cadangan | backupdr.bvbackups.delete |
Project admin | |
| Memulihkan cadangan | backupdr.bvbackups.useReadOnlyForCloudSqlInstance |
Project admin | |
| Referensi sumber data | Mendapatkan referensi sumber data | backupdr.dataSourceReferences.getForCloudSqlInstance |
Project workload |
| Mencantumkan referensi sumber data | backupdr.dataSourceReferences.list |
Project workload | |
| Mengambil referensi sumber data | backupdr.dataSourceReferences.fetchForCloudSqlInstance |
Project workload | |
| Operasi | Mencantumkan operasi | backupdr.operations.list |
Project masing-masing |
| Mendapatkan operasi | backupdr.operations.get |
Project masing-masing |
Memberikan akses vault cadangan di project Cloud SQL
Untuk mencadangkan instance Cloud SQL di project yang berbeda dengan tempat
pembuatan vault cadangan, Anda harus memberikan
peran IAM Backup and DR Cloud SQL Operator (roles/backupdr.cloudSqlOperator)
ke agen layanan vault cadangan dalam
project Cloud SQL. Jika project vault cadangan tempat cadangan akan disimpan berbeda dengan project Cloud SQL, tetapkan peran ke agen layanan vault cadangan dalam project Cloud SQL.
Untuk mencadangkan instance Cloud SQL dalam project yang sama tempat vault 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
Di konsol Google Cloud , buka halaman Vaulted backups.
Klik Schedule backup.
Dari daftar Resource Type, pilih Cloud SQL.
Dari daftar Project, pilih project tempat instance Cloud SQL berada.
Dari daftar Region, pilih region tempat instance Anda berada.
Dari daftar Fasilitas, klik Jelajahi. Pilih instance Cloud SQL yang ingin Anda cadangkan, lalu klik Done.
Klik Lanjutkan.
Dari daftar Backup plan, klik Select.
Pilih rencana pencadangan yang ingin Anda gunakan untuk melindungi instance Cloud SQL.
Klik Done.
Tinjau detail pencadangan, lalu klik Schedule.
gcloud
Buat rencana cadangan dan instance Cloud SQL.
Konfigurasikan 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_PLANGanti kode berikut:
BACKUP_PLAN_ASSOCIATION_NAME: nama pengaitan rencana pencadangan.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 pencadangan terjadwal.
Mengubah paket cadangan terkait untuk instance Cloud SQL
Anda dapat menukar rencana pencadangan yang diterapkan ke instance Cloud SQL dengan rencana pencadangan lain. Paket cadangan yang ingin Anda gunakan harus memenuhi kriteria berikut:
Paket pencadangan berada di vault cadangan yang sama.
Paket pencadangan berada di region yang sama dengan instance Cloud SQL.
Gunakan petunjuk berikut untuk mengubah rencana pencadangan yang terkait dengan instance Cloud SQL.
Konsol
Di konsol Google Cloud , buka halaman Vaulted backups Backup and DR.
Halaman Cadangan yang disimpan hanya mencantumkan instance yang memiliki (atau sebelumnya memiliki) rencana cadangan yang diterapkan atau cadangannya disimpan di brankas cadangan dalam project.
Pilih sumber data yang akan mendapatkan paket berbeda. Dari halaman detail cadangan untuk cadangan, atau dari menu , pilih Change backup plan. Jendela Select a backup plan hanya mencantumkan rencana pencadangan yang valid untuk instance ini.
Pilih rencana pencadangan, lalu klik Terapkan.
gcloud
Mengubah rencana pencadangan yang ditetapkan.
gcloud backup-dr backup-plan-associations update BACKUP_PLAN_ASSOCIATION_NAME \ --workload-project=INSTANCE_PROJECT_ID \ --location=INSTANCE_REGION \ --backup-plan=BACKUP_PLAN \ --project=SELECTED_BACKUP_PLAN_PROJECT_IDGanti kode berikut:
BACKUP_PLAN_ASSOCIATION_NAME: nama resource pengaitan rencana pencadangan.INSTANCE_PROJECT_ID: project ID instance Cloud SQL.INSTANCE_REGION: lokasi instance Cloud SQL.BACKUP_PLAN: nama rencana cadangan yang ingin Anda gunakan.SELECTED_BACKUP_PLAN_PROJECT_ID: project ID dari rencana pencadangan yang dipilih.
Mencantumkan instance yang pencadangannya dijadwalkan
Gunakan petunjuk berikut untuk mencantumkan instance Cloud SQL yang pencadangannya dijadwalkan.
Konsol
Di konsol Google Cloud , buka halaman Vaulted backups.
Di bagian atas tabel, pilih Filter table > Resource type. Pilih Cloud SQL. Tindakan ini membatasi tampilan hanya untuk instance Cloud SQL yang memiliki paket cadangan yang diterapkan dan cadangannya disimpan di vault cadangan dalam project.
gcloud
Cantumkan 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 on-demand untuk instance Cloud SQL dengan rencana pencadangan dengan memicu aturan pencadangan pilihan Anda untuk segera dijalankan. Pencadangan sesuai permintaan biasanya hanya mencakup data yang berubah sejak pencadangan inkremental terakhir.
Saat membuat cadangan on-demand, Anda dapat memilih aturan dari rencana cadangan yang terkait dengan instance Cloud SQL. Aturan ini menentukan kapan cadangan on-demand dihapus. Anda dapat memeriksa status tugas pencadangan dari halaman Jobs. 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
Di konsol Google Cloud , buka halaman Vaulted backups.
Halaman Vaulted backups hanya mencantumkan resource data yang memiliki rencana pencadangan yang diterapkan dan cadangannya disimpan di vault cadangan dalam project.
Pilih resource yang akan dicadangkan. Dari menu , atau dari halaman detail untuk resource, pilih Create on-demand backup.
Di jendela Create an on-demand backup, pilih aturan pencadangan yang akan digunakan, lalu klik Create.
Untuk melihat status tugas pencadangan on-demand, klik Notifications.
gcloud
Membuat pencadangan on-demand. Memulai pencadangan on-demand menggunakan pengaitan rencana pencadangan yang ada. Tentukan ID aturan untuk menentukan masa berlaku untuk satu pencadangan on demand 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 pengaitan rencana pencadangan.
RULE_ID: nama aturan pencadangan yang ingin Anda kaitkan untuk menjalankan pencadangan on-demand.
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
Di konsol Google Cloud , buka halaman Vaulted backups.
Klik nama database yang ingin Anda hapus rencana pencadangannya.
Pilih Remove backup plan.
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 pengaitan rencana cadangan yang ingin Anda hapus.
PROJECT_ID: nama project.
LOCATION: lokasi pencadangan terjadwal.
Batasan
Untuk instance Cloud SQL yang dienkripsi dengan CMEK, Backup and DR secara proaktif
memvalidasi izin. Jika agen layanan Backup and DR dari project vault cadangan tidak memiliki peran roles/cloudkms.cryptoKeyEncrypterDecrypter yang diperlukan pada kunci KMS instance sumber, pembuatan pengaitan rencana cadangan akan gagal. Pastikan izin IAM yang diperlukan sudah ada sebelum mengaitkan rencana pencadangan.