Halaman ini menjelaskan operasi pencadangan Spanner dan cara mencadangkan database. Untuk mengetahui informasi selengkapnya tentang cadangan, lihat Ringkasan cadangan.
Anda dapat mencadangkan database menggunakan metode berikut:
Sebelum memulai
Contoh gcloud CLI di halaman ini membuat asumsi berikut:
- Anda telah menyiapkan gcloud CLI untuk digunakan dengan Spanner. Jika Anda baru menggunakan gcloud CLI dengan Spanner, lihat Mulai menggunakan Spanner menggunakan gcloud CLI.
Anda telah mengonfigurasi gcloud CLI dengan project Anda. Contoh:
gcloud config set core/project PROJECT_ID
Anda memiliki instance bernama
test-instance
dan database bernamaexample-db
.
-
Untuk mendapatkan izin yang diperlukan untuk membuat dan mengelola cadangan, minta administrator untuk memberi Anda peran IAM berikut pada instance:
-
Membuat, melihat, memperbarui, dan menghapus cadangan:
Admin Cadangan Cloud Spanner (
roles/spanner.backupAdmin
) -
Membuat dan melihat cadangan:
Penulis Cadangan Cloud Spanner (
roles/spanner.backupWriter
)
-
Membuat, melihat, memperbarui, dan menghapus cadangan:
Admin Cadangan Cloud Spanner (
Membuat cadangan
Konsol
Di konsol Google Cloud, buka halaman Instances Spanner.
Klik instance berisi database yang ingin Anda cadangkan.
Klik database.
Di panel navigasi, klik Backup/Restore.
Di tab Cadangan, klik Buat cadangan.
Isi formulir, lalu klik Buat.
Untuk memeriksa progres operasi pencadangan, lihat Memeriksa progres operasi.
gcloud
Untuk membuat cadangan bernama example-db-backup-6
dan masa berlakunya akan habis dalam 1 tahun,
gunakan gcloud spanner backups create
:
gcloud spanner backups create example-db-backup-6 --instance=test-instance \
--database=example-db --retention-period=1y --async
Berikut adalah beberapa catatan penggunaan:
- Untuk menetapkan tanggal habis masa berlaku cadangan, tentukan flag
--retention-period
atau--expiration-date
. Untuk mengetahui informasi tentang sintaksis tanggal, lihatgcloud topic datetimes
. - Nama cadangan harus unik dalam instance.
- Perintah segera ditampilkan karena flag
--async
. Tanpa flag, perintah akan menunggu operasi pencadangan selesai. - Tentukan flag
--help
untuk mendapatkan bantuan terkait perintah apa pun.
Outputnya terlihat mirip dengan yang berikut ini:
Create request issued for: [example-db-backup-6]
Check operation [projects/my-project/instances/test-instance/backups/example-db-backup-6/operations/_auto_op_234567] for status.
Untuk memeriksa progres operasi pencadangan, lihat Memeriksa progres operasi.
Library klien
Contoh kode berikut membuat cadangan di version_time
tertentu,
lalu menunggu hingga selesai. Setelah selesai, langkah ini akan memverifikasi bahwa pencadangan
sudah siap dan mengambil beberapa informasi tentang pencadangan tersebut, seperti nama, ukuran, dan
waktu pembuatannya.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Menyalin cadangan
Konsol
Di konsol Google Cloud, buka halaman Instances Spanner.
Klik instance berisi database yang ingin Anda salin.
Klik database.
Di panel navigasi, klik Backup/Restore.
Di tabel Cadangan, pilih Tindakan untuk cadangan Anda, lalu klik Salin.
Isi formulir dengan memilih instance tujuan, memberikan nama, dan memilih tanggal habis masa berlaku untuk salinan cadangan.
Klik Copy.
Untuk memeriksa progres operasi penyalinan, lihat Memeriksa progres operasi.
Jika operasi berlangsung terlalu lama, Anda dapat membatalkannya. Untuk mengetahui informasi selengkapnya, lihat Membatalkan operasi instance yang berjalan lama.
gcloud
Untuk menyalin cadangan ke instance yang berbeda dalam project yang sama,
gunakan gcloud spanner backups copy
:
gcloud spanner backups copy \
--source-instance=test-instance \
--source-backup=example-db \
--destination-instance=backup-instance \
--destination-backup=copied-backup \
--expiration-date=2022-03-30T10:49:41Z
Untuk menyalin cadangan ke instance yang berbeda dalam project yang berbeda:
gcloud spanner backups copy \
--source-backup=projects/my-project/instances/test-instance/backups/example-db \
--destination-backup=projects/backup-project/instances/backup-instance-eu/backups/copied-backup \
--expiration-date=2022-03-30T10:49:41Z
Catatan penggunaan:
- Jika Anda memilih untuk menyalin cadangan ke instance lain dalam project yang sama, Anda harus membuat instance baru (atau menyiapkan instance) untuk cadangan yang disalin.
Pada contoh sebelumnya,
backup-instance
digunakan. Anda tidak dapat membuat instance baru sebagai bagian dari operasi penyalinan cadangan. - Jika Anda memilih untuk menyalin cadangan ke project lain, Anda harus memiliki project lain dengan instance-nya sendiri yang siap untuk salinan cadangan. Dalam contoh
sebelumnya,
backup-project
digunakan. Anda tidak dapat membuat project baru sebagai bagian dari operasi penyalinan cadangan. - Waktu habis masa berlaku cadangan harus minimal enam jam sejak
permintaan penyalinan saat ini diproses dan maksimal 366 hari setelah pencadangan sumber
create_time
.
Outputnya terlihat mirip dengan yang berikut ini:
createTime: '2022-03-29T22:06:05.905823Z'
database: projects/my-project/instances/test-instance/databases/example-db
databaseDialect: GOOGLE_STANDARD_SQL
encryptionInfo:
encryptionType: GOOGLE_DEFAULT_ENCRYPTION
expireTime: '2022-03-30T10:49:41Z'
maxExpireTime: '2023-03-17T20:46:33.479336Z'
name: projects/backup-project/instances/backup-instance-eu/backups/copied-backup
sizeBytes: '7957667'
state: READY
versionTime: '2022-03-16T20:46:33.479336Z'
Untuk memeriksa progres operasi penyalinan, lihat Memeriksa progres operasi.
Library klien
Contoh kode berikut menyalin cadangan yang ada. Anda dapat menyalin cadangan ke dalam instance di region atau project yang berbeda. Setelah selesai, contoh
akan mengambil dan mencetak beberapa informasi tentang cadangan yang disalin yang baru dibuat,
seperti nama, ukuran, status pencadangan, dan version_time
.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Memeriksa progres operasi
Konsol
Di konsol Google Cloud, buka halaman Instances Spanner.
Klik instance berisi database yang operasi pencadangannya ingin Anda lihat.
Klik database.
Di panel navigasi, klik Operations. Halaman Operations menampilkan daftar operasi yang sedang berjalan.
gcloud
Gunakan gcloud spanner operations describe
untuk memeriksa progres operasi.
Dapatkan ID operasi:
gcloud spanner operations list --instance=INSTANCE_NAME \ --database=DATABASE_NAME --type=BACKUP
Ganti kode berikut:
- INSTANCE_NAME dengan nama instance Spanner.
- DATABASE_NAME dengan nama database.
Catatan penggunaan:
Untuk membatasi daftar, tentukan tanda
--filter
. Contoh:--filter="metadata.name:example-db"
hanya mencantumkan operasi pada database tertentu.--filter="error:*"
hanya mencantumkan operasi pencadangan yang gagal.
Untuk mengetahui informasi tentang sintaksis filter, lihat
gcloud topic filters
. Untuk mengetahui informasi tentang cara memfilter operasi pencadangan, lihat kolomfilter
diListBackupOperationsRequest
.Tanda
--type
tidak peka huruf besar/kecil.
Outputnya terlihat mirip dengan yang berikut ini:
OPERATION_ID DONE @TYPE BACKUP SOURCE_DATABASE START_TIME END_TIME _auto_op_123456 True CreateBackupMetadata example-db-backup-7 example-db 2020-02-04T02:12:38.075515Z 2020-02-04T02:22:40.581170Z _auto_op_234567 True CreateBackupMetadata example-db-backup-6 example-db 2020-02-04T02:05:43.920377Z 2020-02-04T02:07:59.089820Z
Jalankan
gcloud spanner operations describe
:gcloud spanner operations describe OPERATION_ID \ --instance=INSTANCE_NAME \ --backup=BACKUP_NAME \
Ganti kode berikut:
- OPERATION_ID: ID operasi dari operasi yang ingin Anda periksa.
- INSTANCE_NAME: Nama instance Spanner.
- BACKUP_NAME: Nama pencadangan Spanner.
Bagian
progress
dalam output menampilkan persentase operasi yang telah selesai. Outputnya terlihat mirip dengan yang berikut ini:done: true metadata: ... progress: - endTime: '2022-03-01T00:28:06.691403Z' progressPercent: 100 startTime: '2022-03-01T00:28:04.221401Z' - endTime: '2022-03-01T00:28:17.624588Z' startTime: '2022-03-01T00:28:06.691403Z' progressPercent: 100 ...
Jika operasi berlangsung terlalu lama, Anda dapat membatalkannya. Untuk informasi selengkapnya, lihat Membatalkan operasi pencadangan yang berjalan lama.
Library klien
Contoh kode berikut mencantumkan semua operasi yang sedang berlangsung untuk membuat pencadangan (operasi
dengan CreateBackupMetadata
) dan menyalin cadangan
(operasi dengan CopyBackupMetadata
)
yang difilter oleh database tertentu.
Untuk mengetahui informasi tentang pemfilteran sintaksis, lihat parameter filter
di
backupOperations.list
.
C++
C#
Untuk menampilkan daftar semua operasi pembuatan pencadangan:
Untuk menampilkan daftar semua operasi pencadangan salinan:
Go
Java
Node.js
PHP
Python
Ruby
Untuk menampilkan daftar semua operasi pembuatan pencadangan:
Untuk menampilkan daftar semua operasi pencadangan salinan:
Membatalkan operasi pencadangan
Konsol
Konsol Google Cloud tidak mendukung pembatalan operasi pencadangan. Namun, Anda dapat membatalkan operasi yang memerlukan waktu terlalu lama menggunakan Google Cloud CLI, REST, atau RPC API. Untuk mengetahui informasi selengkapnya, lihat Membatalkan operasi instance yang berjalan lama.
gcloud
Gunakan gcloud spanner operations cancel
untuk membatalkan operasi pencadangan.
gcloud spanner operations cancel OPERATION_ID --instance=INSTANCE_NAME \ --database=DATABASE_NAME --backup=BACKUP
Ganti kode berikut:
- OPERATION_ID dengan ID operasi cadangan.
- INSTANCE_NAME dengan nama instance Spanner.
- DATABASE_NAME dengan nama database.
- BACKUP dengan nama cadangan.
Library klien
Contoh kode berikut membuat pencadangan, membatalkan operasi pencadangan, lalu menunggu hingga operasi pencadangan adalah done
. Jika operasi berhasil dibatalkan, cancelTime
dan pesan error akan ditampilkan. Jika operasi pencadangan selesai sebelum dibatalkan, cadangannya sudah ada, dan Anda dapat menghapusnya.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Mendapatkan informasi pencadangan
Konsol
Di konsol Google Cloud, buka halaman Instances Spanner.
Klik instance berisi database yang informasi pencadangannya ingin Anda lihat.
Klik database untuk membuka halaman Overview.
Di panel navigasi, klik Backup/Restore. Anda dapat melihat informasi pencadangan untuk cadangan yang dipilih dalam database.
gcloud
Untuk mendapatkan informasi tentang pencadangan,
gunakan gcloud spanner backups describe
:
gcloud spanner backups describe example-db-backup-6 --instance=test-instance
Outputnya terlihat mirip dengan yang berikut ini:
createTime: '2020-02-04T02:05:43.920377Z'
database: projects/my-project/instances/test-instance/databases/example-db
expireTime: '2021-02-04T02:05:43.268327Z'
name: projects/my-project/instances/test-instance/backups/example-db-backup-6
sizeBytes: '1000000000'
state: READY
Library klien
Library klien tidak mendukung perolehan informasi cadangan untuk satu cadangan. Namun, Anda dapat menampilkan daftar semua cadangan dan informasinya dalam satu instance. Untuk mengetahui informasi selengkapnya, lihat Mencantumkan cadangan dalam instance.
Mencantumkan cadangan dalam instance
Konsol
Di konsol Google Cloud, buka halaman Instances Spanner.
Klik instance Anda untuk melihat semua cadangan yang tersedia beserta informasinya.
Di panel navigasi, klik Backup/Restore.
gcloud
Untuk menampilkan daftar semua cadangan dalam instance,
gunakan gcloud spanner backups list
:
gcloud spanner backups list --instance=test-instance
Outputnya terlihat mirip dengan yang berikut ini:
BACKUP SOURCE_DATABASE CREATION_TIME EXPIRATION_TIME STATE BACKUP_SIZE_IN_BYTES IN_USE_BY
example-db-backup-6 example-db 2020-02-04T02:05:43.920377Z 2021-02-04T02:05:43.268327Z CREATING
example-db-backup-4 example-db 2020-02-04T01:21:20.873839Z 2021-02-04T01:21:20.530151Z READY 32
example-db-backup-3 example-db 2020-02-03T23:59:18.936433Z 2021-02-03T23:59:18.203083Z READY 32
example-db-backup-5 example-db 2020-02-03T23:48:06.259296Z 2021-02-03T23:48:05.830937Z READY 32
example-db-backup-2 example-db 2020-01-30T19:49:00.616338Z 2021-01-30T19:49:00.283917Z READY 32
example-db-backup-1 example-db 2020-01-30T19:47:09.492551Z 2021-01-30T19:47:09.097804Z READY 32
Untuk membatasi daftar, tentukan tanda --filter
. Misalnya, untuk memfilter daftar agar hanya menyertakan cadangan yang masih dibuat, tambahkan --filter="state:creating"
. Untuk mengetahui informasi tentang sintaksis filter, lihat gcloud topic filters
.
Untuk mengetahui informasi tentang memfilter cadangan, lihat kolom filter
di ListBackupsRequest
.
Library klien
Contoh kode berikut mencantumkan cadangan dalam instance tertentu.
Anda dapat memfilter daftar cadangan yang ditampilkan (misalnya, memfilter menurut nama, waktu
versi, atau waktu habis masa berlaku cadangan) dengan memberikan ekspresi filter. Untuk
mengetahui informasi tentang sintaksis pemfilteran, lihat parameter filter
di
Cadangan Daftar.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Memperbarui periode habis masa berlaku cadangan
Konsol
Buka halaman Spanner Instances di Konsol Google Cloud.
Klik instance yang berisi database untuk membuka halaman Overview.
Klik database untuk membuka halaman Overview.
Di panel navigasi, klik Backup/Restore.
Klik tombol Actions untuk cadangan yang dipilih, lalu pilih Update metadata.
Pilih tanggal habis masa berlaku yang baru.
Klik Perbarui.
gcloud
Untuk memperbarui tanggal periode habis masa berlaku cadangan,
gunakan gcloud spanner backups update-metadata
:
gcloud spanner backups update-metadata example-db-backup-6 \
--instance=test-instance --expiration-date=2020-05-05T00:00:00Z
Outputnya terlihat mirip dengan yang berikut ini:
createTime: '2020-02-04T02:05:43.920377Z'
database: projects/my-project/instances/test-instance/databases/example-db
expireTime: '2020-05-05T00:00:00Z'
name: projects/my-project/instances/test-instance/backups/example-db-backup-6
sizeBytes: '1000000000'
state: READY
Library klien
Contoh kode berikut mengambil waktu habis masa berlaku cadangan dan memperpanjangnya.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Menghapus cadangan
Konsol
Buka halaman Spanner Instances di Konsol Google Cloud.
Klik instance yang berisi database untuk membuka halaman Overview.
Klik database untuk membuka halaman Overview.
Di panel navigasi, klik Backup/Restore.
Klik tombol Actions untuk cadangan yang dipilih, lalu pilih Delete.
Ketik ID cadangan.
Klik Delete.
gcloud
Untuk menghapus cadangan,
gunakan gcloud spanner backups delete
:
gcloud spanner backups delete example-db-backup-1 --instance=test-instance
Anda harus mengonfirmasi operasi:
You are about to delete backup [example-db-backup-1]
Do you want to continue (Y/n)? Y
Deleted backup [example-db-backup-1].
Library klien
Contoh kode berikut menghapus cadangan dan memverifikasi bahwa cadangan telah dihapus. Menghapus cadangan yang masih berlangsung akan menghapus resource pencadangan dan membatalkan operasi pencadangan yang berjalan lama.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby