Anda dapat memulihkan cadangan database Spanner ke dalam database baru. Tujuan
{i>database<i} yang dipulihkan akan memiliki semua data dan skema dari {i>database<i} asli
di version_time
cadangan, termasuk semua opsi database yang ditetapkan
dengan ALTER DATABASE SET OPTIONS
perintah. Aplikasi ini tidak akan memiliki izin IAM apa pun (kecuali untuk
diwarisi dari instance yang berisi database yang dipulihkan), dan Anda harus
menerapkan izin IAM yang sesuai setelah pemulihan selesai.
Ini tidak akan menyertakan data internal dari aliran perubahan apa pun. Saat Anda memulihkan
dari suatu cadangan, cadangan yang dipulihkan berada di instance, region, dan
sebagai cadangan sumbernya. Jika Anda perlu memulihkan
dari cadangan di
region atau proyek yang berbeda karena alasan kepatuhan atau kelangsungan bisnis, Anda
dapat menyalin cadangan ke instance di
region atau proyek yang terpisah, lalu memulihkan dari cadangan yang disalin.
Anda dapat menggunakan pemulihan dari cadangan dengan cara berikut:
- Di Konsol Google Cloud
- Menggunakan Google Cloud CLI
- Menggunakan library klien
- Menggunakan REST atau RPC API
Cara kerja pemulihan database dari cadangan
Saat memulihkan database Spanner, Anda harus menentukan sumber
cadangan dan database target baru. Anda tidak dapat memulihkan ke database yang ada.
Database yang baru dipulihkan harus berada dalam project yang sama dengan cadangan dan berada di
instance dengan alamat IP
konfigurasi instance sebagai cadangan.
Misalnya, jika cadangan berada dalam instance yang dikonfigurasi us-west3
, cadangan dapat berupa
dipulihkan ke instance apa pun dalam project yang juga dikonfigurasi us-west3
. Tujuan
kapasitas komputasi instance tidak harus sama.
Proses pemulihan dirancang untuk ketersediaan tinggi. {i>Database<i} dapat berupa asalkan kuorum mayoritas wilayah dan zona di instance baru tersedia.
Untuk memulihkan cadangan dengan CMEK aktif, versi kunci dan versi kunci harus tersedia ke Spanner. Database yang dipulihkan, secara default, menggunakan metode konfigurasi enkripsi sebagai cadangan. Anda bisa mengganti perilaku ini dengan menentukan konfigurasi enkripsi ketika memulihkan {i>database<i}. Untuk informasi selengkapnya, lihat pemulihan dari cadangan yang mengaktifkan CMEK.
Memulihkan cadangan ke region atau project yang berbeda
Jika Anda perlu memulihkan cadangan ke region atau proyek yang berbeda, pertama-tama, salin cadangan ke region yang dipilih atau proyek. Cadangan yang disalin dapat dipulihkan segera setelah penyalinan selesai. Anda dapat memulihkan cadangan, baik pada instance tujuan atau pada setiap kasus memiliki konfigurasi instance yang sama dengan instance tujuan. Sebelum pembaruan memulihkan, pastikan bahwa {i>instance<i} tujuan memiliki cukup {i>node<i} atau unit pemrosesan yang disediakan untuk mendukung ukuran database sesuai dengan kapasitas 10 TB batas penyimpanan per node (artinya, Anda membutuhkan setidaknya 2 node untuk memulihkan 20 TB cadangan). Jika Anda telah menyalin cadangan ke project lain, dan jika ingin untuk memulihkannya di sana, pastikan project tujuan Anda memiliki node yang cukup kuota yang diperlukan untuk pemulihan. Pemulihan cadangan yang disalin bekerja dengan cara yang sama seperti atau pemulihan normal.
Status pemulihan
Database yang dipulihkan melakukan transisi melalui tiga status, dilacak oleh dua operasi yang berjalan lama.
CREATING
: Spanner mulai dipulihkan dengan membuat {i>database<i} dan memasang file dari cadangan. Selama periodeCREATING
awal ini , {i>database<i} yang dipulihkan belum siap digunakan. Status ini biasanya selesai dalam waktu satu jam. Setelah statusCREATING
selesai, Google Cloud Platform siap digunakan.Untuk melacak progres status ini, Anda dapat mengkueri pemulihan yang berjalan lama operasi yang Spanner akan tersedia selama proses ini. Metode ini mengembalikan Objek
RestoreDatabaseMetadata
.Perhatikan peringatan berikut terkait status
CREATING
:- Jika Anda memulihkan ke instance yang berbeda, operasi pemulihan milik instance yang berisi database yang dipulihkan, bukan instance yang berisi cadangan.
- Spanner tidak akan mengizinkan Anda menghapus cadangan saat masih tersimpan
sedang dipulihkan. Anda dapat menghapusnya setelah pemulihan selesai dan
database memasuki status
READY
. - Sebuah instance dapat memiliki maksimal sepuluh database dalam status
CREATING
karena pemulihan dari pencadangan. Anda tidak akan dapat memulihkan cadangan lain ke instance sampai salah satu dari sepuluh database yang dipulihkan bertransisi ke statusREADY_OPTIMIZING
atauREADY
.
READY_OPTIMIZING
: Setelah Spanner memasang cadangan, Spanner akan dimulai menyalin data cadangan ke dalam {i>database<i} baru sambil mengoptimalkan penyimpanan ukuran. Database Anda siap digunakan selama proses ini. Fase ini pemulihan biasanya memerlukan waktu beberapa jam untuk diselesaikan untuk database yang kurang dari 100 TB ukurannya.Meskipun Anda dapat menggunakan database seperti biasa selama
READY_OPTIMIZING
, peringatan berikut berlaku:- Latensi baca mungkin sedikit lebih tinggi dari biasanya.
- Metrik penyimpanan menampilkan ukuran {i>database<i} baru, bukan cadangannya. Oleh karena itu, dengan transfer data dalam proses, metrik penyimpanan Spanner mungkin menunjukkan hasil yang tidak mencerminkan ukuran total dari semua data Anda.
- Seperti halnya status
CREATING
, Spanner tidak akan mengizinkan Anda menghapus cadangan yang terpasang.
Spanner membuat operasi pemulihan yang berjalan lama tersedia selama status ini, kali ini menampilkan
OptimizeRestoredDatabaseMetadata
metadata.READY
: Setelah operasi salin dan optimalkan selesai, database bertransisi ke statusREADY
. {i>Database<i} sepenuhnya dipulihkan, dan tidak referensi yang lebih panjang atau memerlukan cadangan.
Kontrol akses (IAM)
Peran spanner.restoreAdmin
memberi Anda izin untuk memulihkan dari cadangan.
Untuk mengetahui informasi selengkapnya, lihat Kontrol akses dengan IAM.
Peran berikut juga memiliki akses ke operasi pemulihan Spanner:
spanner.admin
: memiliki akses penuh untuk memulihkan. Peran ini memiliki memiliki akses lengkap ke semua resource Spanner.owner
: memiliki akses penuh untuk memulihkan.editor
: memiliki akses penuh untuk memulihkan.viewer
: memiliki akses untuk melihat operasi pemulihan dan pemulihan. Peran ini tidak dapat membuat, memperbarui, menghapus, atau menyalin cadangan.
Harga
Pemulihan dari cadangan tidak dikenai biaya.
Langkah selanjutnya
- Untuk memulihkan database dari cadangan, lihat Memulihkan dari cadangan.