Cara kerja point-in-time pemulihan di Amazon Keyspaces - Amazon Keyspaces (untuk Apache Cassandra)

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Cara kerja point-in-time pemulihan di Amazon Keyspaces

Bagian ini memberikan ikhtisar tentang cara kerja point-in-time pemulihan Amazon Keyspaces (PITR). Untuk informasi selengkapnya tentang harga, lihat harga Amazon Keyspaces (untuk Apache Cassandra).

Mengaktifkan point-in-time pemulihan (PITR)

Anda dapat mengaktifkan PITR dengan menggunakan konsol, atau Anda dapat mengaktifkannya secara terprogram.

Mengaktifkan PITR dengan konsol

Pengaturan PITR untuk tabel baru dapat dikelola di bawah opsi Pengaturan yang disesuaikan. Secara default, PITR diaktifkan pada tabel baru yang dibuat melalui konsol.

Untuk mengaktifkan PITR untuk tabel yang ada, selesaikan langkah-langkah berikut.

  1. Masuk keAWS Management Console, dan buka konsol Amazon Keyspaces di https://console.aws.amazon.com/keyspaces/home.

  2. Di panel navigasi, pilih Tabel dan pilih tabel yang ingin Anda edit.

  3. Pada tab Backup, pilih Edit.

  4. Di bagian Edit pengaturan point-in-time pemulihan, pilih Aktifkan oint-in-time pemulihan P.

Anda dapat menonaktifkan PITR di atas meja kapan saja dengan langkah-langkah berikut.

  1. Masuk keAWS Management Console, dan buka konsol Amazon Keyspaces di https://console.aws.amazon.com/keyspaces/home.

  2. Di panel navigasi, pilih Tabel dan pilih tabel yang ingin Anda edit.

  3. Pada tab Backup, pilih Edit.

  4. Di bagian Edit pengaturan point-in-time pemulihan, kosongkan kotak centang Aktifkan oint-in-time pemulihan P.

penting

Menonaktifkan PITR segera menghapus riwayat cadangan Anda, bahkan jika Anda mengaktifkan kembali PITR di atas meja dalam waktu 35 hari.

Untuk mempelajari cara mengembalikan tabel menggunakan konsol, lihatMemulihkan tabel ke titik waktu ().

Mengaktifkan PITR menggunakan AWS CLI

Anda dapat mengelola pengaturan PITR untuk tabel dengan menggunakan UpdateTable API.

Saat membuat tabel baru menggunakanAWS CLI, Anda harus secara eksplisit mengaktifkan PITR saat Anda membuat tabel baru.

Untuk mengaktifkan PITR saat Anda membuat tabel baru, Anda dapat menggunakan AWS CLI perintah berikut sebagai contoh. Perintah telah dipecah menjadi baris terpisah untuk meningkatkan keterbacaan.

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'
catatan

Jika tidak ada nilai point-in-time pemulihan yang ditentukan, point-in-time pemulihan dinonaktifkan secara default.

Untuk mengonfirmasi pengaturan point-in-time pemulihan untuk tabel, Anda dapat menggunakan AWS CLI perintah berikut.

aws keyspaces get-table --keyspace-name 'myKeyspace' --table-name 'myTable'

Untuk mengaktifkan PITR untuk tabel yang ada menggunakanAWS CLI, jalankan perintah berikut.

aws keyspaces update-table --keyspace-name 'myKeyspace' --table-name 'myTable' --point-in-time-recovery 'status=ENABLED'

Untuk menonaktifkan PITR pada tabel yang ada, jalankan AWS CLI perintah berikut.

aws keyspaces update-table --keyspace-name 'myKeyspace' --table-name 'myTable' --point-in-time-recovery 'status=DISABLED'
penting

Menonaktifkan PITR segera menghapus riwayat cadangan Anda, bahkan jika Anda mengaktifkan kembali PITR di atas meja dalam waktu 35 hari.

Mengaktifkan PITR menggunakan CQL

Anda dapat mengelola pengaturan PITR untuk tabel dengan menggunakan properti point_in_time_recovery kustom.

Saat membuat tabel baru menggunakan CQL, Anda harus secara eksplisit mengaktifkan PITR saat Anda membuat tabel baru.

Untuk mengaktifkan PITR saat Anda membuat tabel baru, Anda dapat menggunakan perintah CQL berikut sebagai contoh.

CREATE TABLE "my_keyspace1"."my_table1"( "id" int, "name" ascii, "date" timestamp, PRIMARY KEY("id")) WITH CUSTOM_PROPERTIES = { 'capacity_mode':{'throughput_mode':'PAY_PER_REQUEST'}, 'point_in_time_recovery':{'status':'enabled'} }
catatan

Jika tidak ada properti kustom point-in-time pemulihan yang ditentukan, point-in-time pemulihan dinonaktifkan secara default.

