View a markdown version of this page

Memulihkan tabel DynamoDB ke titik waktu - Amazon DynamoDB

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

Memulihkan tabel DynamoDB ke titik waktu

Pemulihan titik waktu (PITR) Amazon DynamoDB menyediakan pencadangan berkelanjutan pada data tabel DynamoDB Anda. Anda dapat memulihkan tabel ke titik waktu menggunakan konsol DynamoDB atau AWS Command Line Interface (AWS CLI). Proses pemulihan titik waktu mengembalikan ke tabel baru.

Karena pemulihan selalu membuat tabel baru, tabel sumber Anda tetap tersedia sepenuhnya untuk dibaca dan ditulis saat pemulihan berjalan. Durasi pemulihan tergantung pada jumlah data dan jumlah indeks sekunder yang dibangun kembali DynamoDB pada tabel baru—tabel yang lebih besar dan lebih banyak indeks membutuhkan waktu lebih lama, dan tidak ada waktu penyelesaian tetap yang dijamin. Untuk membuat pemulihan lebih cepat, Anda dapat mengecualikan beberapa atau semua indeks sekunder dari tabel baru.

Pemulihan membuat ulang yang berikut pada tabel baru dari pengaturan tabel sumber pada titik pemulihan: data tabel, indeks sekunder global, indeks sekunder lokal, kapasitas baca dan tulis yang disediakan, dan pengaturan enkripsi. Setelah pemulihan selesai, Anda harus menyiapkan sendiri hal-hal berikut pada tabel baru, karena pemulihan tidak meneruskannya: kebijakan penskalaan otomatis, kebijakan Manajemen AWS Identitas dan Akses, CloudWatch metrik dan alarm, tag, pengaturan Streams DynamoDB, pengaturan Waktu untuk Langsung, dan pengaturan pemulihan point-in-time.

Jika Anda ingin menggunakan AWS CLI, Anda harus mengkonfigurasinya terlebih dahulu. Untuk informasi selengkapnya, lihat Mengakses DynamoDB.

Memulihkan tabel DynamoDB ke suatu titik waktu (konsol)

Contoh berikut menunjukkan cara menggunakan konsol DynamoDB untuk memulihkan tabel yang ada yang bernama Music ke titik waktu tertentu.

catatan

Prosedur ini mengasumsikan bahwa Anda telah mengaktifkan pemulihan titik waktu. Untuk mengaktifkannya untuk Music tabel, pada tab Cadangan, di bagian Point-in-time pemulihan (PITR), pilih Edit dan kemudian centang kotak di sebelah Aktifkan pemulihan point- in-time-.

Untuk memulihkan tabel ke suatu titik waktu
  1. Masuk ke Konsol Manajemen AWS dan buka konsol DynamoDB di. https://console.aws.amazon.com/dynamodb/

  2. Di panel navigasi di sisi kiri konsol, pilih Tabel.

  3. Dalam daftar tabel, pilih tabel Music.

  4. Pada tab Cadangan Music tabel, di bagian Point-in-time pemulihan (PITR), pilih Puli hkan.

  5. Untuk nama tabel baru, masukkan MusicMinutesAgo.

    catatan

    Anda dapat mengembalikan tabel ke Wilayah yang sama AWS atau ke Wilayah yang berbeda dari tempat tabel sumber berada. Anda juga dapat mengecualikan indeks sekunder dari yang dibuat pada tabel yang dipulihkan. Selain itu, Anda dapat menentukan mode enkripsi yang berbeda.

  6. Untuk mengonfirmasi waktu yang dapat dipulihkan, atur tanggal dan waktu pemulihan ke Paling awal. Kemudian pilih Pulihkan untuk memulai proses pemulihan.

    Tabel yang sedang dipulihkan ditampilkan dengan status Memulihkan. Setelah proses pemulihan selesai, status tabel MusicMinutesAgo berubah menjadi Aktif.

Memulihkan tabel ke suatu titik waktu (AWS CLI)

Prosedur berikut menunjukkan cara menggunakan AWS CLI untuk mengembalikan tabel yang ada bernama Music ke titik waktu.

catatan

Prosedur ini mengasumsikan bahwa Anda telah mengaktifkan pemulihan titik waktu. Untuk mengaktifkannya untuk tabel Music, jalankan perintah berikut.

aws dynamodb update-continuous-backups \ --table-name Music \ --point-in-time-recovery-specification PointInTimeRecoveryEnabled=True

