Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memulihkan tabel Amazon Keyspaces ke titik waktu
point-in-time Pemulihan (PITR) Amazon Keyspaces (untuk Apache Cassandra) memungkinkan Anda memulihkan data tabel Amazon Keyspaces ke titik waktu apa pun dalam 35 hari terakhir. Bagian pertama dari tutorial ini menunjukkan kepada Anda bagaimana mengembalikan tabel ke titik waktu dengan menggunakan konsol Amazon Keyspaces,AWS Command Line Interface (AWS CLI), dan Cassandra Query Language (CQL). Bagian kedua menunjukkan cara mengembalikan tabel dihapus menggunakanAWS CLI dan CQL.
Topik
Sebelum Anda memulai
Jika Anda belum melakukannya, Anda harus mengonfigurasi izin yang sesuai bagi pengguna untuk memulihkan tabel Amazon Keyspaces. DalamAWS Identity and Access Management (IAM), kebijakan yangAWS dikelolaAmazonKeyspacesFullAccess
menyertakan izin untuk memulihkan tabel Amazon Keyspaces. Untuk langkah-langkah mendetail untuk menerapkan kebijakan dengan izin minimum yang diperlukan, lihatIzin diperlukan untuk memulihkan tabel.
Memulihkan tabel ke titik waktu ()
Contoh berikut menunjukkan cara menggunakan konsol Amazon Keyspaces untuk memulihkan tabel yang ada bernamamytable
ke sebuah titik waktu.
catatan
Prosedur ini mengasumsikan bahwa Anda telah mengaktifkan point-in-time pemulihan. Untuk mengaktifkan PITR untukmytable
tabel, ikuti langkah-langkah diMengaktifkan PITR dengan konsol.
Masuk keAWS Management Console, dan buka konsol Amazon Keyspaces di https://console.aws.amazon.com/keyspaces/home
. -
Di panel navigasi pada sisi kiri konsol, pilih Tabel.
-
Dalam daftar tabel, pilih tabel
mytable
. -
Pada tab Backup
mytable
tabel, di bagian oint-in-time pemulihan P, pilih Pulihkan. -
Untuk nama tabel baru, masukkan
mytable_restored
. -
Untuk menentukan titik waktu untuk operasi pemulihan, Anda dapat memilih di antara dua opsi:
Pilih waktu paling awal yang telah dikonfigurasikan sebelumnya.
Pilih Tentukan tanggal dan waktu dan masukkan tanggal dan waktu yang Anda inginkan untuk memulihkan tabel baru.
catatan
Anda dapat memulihkan ke titik waktu mana pun dalam waktu paling awal dan waktu saat ini. Amazon Keyspaces memulihkan data tabel Anda ke keadaan berdasarkan tanggal dan waktu yang dipilih ().
Pilih Pulihkan untuk memulai proses pemulihan.
Tabel yang sedang dipulihkan ditampilkan dengan status Memulihkan. Setelah proses pemulihan selesai, status
mytable_restored
tabel berubah menjadi Aktif.penting
Ketika pemulihan sedang berlangsung, jangan memodifikasi atau menghapus kebijakan (IAM) AWS Identity and Access Management yang memberikan izin entitas IAM (misalnya, pengguna, grup, atau peran) untuk melakukan pemulihan. Jika tidak, perilaku tak terduga dapat terjadi. Sebagai contoh, misalkan Anda menghapus izin tulis untuk tabel yang sedang dipulihkan. Dalam kasus ini, operasi
RestoreTableToPointInTime
yang mendasar tidak dapat menulis data mana pun yang dipulihkan ke tabel.Anda dapat mengubah atau menghapus izin hanya setelah operasi pemulihan selesai.
Memulihkan tabel ke titik waktu denganAWS CLI
Prosedur berikut menunjukkan cara menggunakan AWS CLI untuk memulihkan tabel yang ada bernama myTable
ke titik waktu.
Pada langkah pertama, Anda membuat tabel sederhana bernama
myTable
yang memiliki PITR diaktifkan. Perintah telah dipecah menjadi baris terpisah untuk dibaca.aws keyspaces create-table --keyspace-name 'myKeyspace' --table-name 'myTable' --schema-definition 'allColumns=[{name=id,type=int},{name=name,type=text},{name=date,type=timestamp}],partitionKeys=[{name=id}]' --point-in-time-recovery 'status=ENABLED'
Konfirmasikan properti tabel baru dan tinjau
earliestRestorableTimestamp
untuk PITR.aws keyspaces get-table --keyspace-name 'myKeyspace' --table-name 'myTable'
Output perintah ini mengembalikan yang berikut ini ini ini ini ini ini ini ini dilakukan.
{ "keyspaceName": "myKeyspace", "tableName": "myTable", "resourceArn": "arn:aws:cassandra:us-east-1:111222333444:/keyspace/myKeyspace/table/myTable", "creationTimestamp": "2022-06-20T14:34:57.049000-07:00", "status": "ACTIVE", "schemaDefinition": { "allColumns": [ { "name": "id", "type": "int" }, { "name": "date", "type": "timestamp" }, { "name": "name", "type": "text" } ], "partitionKeys": [ { "name": "id" } ], "clusteringKeys": [], "staticColumns": [] }, "capacitySpecification": { "throughputMode": "PAY_PER_REQUEST", "lastUpdateToPayPerRequestTimestamp": "2022-06-20T14:34:57.049000-07:00" }, "encryptionSpecification": { "type": "AWS_OWNED_KMS_KEY" }, "pointInTimeRecovery": { "status": "ENABLED", "earliestRestorableTimestamp": "2022-06-20T14:35:13.693000-07:00" }, "defaultTimeToLive": 0, "comment": { "message": "" } }
Anda dapat mengembalikan tabel aktif ke salah satu point-in-time antara
earliestRestorableTimestamp
dan waktu saat ini dalam interval satu detik. Waktu saat ini adalah default.-
Untuk memulihkan tabel ke titik waktu, tentukan
restore_timestamp
dalam format ISO 8601. Anda dapat memilih titik waktu apa pun selama 35 hari terakhir dalam interval satu detik. Sebagai contoh, perintah berikut memulihkan tabel keEarliestRestorableDateTime
.aws keyspaces restore-table --source-keyspace-name 'myKeyspace' --source-table-name 'myTable' --target-keyspace-name 'myKeyspace' --target-table-name 'myTable_restored' --restore-timestamp "2022-06-20 21:35:14.693"
Output perintah ini mengembalikan ARN tabel dipulihkan.
{ "restoredTableARN": "arn:aws:cassandra:us-east-1:111222333444:/keyspace/myKeyspace/table/myTable_restored" }
Untuk mengembalikan tabel ke waktu saat ini, Anda dapat menghilangkan
restore-timestamp
.aws keyspaces restore-table --source-keyspace-name 'myKeyspace' --source-table-name 'myTable' --target-keyspace-name 'myKeyspace' --target-table-name 'myTable_restored1'"
penting
Ketika pemulihan sedang berlangsung, jangan memodifikasi atau menghapus kebijakan (IAM) AWS Identity and Access Management yang memberikan izin entitas IAM (misalnya, pengguna, grup, atau peran) untuk melakukan pemulihan. Jika tidak, perilaku tak terduga dapat terjadi. Sebagai contoh, misalkan Anda menghapus izin tulis untuk tabel yang sedang dipulihkan. Dalam kasus ini, operasi RestoreTableToPointInTime
yang mendasar tidak dapat menulis data mana pun yang dipulihkan ke tabel.
Anda dapat mengubah atau menghapus izin hanya setelah operasi pemulihan selesai.
Memulihkan tabel ke titik waktu dengan CQL
Prosedur berikut menunjukkan cara menggunakan CQL untuk memulihkan tabel yang ada bernamamytable
ke titik waktu.
catatan
Prosedur ini mengasumsikan bahwa Anda telah mengaktifkan point-in-time pemulihan. Untuk mengaktifkan PITR di atas meja, ikuti langkah-langkah diMengaktifkan PITR menggunakan CQL.
-
Anda dapat mengembalikan tabel aktif ke point-in-time antara
earliest_restorable_timestamp
dan waktu saat ini. Waktu saat ini adalah default.Untuk mengonfirmasi bahwa point-in-time pemulihan diaktifkan untuk
mytable
tabel, kuerisystem_schema_mcs.tables
sebagai berikut.SELECT custom_properties FROM system_schema_mcs.tables WHERE keyspace_name = 'mykeyspace' AND table_name = 'mytable';
oint-in-time pemulihan P diaktifkan seperti yang ditunjukkan dalam output sampel berikut ini.
custom_properties ----------------- { ..., "point_in_time_recovery": { "earliest_restorable_timestamp":"2020-06-30T19:19:21.175Z" "status":"enabled" } }
-
Memulihkan tabel ke titik waktu, ditentukan oleh
restore_timestamp
format ISO 8601. Dalam hal ini,mytable
tabel dipulihkan ke waktu saat ini. Anda dapat menghilangkanWITH restore_timestamp = ...
klausa. Tanpa klausa, stempel waktu saat ini digunakan.RESTORE TABLE mykeyspace.mytable_restored FROM TABLE mykeyspace.mytable;
Anda juga dapat memulihkan ke titik waktu tertentu. Anda dapat menentukan titik waktu apa pun selama 35 hari terakhir. Sebagai contoh, perintah berikut memulihkan tabel ke
EarliestRestorableDateTime
.RESTORE TABLE mykeyspace.mytable_restored FROM TABLE mykeyspace.mytable WITH restore_timestamp = '2020-06-30T19:19:21.175Z';
Untuk deskripsi sintaks lengkap, lihatRESTORE TABLE di referensi bahasa.
Untuk memverifikasi bahwa pemulihan tabel berhasil, kuerisystem_schema_mcs.tables
untuk mengkonfirmasi status tabel.
SELECT status FROM system_schema_mcs.tables WHERE keyspace_name = 'mykeyspace' AND table_name = 'mytable_restored'
Kueri menunjukkan output berikut ini.
status ------ RESTORING
Tabel yang sedang dipulihkan ditampilkan dengan status Memulihkan. Setelah proses pemulihan selesai, status mytable_restored
tabel berubah menjadi Aktif.
penting
Ketika pemulihan sedang berlangsung, jangan memodifikasi atau menghapus kebijakan (IAM) AWS Identity and Access Management yang memberikan izin entitas IAM (misalnya, pengguna, grup, atau peran) untuk melakukan pemulihan. Jika tidak, perilaku tak terduga dapat terjadi. Sebagai contoh, misalkan Anda menghapus izin tulis untuk tabel yang sedang dipulihkan. Dalam kasus ini, operasi RestoreTableToPointInTime
yang mendasar tidak dapat menulis data mana pun yang dipulihkan ke tabel.
Anda dapat mengubah atau menghapus izin hanya setelah operasi pemulihan selesai.
Memulihkan tabel yang dihapus denganAWS CLI
Prosedur berikut menunjukkan cara menggunakanAWS CLI untuk memulihkan tabel yang dihapus bernamamyTable
ke waktu penghapusan.
catatan
Prosedur ini mengasumsikan bahwa PITR diaktifkan pada tabel dihapus.
-
Hapus tabel yang Anda buat di tutorial sebelumnya.
aws keyspaces delete-table --keyspace-name 'myKeyspace' --table-name 'myTable'
-
Kembalikan tabel yang dihapus ke waktu penghapusan dengan perintah berikut.
aws keyspaces restore-table --source-keyspace-name 'myKeyspace' --source-table-name 'myTable' --target-keyspace-name 'myKeyspace' --target-table-name 'myTable_restored2'
Output perintah ini mengembalikan ARN tabel dipulihkan.
{ "restoredTableARN": "arn:aws:cassandra:us-east-1:111222333444:/keyspace/myKeyspace/table/myTable_restored2" }
Memulihkan tabel yang dihapus dengan CQL
Prosedur berikut menunjukkan cara menggunakan CQL untuk memulihkan tabel yang dihapus bernamamytable
ke waktu penghapusan.
catatan
Prosedur ini mengasumsikan bahwa PITR diaktifkan pada tabel dihapus.
-
Untuk mengonfirmasi bahwa point-in-time pemulihan diaktifkan untuk tabel yang dihapus, kueri tabel sistem. Hanya tabel dengan point-in-time pemulihan diaktifkan yang ditampilkan.
SELECT custom_properties FROM system_schema_mcs.tables_history WHERE keyspace_name = 'mykeyspace' AND table_name = 'my_table';
Kueri menunjukkan output berikut ini.
custom_properties ------------------ { ..., "point_in_time_recovery":{ "restorable_until_time":"2020-08-04T00:48:58.381Z", "status":"enabled" } }
-
Kembalikan tabel ke waktu penghapusan dengan pernyataan sampel berikut.
RESTORE TABLE mykeyspace.mytable_restored FROM TABLE mykeyspace.mytable;