Untuk mengaktifkan PITR untuk tabel yang ada menggunakan CQL, jalankan perintah CQL berikut.

ALTER TABLE mykeyspace.mytable WITH custom_properties = {'point_in_time_recovery': {'status': 'enabled'}}

Untuk menonaktifkan PITR pada tabel yang ada, jalankan perintah CQL berikut.

ALTER TABLE mykeyspace.mytable WITH custom_properties = {'point_in_time_recovery': {'status': 'disabled'}}
penting

Menonaktifkan PITR segera menghapus riwayat cadangan Anda, bahkan jika Anda mengaktifkan kembali PITR di atas meja dalam waktu 35 hari.

Untuk informasi selengkapnya di Referensi Bahasa CQL, lihat CREATE TABLE dan. ALTER TABLE Untuk mempelajari cara mengembalikan tabel menggunakan CQL, lihat. Memulihkan tabel ke titik waktu dengan CQL

Izin diperlukan untuk memulihkan tabel

Agar berhasil memulihkan tabel, pengguna atau peran IAM memerlukan izin minimum berikut:

  • cassandra:Restore— Tindakan pemulihan diperlukan agar tabel target dipulihkan.

  • cassandra:Select— Tindakan pilih diperlukan untuk membaca dari tabel sumber.

  • cassandra:TagResource— Tindakan tag adalah opsional, dan hanya diperlukan jika operasi pemulihan menambahkan tag.

Berikut ini adalah contoh kebijakan yang memberikan izin minimum yang diperlukan kepada pengguna untuk memulihkan tabel di ruang kunci. mykeyspace

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "cassandra:Restore", "cassandra:Select" ], "Resource":[ "arn:aws:cassandra:us-east-1:111122223333:/keyspace/mykeyspace/*", "arn:aws:cassandra:us-east-1:111122223333:/keyspace/system*" ] } ] }

Izin tambahan untuk memulihkan tabel mungkin diperlukan berdasarkan fitur lain yang dipilih. Misalnya, jika tabel sumber dienkripsi saat istirahat dengan kunci yang dikelola pelanggan, Amazon Keyspaces harus memiliki izin untuk mengakses kunci terkelola pelanggan dari tabel sumber agar berhasil memulihkan tabel. Untuk informasi selengkapnya, lihat PITR mengembalikan tabel terenkripsi.

Jika Anda menggunakan kebijakan IAM dengan kunci kondisi untuk membatasi lalu lintas masuk ke sumber tertentu, Anda harus memastikan bahwa Amazon Keyspaces memiliki izin untuk melakukan operasi pemulihan atas nama kepala sekolah Anda. Anda harus menambahkan kunci aws:ViaAWSService kondisi ke kebijakan IAM Anda jika kebijakan Anda membatasi lalu lintas masuk ke salah satu dari berikut ini:

  • Titik akhir VPC dengan aws:SourceVpce

  • Rentang IP dengan aws:SourceIp

  • VPC dengan aws:SourceVpc

Kunci aws:ViaAWSService kondisi memungkinkan akses ketika AWS layanan apa pun membuat permintaan menggunakan kredensi kepala sekolah. Untuk informasi selengkapnya, lihat elemen kebijakan IAM JSON: Kunci kondisi di Panduan Pengguna IAM.

Berikut ini adalah contoh kebijakan yang membatasi lalu lintas sumber ke alamat IP tertentu dan memungkinkan Amazon Keyspaces memulihkan tabel atas nama kepala sekolah.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"CassandraAccessForCustomIp", "Effect":"Allow", "Action":"cassandra:*", "Resource":"*", "Condition":{ "Bool":{ "aws:ViaAWSService":"false" }, "ForAnyValue:IpAddress":{ "aws:SourceIp":[ "123.45.167.89" ] } } }, { "Sid":"CassandraAccessForAwsService", "Effect":"Allow", "Action":"cassandra:*", "Resource":"*", "Condition":{ "Bool":{ "aws:ViaAWSService":"true" } } } ] }

Untuk contoh kebijakan menggunakan kunci kondisi aws:ViaAWSService global, lihatKebijakan titik akhir VPC dan pemulihan Amazon point-in-time Keyspaces (PITR).

Jendela waktu untuk pencadangan berkelanjutan PITR

Amazon Keyspaces PITR menggunakan dua stempel waktu untuk mempertahankan kerangka waktu cadangan yang dapat dipulihkan tersedia untuk sebuah tabel.

  • Waktu paling awal yang dapat dipulihkan — Menandai waktu pencadangan paling awal yang dapat dipulihkan. Pencadangan paling awal yang dapat dipulihkan kembali hingga 35 hari atau ketika PITR diaktifkan, mana yang lebih baru. Jendela cadangan maksimum 35 hari tidak dapat diubah.

  • Waktu saat ini - Stempel waktu untuk cadangan terbaru yang dapat dipulihkan adalah waktu saat ini. Jika tidak ada stempel waktu yang diberikan selama pemulihan, waktu saat ini digunakan.