Untuk memulihkan tabel ke suatu titik waktu
  1. Konfirmasi bahwa pemulihan titik waktu diaktifkan untuk tabel Music dengan menggunakan perintah describe-continuous-backups.

    aws dynamodb describe-continuous-backups \ --table-name Music

    Pencadangan berkelanjutan (otomatis diaktifkan pada pembuatan tabel) dan pemulihan titik waktu diaktifkan.

    { "ContinuousBackupsDescription": { "PointInTimeRecoveryDescription": { "PointInTimeRecoveryStatus": "ENABLED", "EarliestRestorableDateTime": 1519257118.0, "LatestRestorableDateTime": 1520018653.01 }, "ContinuousBackupsStatus": "ENABLED" } }
  2. Memulihkan tabel ke titik waktu. Dalam hal ini, tabel Music dipulihkan ke LatestRestorableDateTime (~5 menit lalu) ke Wilayah AWS yang sama.

    aws dynamodb restore-table-to-point-in-time \ --source-table-name Music \ --target-table-name MusicMinutesAgo \ --use-latest-restorable-time
    catatan

    Anda juga dapat memulihkan ke titik waktu tertentu. Untuk melakukannya, jalankan perintah menggunakan argumen --restore-date-time, dan tentukan stempel waktu. Anda dapat menentukan titik waktu apa pun dalam periode pemulihan yang dikonfigurasi, yang dapat diatur ke nilai apa pun antara 1 dan 35 hari. Sebagai contoh, perintah berikut memulihkan tabel ke EarliestRestorableDateTime.

    aws dynamodb restore-table-to-point-in-time \ --source-table-name Music \ --target-table-name MusicEarliestRestorableDateTime \ --no-use-latest-restorable-time \ --restore-date-time 1519257118.0

    Menentukan argumen --no-use-latest-restorable-time bersifat opsional ketika memulihkan ke titik waktu tertentu.

  3. Memulihkan tabel ke titik waktu dengan pengaturan tabel kustom. Dalam hal ini, tabel Music dipulihkan ke LatestRestorableDateTime (~5 menit lalu).

    Anda dapat menentukan mode enkripsi yang berbeda untuk tabel dipulihkan, sebagai berikut.

    catatan

    Parameter sse-specification-override mengambil nilai yang sama seperti yang digunakan parameter sse-specification-override dalam perintah CreateTable. Untuk mempelajari selengkapnya, lihat Mengelola tabel yang dienkripsi di DynamoDB.

    aws dynamodb restore-table-to-point-in-time \ --source-table-name Music \ --target-table-name MusicMinutesAgo \ --use-latest-restorable-time \ --sse-specification-override Enabled=true,SSEType=KMS,KMSMasterKeyId=abcd1234-abcd-1234-a123-ab1234a1b234

    Anda dapat mengembalikan tabel ke Wilayah yang berbeda AWS dari tempat tabel sumber berada.

    catatan
    • Parameter sse-specification-override bersifat wajib untuk pemulihan lintas Wilayah, namun opsional untuk pemulihan ke Wilayah yang sama dengan tabel sumber.

    • Parameter source-table-arn harus disediakan untuk pemulihan lintas-wilayah.

    • Saat melakukan pemulihan lintas wilayah dari baris perintah, Anda harus mengatur Wilayah default ke AWS Wilayah tujuan yang diinginkan. Untuk mempelajari selengkapnya, lihat Opsi baris perintah di Panduan Pengguna AWS Command Line Interface .

    aws dynamodb restore-table-to-point-in-time \ --source-table-arn arn:aws:dynamodb:us-east-1:123456789012:table/Music \ --target-table-name MusicMinutesAgo \ --use-latest-restorable-time \ --sse-specification-override Enabled=true,SSEType=KMS,KMSMasterKeyId=abcd1234-abcd-1234-a123-ab1234a1b234

    Anda dapat menimpa modus penagihan dan throughput yang disediakan untuk tabel yang dipulihkan.

    aws dynamodb restore-table-to-point-in-time \ --source-table-name Music \ --target-table-name MusicMinutesAgo \ --use-latest-restorable-time \ --billing-mode-override PAY_PER_REQUEST

    Anda dapat mengecualikan beberapa atau semua indeks sekunder dari yang dibuat pada tabel yang baru dipulihkan.

    catatan

    Pemulihan dapat lebih cepat dan lebih hemat biaya jika Anda mengecualikan beberapa atau semua indeks sekunder dari pembuatan pada tabel yang baru dipulihkan.

    aws dynamodb restore-table-to-point-in-time \ --source-table-name Music \ --target-table-name MusicMinutesAgo \ --use-latest-restorable-time \ --global-secondary-index-override '[]'

    Anda dapat menggunakan kombinasi dari penimpaan yang berbeda. Misalnya, Anda dapat menggunakan satu indeks sekunder global dan mengubah throughput yang disediakan secara bersamaan, sebagai berikut.

    aws dynamodb restore-table-to-point-in-time \ --source-table-name Music \ --target-table-name MusicMinutesAgo \ --billing-mode-override PROVISIONED \ --provisioned-throughput-override ReadCapacityUnits=100,WriteCapacityUnits=100 \ --global-secondary-index-override IndexName=singers-index,KeySchema=["{AttributeName=SingerName,KeyType=HASH}"],Projection="{ProjectionType=KEYS_ONLY}",ProvisionedThroughput="{ReadCapacityUnits=50,WriteCapacityUnits=50}" \ --sse-specification-override Enabled=true,SSEType=KMS \ --use-latest-restorable-time

Untuk memverifikasi pemulihan, gunakan perintah describe-table untuk menggambarkan tabel MusicEarliestRestorableDateTime.

aws dynamodb describe-table --table-name MusicEarliestRestorableDateTime

Tabel yang sedang dipulihkan ditampilkan dengan status Membuat dan pemulihan dalam proses sebagai true. Setelah proses pemulihan selesai, status tabel MusicEarliestRestorableDateTime berubah menjadi Aktif.

penting

Saat pemulihan sedang berlangsung, jangan memodifikasi atau menghapus kebijakan AWS Identity and Access Management (IAM) yang memberikan izin kepada entitas IAM (misalnya, pengguna, grup, atau peran) untuk melakukan pemulihan. Jika tidak, perilaku tak terduga dapat terjadi. Misalnya, Anda menghapus izin menulis untuk sebuah tabel saat tabel tersebut sedang dipulihkan. Dalam kasus ini, operasi RestoreTableToPointInTime yang mendasarinya tidak dapat menulis data apa pun yang dipulihkan ke tabel. Kebijakan IAM yang melibatkan pembatasan IP sumber untuk mengakses tabel pemulihan target juga dapat menyebabkan masalah.

Anda dapat mengubah atau menghapus izin hanya setelah operasi pemulihan selesai.