Anda dapat memulihkan cadangan database Spanner ke dalam database baru. Database
yang dipulihkan akan memiliki semua data dan skema dari database asli
di version_time
pencadangan, termasuk semua opsi database yang ditetapkan
dengan perintah ALTER DATABASE SET OPTIONS
. Database tersebut tidak akan memiliki izin IAM apa pun (kecuali yang
diwarisi dari instance yang berisi database yang dipulihkan), dan Anda harus
menerapkan izin IAM yang sesuai setelah pemulihan selesai.
Tindakan ini tidak akan menyertakan data internal dari aliran perubahan apa pun. Saat Anda memulihkan
dari cadangan, cadangan yang dipulihkan akan berada di instance, region, dan
project yang sama dengan cadangan sumbernya. Jika perlu memulihkan dari cadangan di
region atau project yang berbeda karena alasan kepatuhan atau kelangsungan bisnis, Anda
dapat menyalin cadangan ke
instance di region atau project 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 API REST atau RPC
Cara kerja pemulihan database dari cadangan
Saat memulihkan database Spanner, Anda harus menentukan cadangan sumber 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 dalam
instance dengan konfigurasi instance yang sama dan edisi Spanner yang sama (atau
tingkat lebih tinggi) seperti
cadangan. Misalnya, jika cadangan berada di instance yang dikonfigurasi us-west3
dan menggunakan edisi Enterprise, cadangan tersebut dapat dipulihkan ke instance apa pun dalam project yang juga dikonfigurasi us-west3
dan menggunakan edisi Enterprise. Jika Anda memulihkan cadangan di
instance edisi Enterprise ke instance edisi Standar, pemulihan mungkin gagal jika database menggunakan
fitur edisi Enterprise. Kapasitas komputasi instance tidak harus sama.
Proses pemulihan dirancang untuk ketersediaan tinggi. Database dapat dipulihkan asalkan kuorum mayoritas region dan zona dalam instance tersedia.
Untuk memulihkan cadangan yang mendukung CMEK, kunci dan versi kunci harus tersedia untuk Spanner. Database yang dipulihkan, secara default, menggunakan konfigurasi enkripsi yang sama dengan cadangan. Anda dapat mengganti perilaku ini dengan menentukan konfigurasi enkripsi yang berbeda saat memulihkan database. Untuk informasi selengkapnya, lihat memulihkan dari cadangan yang mengaktifkan CMEK.
Memulihkan cadangan ke region atau project lain
Jika Anda perlu memulihkan cadangan ke region atau project lain, pertama-tama, salin cadangan ke region atau project yang dipilih. Cadangan yang disalin dapat dipulihkan segera setelah salinan selesai. Anda dapat memulihkan cadangan di instance tujuan (asalkan menggunakan edisi yang sama dengan instance cadangan sumber) atau di instance apa pun yang memiliki konfigurasi instance yang sama dan edisi yang sama (atau tingkat yang lebih tinggi) dengan instance tujuan. Sebelum memulihkan, pastikan instance tujuan memiliki node atau unit pemrosesan yang cukup yang disediakan untuk mendukung ukuran database sesuai dengan batas penyimpanan 10 TB per node (yaitu, Anda memerlukan minimal 2 node untuk memulihkan cadangan 20 TB). Jika Anda telah menyalin cadangan ke project lain, dan jika Anda ingin memulihkannya di sana, pastikan project tujuan Anda memiliki kuota node yang cukup untuk pemulihan. Memulihkan cadangan yang disalin berfungsi dengan cara yang sama seperti pemulihan normal.
Status pemulihan
Database yang dipulihkan akan bertransisi melalui tiga status, yang dilacak oleh dua operasi yang berjalan lama.
CREATING
: Spanner mulai memulihkan dengan membuat database baru dan memasang file dari pencadangan. Selama statusCREATING
awal ini, database yang dipulihkan belum siap digunakan. Status ini biasanya selesai dalam waktu satu jam. Setelah statusCREATING
selesai, database Anda siap digunakan.Untuk melacak progres status ini, Anda dapat mengkueri operasi pemulihan yang berjalan lama yang disediakan Spanner selama proses ini. Metode ini menampilkan objek
RestoreDatabaseMetadata
.Perhatikan pengecualian berikut terkait status
CREATING
:- Jika Anda memulihkan ke instance lain, operasi pemulihan merupakan milik instance yang berisi database yang dipulihkan, bukan instance yang berisi cadangan.
- Spanner tidak akan mengizinkan Anda menghapus cadangan saat
dipulihkan. Anda dapat menghapusnya setelah pemulihan selesai dan database memasuki status
READY
. - Instance dapat memiliki maksimal sepuluh database dalam status
CREATING
karena pemulihan dari pencadangan. Anda tidak akan dapat memulihkan cadangan lain ke instance hingga salah satu dari sepuluh database yang dipulihkan bertransisi ke statusREADY_OPTIMIZING
atauREADY
.
READY_OPTIMIZING
: Setelah memasang cadangan, Spanner akan mulai menyalin data cadangan ke database baru sekaligus mengoptimalkan ukuran yang disimpan. Database Anda siap digunakan selama proses ini. Fase pemulihan ini biasanya memerlukan waktu beberapa jam untuk diselesaikan untuk database dengan ukuran kurang dari 100 TB.Meskipun Anda dapat menggunakan database seperti biasa selama
READY_OPTIMIZING
, ketentuan berikut berlaku:- Latensi baca mungkin sedikit lebih tinggi dari biasanya.
- Metrik penyimpanan menampilkan ukuran database baru, bukan cadangan. Oleh karena itu, dengan transfer data yang masih berlangsung, metrik penyimpanan Spanner mungkin menampilkan hasil yang tidak mencerminkan total ukuran semua data Anda.
- Seperti status
CREATING
, Spanner tidak akan mengizinkan Anda menghapus cadangan yang terpasang.
Spanner menyediakan operasi pemulihan yang berjalan lama lain selama status ini, kali ini menampilkan objek metadata
OptimizeRestoredDatabaseMetadata
.READY
: Setelah operasi salin dan optimalkan selesai, database akan bertransisi ke statusREADY
. Database dipulihkan sepenuhnya, dan tidak lagi mereferensikan atau memerlukan pencadangan.
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 melakukan pemulihan. Peran ini memiliki akses lengkap ke semua resource Spanner.owner
: memiliki akses penuh untuk melakukan pemulihan.editor
: memiliki akses penuh untuk melakukan pemulihan.viewer
: memiliki akses untuk melihat operasi pemulihan dan pemulihan. Peran ini tidak dapat membuat, memperbarui, menghapus, atau menyalin cadangan.
Harga
Tidak ada biaya untuk memulihkan dari cadangan.
Langkah selanjutnya
- Untuk memulihkan database dari cadangan, lihat Memulihkan dari cadangan.