Ketika PITR diaktifkan, Anda dapat mengembalikan ke titik waktu antara EarliestRestorableDateTime danCurrentTime. Anda hanya dapat mengembalikan data tabel ke waktu ketika PITR diaktifkan.

Jika Anda menonaktifkan PITR dan kemudian mengaktifkannya kembali, Anda mengatur ulang waktu mulai untuk cadangan pertama yang tersedia saat PITR diaktifkan kembali. Ini berarti bahwa menonaktifkan PITR menghapus riwayat cadangan Anda.

catatan

Operasi bahasa definisi data (DDL) pada tabel, seperti perubahan skema, dilakukan secara asinkron. Anda hanya dapat melihat operasi yang telah selesai dalam data tabel yang dipulihkan, tetapi Anda mungkin melihat tindakan tambahan pada tabel sumber jika sedang berlangsung pada saat pemulihan. Untuk daftar pernyataan DDL, lihatPernyataan DDL (bahasa definisi data) di Amazon Keyspaces.

Tabel tidak harus aktif untuk dipulihkan. Anda juga dapat memulihkan tabel yang dihapus jika PITR diaktifkan pada tabel yang dihapus dan penghapusan terjadi dalam jendela cadangan (atau dalam 35 hari terakhir).

catatan

Jika tabel baru dibuat dengan nama yang memenuhi syarat yang sama (misalnya, mykeyspace.mytable) sebagai tabel yang dihapus sebelumnya, tabel yang dihapus tidak akan lagi dapat dipulihkan. Jika Anda mencoba melakukan ini dari konsol, peringatan akan ditampilkan.

Pengaturan pemulihan PITR

Saat memulihkan tabel menggunakan PITR, Amazon Keyspaces mengembalikan skema dan data tabel sumber Anda ke status berdasarkan timestamp day:hour:minute:second () yang dipilih ke tabel baru. PITR tidak menimpa tabel yang ada.

Selain skema dan data tabel, PITR mengembalikan custom_properties dari tabel sumber. Tidak seperti data tabel, yang dipulihkan berdasarkan stempel waktu yang dipilih antara waktu pemulihan paling awal dan waktu saat ini, properti kustom selalu dipulihkan berdasarkan pengaturan tabel pada waktu saat ini.

Pengaturan tabel yang dipulihkan cocok dengan pengaturan tabel sumber dengan stempel waktu saat pemulihan dimulai. Jika Anda ingin menimpa pengaturan ini selama pemulihan, Anda dapat melakukannya dengan menggunakanWITH custom_properties. Properti kustom termasuk pengaturan berikut.

  • Mode kapasitas baca/tulis

  • Pengaturan kapasitas throughput yang disediakan

  • Pengaturan PITR

Jika tabel dalam mode kapasitas yang disediakan dengan penskalaan otomatis diaktifkan, operasi pemulihan juga mengembalikan pengaturan penskalaan otomatis tabel. Anda dapat menimpa mereka menggunakan autoscaling_settings parameter di CQL atau dengan CLIautoScalingSpecification. Untuk informasi selengkapnya tentang pengaturan penskalaan otomatis, lihatKelola kapasitas throughput secara otomatis dengan penskalaan otomatis Amazon Keyspaces.

Ketika Anda melakukan pemulihan tabel penuh, semua pengaturan tabel untuk tabel yang dipulihkan berasal dari pengaturan saat ini dari tabel sumber pada saat pemulihan.

Sebagai contoh, misalkan throughput yang disediakan tabel baru-baru ini diturunkan ke 50 unit kapasitas baca dan 50 unit kapasitas tulis. Anda kemudian mengembalikan status tabel ke tiga minggu yang lalu. Pada saat ini, throughput yang disediakan ditetapkan menjadi 100 unit kapasitas baca dan 100 unit kapasitas tulis. Dalam hal ini, Amazon Keyspaces mengembalikan data tabel Anda ke titik waktu tersebut, tetapi menggunakan pengaturan throughput yang disediakan saat ini (50 unit kapasitas baca dan 50 unit kapasitas tulis).

Pengaturan berikut tidak dipulihkan, dan Anda harus mengkonfigurasinya secara manual untuk tabel baru.

  • Kebijakan AWS Identity and Access Management (IAM).

  • CloudWatch Metrik dan alarm Amazon

  • Tag (dapat ditambahkan ke RESTORE pernyataan CQL menggunakan) WITH TAGS

PITR mengembalikan tabel terenkripsi

