Mengelola pencadangan
Halaman ini menjelaskan operasi pencadangan Bigtable dan menjelaskan cara mencadangkan tabel dan memulihkannya ke tabel baru. Sebelum membaca halaman ini, Anda harus sudah memahami Cadangan.
Anda dapat bekerja dengan cadangan Bigtable menggunakan hal berikut:
- Konsol Google Cloud.
- Google Cloud CLI.
- Library klien Cloud Bigtable.
Anda juga dapat mengakses API secara langsung, tetapi sebaiknya Anda melakukannya hanya jika perlu menggunakan bahasa yang tidak didukung oleh library klien Cloud Bigtable.
Sebelum memulai
Pastikan Anda atau akun pengguna yang digunakan memiliki izin yang diperlukan untuk tindakan yang perlu dilakukan.
Jika Anda berencana menggunakan gcloud CLI, instal gcloud CLI untuk Bigtable.
Gunakan pencadangan otomatis
Anda dapat menggunakan gcloud CLI untuk mengaktifkan pencadangan otomatis saat membuat atau memperbarui tabel. Langkah-langkah untuk menghapus, memperbarui, menyalin, dan memulihkan cadangan akan sama, baik cadangan dibuat secara manual maupun sebagai hasil dari pencadangan otomatis.
Selama pratinjau, pertimbangkan hal berikut jika Anda berencana untuk mengaktifkan pencadangan otomatis:
- Jika cluster ditambahkan ke instance yang berisi tabel dengan pencadangan otomatis diaktifkan, pencadangan harian tidak akan dibuat pada cluster yang ditambahkan. Untuk membuat pencadangan harian pada semua cluster, termasuk cluster yang baru ditambahkan, nonaktifkan pencadangan otomatis untuk tabel, lalu aktifkan kembali pencadangan otomatis.
- Jika tabel dengan pencadangan otomatis yang diaktifkan dihapus dan kemudian dibatalkan penghapusannya, Anda harus mengaktifkan kembali pencadangan otomatis pada tabel yang dipulihkan.
- Memulihkan cadangan otomatis tabel tidak otomatis mengaktifkan pencadangan otomatis pada tabel yang dipulihkan. Anda harus mengaktifkan pencadangan otomatis secara manual.
Aktifkan pencadangan otomatis
Untuk mengaktifkan pencadangan otomatis untuk tabel, jalankan perintah gcloud bigtable instances
tables update
. Untuk informasi selengkapnya tentang cara mengaktifkan pencadangan otomatis saat membuat tabel, lihat Membuat tabel.
Setelah kebijakan pencadangan otomatis diaktifkan untuk tabel, konfigurasi yang diperbarui dapat memerlukan waktu hingga 1 jam untuk diterapkan.
gcloud bigtable instances tables update TABLE_ID \
--instance=INSTANCE_ID \
--enable-automated-backup
Ganti kode berikut:
- TABLE_ID: ID tabel yang akan dicadangkan.
- INSTANCE_ID: ID permanen untuk instance.
Jika Anda tidak mengetahui ID instance, gunakan perintah
bigtable instances list
untuk melihat daftar instance project:gcloud bigtable instances list
Lihat daftar tabel untuk mengonfirmasi ID tabel yang ingin Anda cadangkan.
gcloud bigtable instances tables list --instances=INSTANCE_ID
Cadangan yang dibuat sebagai bagian dari pencadangan otomatis diberi ID yang dimulai dengan auto
. Misalnya,
tabel dengan ID my-table
akan memiliki ID pencadangan otomatis seperti
auto.my-table.c7x3.20230220-1455
, dengan my-table
adalah ID tabel
yang terpotong, c7x3
adalah ID hash unik, dan 20230220-1455
adalah tanggal dan waktu
dalam format UTC.
Nonaktifkan pencadangan otomatis
Untuk menonaktifkan pencadangan otomatis untuk tabel yang sudah ada, jalankan perintah gcloud bigtable
instances tables update
.
Setelah kebijakan pencadangan otomatis dinonaktifkan untuk tabel, konfigurasi yang diperbarui dapat memerlukan waktu hingga 1 jam untuk diterapkan. Mungkin diperlukan waktu hingga 24 jam agar cadangan pertama Anda tersedia.
gcloud bigtable instances tables update TABLE_ID \
--instance=INSTANCE_ID \
--disable-automated-backup
Ganti kode berikut:
- TABLE_ID: ID tabel.
- INSTANCE_ID: ID permanen untuk instance.
Lihat kebijakan pencadangan otomatis
Untuk melihat kebijakan pencadangan otomatis untuk tabel, jalankan perintah gcloud bigtable
instances tables describe
.
gcloud bigtable instances tables describe TABLE_ID \
--instance=INSTANCE_ID
Ganti kode berikut:
- TABLE_ID: ID tabel.
- INSTANCE_ID: ID permanen untuk instance.
Outputnya terlihat mirip dengan yang berikut ini:
automatedBackupPolicy:
retentionPeriod: 3d
frequency: 24h
columnFamilies:
my-family: {}
createTime: '2023-02-07T20:10:55.613546Z'
granularity: MILLIS
name: projects/my-project/instances/my-instance/tables/my-table
updateTime: '2023-02-07T20:10:55.613546Z'
Perhatikan hal-hal berikut:
- Kolom
automatedBackupPolicy
tidak ada jika pencadangan otomatis tidak diaktifkan untuk tabel. retentionPeriod
menunjukkan periode retensi data cadangan yang dibuat secara otomatis. Anda dapat mengubah periode retensi data untuk cadangan hingga 90 hari dari waktu pembuatan cadangan. Untuk memperbarui periode retensi data cadangan, lihat Mengubah cadangan.
Membuat cadangan
Konsol
Buka halaman Instance Bigtable di Konsol Google Cloud.
Klik instance yang berisi tabel yang ingin Anda cadangkan.
Di panel navigasi sebelah kiri, klik Tables.
Klik Buat cadangan untuk tabel yang ingin Anda cadangkan.
Jika Anda menggunakan replikasi, gunakan menu drop-down untuk memilih ID Cluster untuk cluster yang harus menyimpan cadangan. (Jika Anda mengklik Create backup di samping ID cluster, bukan ID instance di halaman Tables, cluster tersebut akan dipilih sebelumnya.)
Masukkan ID unik untuk cadangan.
Tetapkan tanggal habis masa berlaku.
Klik Create.
Konsol akan menampilkan halaman Cadangan yang difilter untuk menampilkan cadangan dan detailnya.
Klik Aktivitas untuk melihat status pencadangan.
Kolom status menampilkan Pencadangan selesai saat pencadangan selesai.
gcloud
Untuk semua perintah, ganti nilai sebenarnya dengan hal-hal berikut:
- INSTANCE_ID: ID permanen untuk instance.
- CLUSTER_ID: ID permanen untuk cluster.
- TABLE_ID: ID tabel yang akan dicadangkan.
- BACKUP_ID: ID yang Anda tetapkan ke cadangan.
EXPIRATION_DATE: Tanggal yang berdurasi 90 hari atau kurang di masa mendatang, dengan format sebagai stempel waktu UTC "Zulu", akurat hingga nanodetik.
Contoh:
2022-10-02T15:01:23.045123456Z
RETENTION_PERIOD: Jangka waktu hingga 90 hari, yang dinyatakan sebagai angka dengan satuan
m
,h
, ataud
(menit, jam, atau hari).Contoh:
36h
atau89d
Jika Anda tidak mengetahui ID instance, gunakan perintah
bigtable instances list
untuk melihat daftar instance project:gcloud bigtable instances list
Lihat daftar cadangan untuk instance yang berisi tabel yang ingin Anda cadangkan, sehingga Anda dapat memilih ID pencadangan yang belum digunakan di cluster yang diinginkan.
gcloud bigtable backups list --instance=INSTANCE_ID \ --cluster=CLUSTER_ID
Lihat daftar tabel untuk mengonfirmasi ID tabel yang ingin Anda cadangkan.
gcloud bigtable instances tables list --instances=INSTANCE_ID
Jalankan perintah gcloud bigtable instances backup create untuk membuat cadangan dari tabel, yang memberikan tanggal habis masa berlaku atau periode retensi data hingga 90 hari.
gcloud bigtable backups create BACKUP_ID --instance=INSTANCE_ID \ --cluster=CLUSTER_ID \ --table=TABLE_ID \ --async / --expiration-date=EXPIRATION_DATE \ --retention-period=RETENTION_PERIOD
Flag
--async
bersifat opsional. Gunakan metode ini jika Anda ingin terminal menampilkan ID operasi sebelum operasi selesai. Hal ini berguna jika Anda ingin memeriksa status operasi.Lihat daftar cadangan untuk mengetahui apakah cadangan Anda telah dibuat.
gcloud bigtable backups list --instance=INSTANCE_ID \ --cluster=CLUSTER_ID
Jika cadangan tidak tercantum, periksa status operasi.
Status
Ready
menunjukkan bahwa pencadangan selesai.
Memulihkan dari cadangan
Konsol
Anda tidak dapat memulihkan ke project lain menggunakan konsol Google Cloud. Jika Anda perlu melakukannya, gunakan gcloud CLI.
Buka halaman Instance Bigtable di Konsol Google Cloud.
Klik instance yang berisi cadangan yang ingin Anda pulihkan.
Di panel navigasi sebelah kiri, klik Cadangan.
Klik Pulihkan untuk cadangan yang ingin Anda pulihkan.
Pilih instance yang ingin Anda pulihkan.
Instance yang tidak memiliki penyimpanan yang cukup untuk tabel baru tidak tersedia. Jika Anda tidak memiliki izin untuk membuat tabel dalam sebuah instance, instance tersebut tidak tersedia. Arahkan mouse ke ikon
untuk mengetahui informasi selengkapnya.Jika Anda memulihkan dari cadangan yang dilindungi oleh CMEK, instance tujuan juga harus dilindungi oleh CMEK.
Anda tidak dapat memulihkan ke project yang berbeda menggunakan Konsol Google Cloud. Jika perlu, gunakan gcloud CLI.
Masukkan ID unik untuk tabel yang akan dibuat dari cadangan. Anda tidak dapat mengubah ID ini nanti.
Klik Pulihkan.
Konsol akan menampilkan halaman Tables yang difilter untuk menampilkan tabel baru.
Konsol akan menampilkan status pemulihan untuk setiap cluster. Saat kolom status untuk semua cluster menampilkan Ready, tabel telah dipulihkan dan direplikasi ke semua cluster dalam instance.
gcloud
Untuk semua perintah, ganti nilai sebenarnya dengan hal-hal berikut:
- PROJECT_ID_SOURCE: ID project yang berisi cadangan yang akan dipulihkan.
- INSTANCE_ID_SOURCE: ID permanen untuk instance sumber.
- PROJECT_ID_DESTINATION: ID project tempat Anda ingin memulihkannya. Penanda ini bersifat opsional. Jika Anda tidak menentukan opsi ini, cadangan akan dipulihkan ke tabel baru di instance yang sama tempat cadangannya dibuat.
- INSTANCE_ID_DESTINATION: ID permanen untuk instance tujuan.
- CLUSTER_ID: ID permanen untuk cluster.
- BACKUP_ID: ID cadangan yang ingin Anda pulihkan.
- TABLE_ID_NEW: ID untuk tabel baru.
Jika Anda tidak mengetahui ID instance, gunakan perintah
bigtable instances list
untuk melihat daftar instance project:gcloud bigtable instances list
Lihat daftar cadangan untuk instance yang berisi cadangan, untuk memastikan bahwa cadangan tersebut ada.
gcloud bigtable backups list --instance=INSTANCE_ID_SOURCE \ --cluster=CLUSTER_ID_SOURCE
Melihat daftar tabel dalam instance tujuan sehingga Anda dapat memilih ID untuk tabel baru yang belum digunakan.
gcloud bigtable instances tables list --instances=INSTANCE_ID_DESTINATION
Jalankan perintah gcloud bigtable instances tables recovery untuk memulihkan dari cadangan ke tabel baru.
gcloud bigtable instances tables restore \ --source=projects/PROJECT_ID_SOURCE/instances/INSTANCE_ID_SOURCE/clusters/CLUSTER_ID/backups/BACKUP_ID \ --async \ --destination=TABLE_ID_NEW \ --destination-instance=INSTANCE_ID_DESTINATION \ --project=PROJECT_ID_DESTINATION
Flag
--async
bersifat opsional. Gunakan metode ini jika Anda ingin terminal menampilkan ID operasi sebelum operasi selesai. Hal ini berguna jika Anda ingin memeriksa status operasi.Lihat daftar tabel untuk mengetahui apakah tabel Anda telah dibuat.
gcloud bigtable instances tables list --instances=INSTANCE_ID_DESTINATION
Jika cadangan tidak tercantum, periksa status operasi.
Membuat salinan cadangan
Konsol
Anda tidak dapat membuat salinan cadangan di project lain menggunakan konsol. Jika Anda perlu melakukannya, gunakan gcloud CLI.
Buka halaman Instance Bigtable di Konsol Google Cloud.
Klik instance yang berisi cadangan yang ingin disalin.
Di panel navigasi sebelah kiri, klik Cadangan.
Untuk cadangan yang ingin disalin, luaskan menu Lainnya di samping kata Pulihkan, lalu klik Salin.
Klik Copy untuk cadangan yang ingin Anda buat salinannya.
Jika cadangan adalah salinan dari cadangan lain, maka Copy tidak tersedia.
Pilih instance tujuan.
Anda tidak dapat membuat salinan cadangan di project yang berbeda menggunakan konsol. Jika Anda perlu melakukannya, gunakan gcloud CLI.
Instance yang tidak memiliki penyimpanan yang cukup untuk salinan cadangan tidak tersedia. Jika Anda tidak memiliki izin untuk membuat cadangan dalam sebuah instance, instance tersebut tidak tersedia. Tahan kursor ke ikon
untuk mengetahui informasi selengkapnya.Jika Anda menyalin cadangan yang dilindungi oleh CMEK, instance tujuan juga harus dilindungi CMEK.
Pilih cluster tujuan.
Seperti cadangan lainnya, salinan cadangan hanya disimpan di satu cluster dalam sebuah instance, meskipun instance tersebut menggunakan replikasi.
Masukkan ID unik untuk salinan yang akan dibuat dari cadangan. Anda tidak dapat mengubah ID ini nanti.
Tetapkan waktu habis masa berlaku untuk salinan cadangan, dengan memberikan nilai untuk Time dan memilih Unit dari menu drop-down.
Klik Salin.
Untuk melihat salinan Anda, klik Lihat salinan.
Konsol akan menampilkan halaman Backups untuk instance tujuan, yang difilter untuk salinan cadangan yang baru saja dibuat. Saat kolom status menunjukkan Siap, salinannya sudah selesai dan siap untuk operasi lebih lanjut.
gcloud
Untuk semua perintah, ganti nilai sebenarnya dengan hal-hal berikut:
- PROJECT_ID_SOURCE: Project yang berisi cadangan yang akan disalin.
- INSTANCE_ID_SOURCE: ID permanen untuk instance sumber.
- CLUSTER_ID_SOURCE: ID cluster tempat cadangan sumber disimpan.
- BACKUP_ID_SOURCE: ID cadangan yang akan disalin.
- PROJECT_ID_DESTINATION: Project tempat Anda ingin menempatkan salinan.
- INSTANCE_ID_DESTINATION: ID permanen untuk instance tujuan.
- CLUSTER_ID_DESTINATION: ID cluster di instance tujuan yang Anda inginkan untuk menyimpan salinannya.
- BACKUP_ID_DESTINATION: ID yang Anda tetapkan ke salinan cadangan.
- RETENTION_PERIOD: Waktu aktif untuk salinan cadangan, yang dinyatakan sebagai angka dan satuan (d atau h). Contohnya mencakup
5d
selama lima hari atau15h
selama 15 jam. Gunakan tanggal ini atau tanggal habis masa berlaku. - EXPIRATION_DATE: Tanggal dan waktu habis masa berlaku salinan cadangan,
dengan format seperti
2022-09-01T10:00:00.0Z
.
Jika Anda tidak mengetahui ID instance, gunakan perintah
bigtable instances list
untuk melihat daftar instance project:gcloud bigtable instances list
Lihat daftar cadangan untuk instance sumber yang berisi cadangan, untuk memastikan bahwa cadangan yang ingin Anda salin ada.
gcloud bigtable backups list --instance=INSTANCE_ID_SOURCE \ --cluster=CLUSTER_ID_SOURCE
Lihat daftar cadangan di instance tujuan agar Anda dapat memilih ID untuk salinan yang belum digunakan.
gcloud bigtable backups list --instances=DESTINATION_INSTANCE
Jalankan perintah gcloud bigtable instances backup copy untuk membuat salinan cadangan.
gcloud bigtable backups copy \ --source-project=PROJECT_ID_SOURCE \ --source-instance=INSTANCE_ID_SOURCE \ --source-cluster=CLUSTER_ID_SOURCE \ --source-backup=BACKUP_ID_SOURCE \ --destination-project=PROJECT_ID_DESTINATION \ --destination-instance=INSTANCE_ID_DESTINATION \ --destination-cluster=CLUSTER_ID_DESTINATION \ --destination-backup=BACKUP_ID_DESTINATION \
Tambahkan perintah dengan salah satu dari berikut ini:
--retention-period
`=RETENTION_PERIOD: Periode retensi data untuk salinan cadangan. Minimal harus 6 jam dan paling lama 30 hari sejak cadangan sumber dibuat.--expiration-date
`=EXPIRATION_DATE: Masa berlaku salinan cadangan. Minimal harus 6 jam dan paling lama 30 hari sejak cadangan sumber dibuat.
Anda dapat menambahkan
--async
ke perintah secara opsional. Gunakan metode ini jika Anda ingin terminal menampilkan ID operasi sebelum operasi selesai. Ini berguna jika Anda ingin memeriksa status operasi.Lihat daftar cadangan untuk mengetahui apakah salinan telah dibuat.
gcloud bigtable backups list --instances=INSTANCE_ID_DESTINATION
Jika cadangan tidak tercantum, periksa status operasi.
Jika operasi penyalinan cadangan gagal karena keterbatasan kapasitas, coba lagi dengan cluster tujuan yang berbeda. Jika operasi tersebut juga gagal, hubungi Dukungan.
Memeriksa status operasi
Konsol
Buka halaman Instance Bigtable di Konsol Google Cloud.
Klik instance yang berisi cadangan.
Di panel navigasi sebelah kiri, klik Cadangan.
Di halaman Cadangan, klik Aktivitas. Kolom status menampilkan status saat ini untuk setiap operasi.
Status operasi saat memulihkan tabel mencakup hal-hal berikut:
- Menunggu untuk menyalin
- Memulihkan cadangan
- Melakukan inisialisasi
- Pengoptimalan siap
- Ready
Status operasi saat membuat cadangan mencakup hal-hal berikut:
- Membuat cadangan
- Pencadangan selesai
Status operasi saat menyalin cadangan meliputi hal-hal berikut:
- Menyalin cadangan
- Cadangan disalin
gcloud
Untuk memeriksa status operasi pencadangan atau pemulihan, Anda memerlukan ID unik operasi tersebut. Berikut adalah contoh ID operasi:
`instances/instance-name/tables/table-name/locations/us-east1-b/operations/917168358249360635`
Setelah Anda menjalankan perintah untuk membuat cadangan atau memulihkan ke tabel baru menggunakan
opsi --async
, terminal akan menampilkan ID operasi.
Salin ID operasi.
Jalankan perintah gcloud bigtable operations describe, dengan mengganti nilai yang Anda salin untuk
OPERATION_ID
.gcloud bigtable operations describe OPERATION_ID
Contoh:
gcloud bigtable operations describe \ instances/instance-name/tables/table-name/locations/us-east1-b/operations/917168358249360635
Anda dapat menjalankan perintah ini setiap beberapa saat hingga nilai
DONE
adalahTRUE
.
Jika tidak mengetahui ID operasi, karena tidak baru saja menjalankan perintah atau berada di jendela terminal yang berbeda, Anda dapat melihat daftar operasi untuk instance tersebut dan menentukan operasi mana yang ingin diperiksa.
Lihat daftar aktivitas operasi terbaru untuk instance yang berisi tabel yang Anda cadangkan atau pulihkan, dengan mengganti ID instance untuk
INSTANCE_ID
:gcloud bigtable operations list --instance=INSTANCE_ID
Terminal menampilkan daftar operasi dalam kolom berlabel
NAME
,START_TIME
,END_TIME
, danDONE
. Nilai dalam kolomNAME
adalah ID operasi.Mulai dengan item pertama dalam daftar, salin ID operasi.
Gunakan gcloud bigtable operations ask untuk melihat metadata operasi.
gcloud bigtable operations describe OPERATION_ID
Contoh:
gcloud bigtable operations describe \ instances/instance-name/tables/table-name/locations/us-east1-b/operations/917168358249360635
Jika metadata untuk operasi menampilkan nilai untuk
backupInfo
, berarti Anda telah menemukan operasi yang benar, dan Anda dapat mengulangi perintah ini sesering mungkin hingga nilai untukDONE
adalahTRUE
.Jika metadata tidak menampilkan nilai untuk
backupInfo
, periksa operasi berikutnya dari daftar operasi yang ditampilkan di Langkah 1.
Mengubah salinan cadangan atau cadangan
Konsol
Konsol Google Cloud tidak mengizinkan Anda mengubah cadangan, termasuk salinan.
gcloud
Dengan gcloud CLI, Anda dapat mengubah tanggal atau periode habis masa berlaku untuk salinan cadangan atau cadangan.
Untuk semua perintah, ganti nilai sebenarnya dengan hal-hal berikut:
- INSTANCE_ID: ID permanen untuk instance.
- CLUSTER_ID: ID permanen untuk cluster.
- BACKUP_ID: ID unik untuk cadangan.
EXPIRATION_DATE: Tanggal 90 hari atau kurang di masa mendatang, dengan format sebagai stempel waktu UTC "Zulu", akurat hingga nanodetik.
Contoh:
2019-10-02T15:01:23.045123456Z
RETENTION_PERIOD: Jangka waktu hingga 90 hari, yang dinyatakan sebagai angka dengan satuan
m
,h
, ataud
(menit, jam, atau hari)._Examples_: `36h` or `89d`
Lihat daftar cadangan:
gcloud bigtable backups list --instance=INSTANCE_ID
Terminal akan menampilkan daftar cadangan.
Catat ID cadangan dan cluster untuk cadangan yang perlu diperbarui.
Jalankan perintah gcloud bigtable instances backup update untuk menambahkan tanggal habis masa berlaku yang baru atau periode retensi data baru.
gcloud bigtable backups update BACKUP_ID \ --instance=INSTANCE_ID \ --cluster=CLUSTER_ID \ --expiration-date=EXPIRATION_DATE \ --retention-period=RETENTION_PERIOD
Jalankan perintah gcloud bigtable instances backup decrypt untuk memverifikasi bahwa Anda telah berhasil memperbarui masa berlaku.
gcloud bigtable backups describe BACKUP_ID \ --instance=INSTANCE_ID \ --cluster=CLUSTER_ID ```
Menghapus cadangan
Anda dapat menghapus cadangan atau salinan cadangan sebelum masa berlakunya habis yang dijadwalkan.
Konsol
Buka halaman Instance Bigtable di Konsol Google Cloud.
Klik instance yang berisi cadangan.
Di panel navigasi sebelah kiri, klik Cadangan.
Untuk cadangan yang perlu dihapus, luaskan menu Lainnya di samping kata Pulihkan, lalu klik Hapus.
Masukkan ID cadangan di kolom Confirm Deletion, lalu klik Delete.
gcloud
Lihat daftar cadangan, yang menggantikan ID instance untuk
INSTANCE_ID
:gcloud bigtable backups list --instance=INSTANCE_ID
Terminal akan menampilkan daftar cadangan.
Catat ID cadangan dan ID cluster tempat penyimpanannya.
Jalankan perintah gcloud bigtable instances backup delete, dengan mengganti ID pencadangan yang Anda catat untuk
BACKUP_ID
dan ID cluster untukCLUSTER_ID
.gcloud bigtable backups delete BACKUP_ID \ --instance=INSTANCE_ID \ --cluster=CLUSTER_ID
Langkah selanjutnya
- Baca selengkapnya tentang pencadangan.
- Pelajari cara mengimpor dan mengekspor data Bigtable.