Saat Anda memulihkan tabel menggunakan PITR, Amazon Keyspaces mengembalikan setelan enkripsi tabel sumber Anda. Jika tabel dienkripsi dengan Kunci milik AWS (default), tabel dipulihkan dengan pengaturan yang sama secara otomatis. Jika tabel yang ingin Anda pulihkan dienkripsi menggunakan kunci yang dikelola pelanggan, kunci terkelola pelanggan yang sama harus dapat diakses ke Amazon Keyspaces untuk memulihkan data tabel.

Anda dapat mengubah pengaturan enkripsi tabel pada saat pemulihan. Untuk beralih dari kunci yang dikelola pelanggan Kunci milik AWS ke kunci yang dikelola pelanggan, Anda harus menyediakan kunci terkelola pelanggan yang valid dan dapat diakses pada saat pemulihan.

Jika Anda ingin mengubah dari kunci yang dikelola pelanggan ke kunciKunci milik AWS, konfirmasikan bahwa Amazon Keyspaces memiliki akses ke kunci terkelola pelanggan dari tabel sumber untuk memulihkan tabel dengan file. Kunci milik AWS Untuk informasi selengkapnya tentang enkripsi pada pengaturan istirahat untuk tabel, lihatEnkripsi saat istirahat: Cara kerjanya di Amazon Keyspaces.

catatan

Jika tabel dihapus karena Amazon Keyspaces kehilangan akses ke kunci yang dikelola pelanggan, Anda perlu memastikan kunci yang dikelola pelanggan dapat diakses oleh Amazon Keyspaces sebelum mencoba memulihkan tabel. Tabel yang dienkripsi dengan kunci yang dikelola pelanggan tidak dapat dipulihkan jika Amazon Keyspaces tidak memiliki akses ke kunci tersebut. Untuk informasi selengkapnya, lihat Memecahkan masalah akses kunci di Panduan AWS Key Management Service Pengembang.

PITR mengembalikan tabel Multi-wilayah

Anda dapat mengembalikan tabel Multi-wilayah menggunakan PITR. Agar operasi pemulihan berhasil, baik sumber dan tabel tujuan harus direplikasi ke yang samaWilayah AWS.

Amazon Keyspaces mengembalikan pengaturan tabel sumber di setiap Wilayah yang direplikasi yang merupakan bagian dari ruang kunci. Anda juga dapat mengganti pengaturan selama operasi pemulihan. Untuk informasi selengkapnya tentang pengaturan yang dapat diubah selama pemulihan, lihatPengaturan pemulihan PITR.

Untuk informasi selengkapnya tentang Replikasi Multi-Wilayah, lihat. Cara kerja Replikasi Multi-Wilayah di Amazon Keyspaces

Waktu pemulihan tabel dengan PITR

Waktu yang dibutuhkan untuk mengembalikan tabel didasarkan pada beberapa faktor dan tidak selalu berkorelasi langsung dengan ukuran tabel.

Berikut ini adalah beberapa pertimbangan untuk waktu pemulihan.

  • Anda mengembalikan cadangan ke tabel baru. Diperlukan waktu hingga 20 menit (bahkan jika tabel kosong) untuk melakukan semua tindakan untuk membuat tabel baru dan memulai proses pemulihan.

  • Waktu pemulihan untuk tabel besar dengan model data yang terdistribusi dengan baik bisa beberapa jam atau lebih lama.

  • Jika tabel sumber Anda berisi data yang miring secara signifikan, waktu untuk memulihkan mungkin meningkat. Misalnya, jika kunci utama tabel Anda menggunakan bulan dalam setahun sebagai kunci partisi, dan semua data Anda berasal dari bulan Desember, Anda memiliki data miring.

Praktik terbaik saat merencanakan pemulihan bencana adalah mendokumentasikan waktu penyelesaian pemulihan rata-rata secara teratur dan menetapkan bagaimana waktu tersebut memengaruhi Sasaran Waktu Pemulihan Anda secara keseluruhan.

Amazon Keyspaces PITR dan integrasi dengan layanan AWS

Operasi PITR berikut dicatat menggunakan AWS CloudTrail untuk memungkinkan pemantauan dan audit berkelanjutan.

  • Buat tabel baru dengan PITR diaktifkan atau dinonaktifkan.

  • Aktifkan atau nonaktifkan PITR pada tabel yang ada.

  • Kembalikan tabel aktif atau dihapus.

Untuk informasi selengkapnya, lihat Mencatat panggilan API Amazon Keyspaces dengan AWS CloudTrail.

Anda dapat melakukan tindakan PITR berikut menggunakanAWS CloudFormation.

  • Buat tabel baru dengan PITR diaktifkan atau dinonaktifkan.

  • Aktifkan atau nonaktifkan PITR pada tabel yang ada.

Untuk informasi selengkapnya, lihat Referensi Jenis Sumber Daya Cassandra di AWS CloudFormationPanduan Pengguna.