

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

# Gunakan point-in-time pemulihan di Amazon Keyspaces
<a name="PointInTimeRecovery_Tutorial"></a>

Dengan Amazon Keyspaces (untuk Apache Cassandra), Anda dapat mengembalikan tabel ke titik waktu tertentu menggunakan Point-in-Time Restore (PITR). PITR memungkinkan Anda mengembalikan tabel ke keadaan sebelumnya dalam 35 hari terakhir, memberikan perlindungan data dan kemampuan pemulihan. Fitur ini berharga dalam kasus-kasus seperti penghapusan data yang tidak disengaja, kesalahan aplikasi, atau untuk tujuan pengujian. Anda dapat dengan cepat dan efisien memulihkan data, meminimalkan downtime dan kehilangan data. Bagian berikut memandu Anda melalui proses memulihkan tabel menggunakan PITR di Amazon Keyspaces, memastikan integritas data dan kelangsungan bisnis. 

**Topics**
+ [Konfigurasikan izin IAM tabel pemulihan untuk Amazon Keyspaces PITR](howitworks_restore_permissions.md)
+ [Konfigurasikan PITR untuk tabel di Amazon Keyspaces](configure_PITR.md)
+ [Matikan PITR untuk tabel Amazon Keyspaces](disable_PITR.md)
+ [Pulihkan tabel dari cadangan ke titik waktu tertentu di Amazon Keyspaces](restoretabletopointintime.md)
+ [Kembalikan tabel yang dihapus menggunakan Amazon Keyspaces PITR](restoredeleted.md)

# Konfigurasikan izin IAM tabel pemulihan untuk Amazon Keyspaces PITR
<a name="howitworks_restore_permissions"></a>

Bagian ini merangkum cara mengonfigurasi izin untuk prinsipal AWS Identity and Access Management (IAM) untuk memulihkan tabel Amazon Keyspaces. Di IAM, kebijakan AWS terkelola `AmazonKeyspacesFullAccess` menyertakan izin untuk memulihkan tabel Amazon Keyspaces. Untuk menerapkan kebijakan khusus dengan izin minimum yang diperlukan, pertimbangkan persyaratan yang diuraikan di bagian berikutnya.

Agar berhasil memulihkan tabel, prinsipal 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.

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](PointInTimeRecovery_HowItWorks.md#howitworks_backup_encryption). 

Jika Anda menggunakan kebijakan IAM dengan [kunci kondisi](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) 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`
+ VPCs 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) 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, lihat[Kebijakan titik akhir VPC dan pemulihan Amazon point-in-time Keyspaces (PITR)](vpc-endpoints.md#VPC_PITR_restore).

# Konfigurasikan PITR untuk tabel di Amazon Keyspaces
<a name="configure_PITR"></a>

Anda dapat mengonfigurasi tabel di Amazon Keyspaces untuk operasi pencadangan dan pemulihan menggunakan PITR dengan konsol, CQL, dan. AWS CLI

Saat membuat tabel baru menggunakan CQL atau AWS CLI, Anda harus secara eksplisit mengaktifkan PITR dalam pernyataan buat tabel. Saat Anda membuat tabel baru menggunakan konsol, PITR akan diaktifkan secara default.

Untuk mempelajari cara mengembalikan tabel, lihat[Pulihkan tabel dari cadangan ke titik waktu tertentu di Amazon Keyspaces](restoretabletopointintime.md).

------
#### [ Console ]

**Konfigurasikan PITR untuk tabel menggunakan konsol**

1. [Masuk ke Konsol Manajemen AWS, dan buka konsol Amazon Keyspaces di https://console.aws.amazon.com/keyspaces/ rumah.](https://console.aws.amazon.com/keyspaces/home)

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

1. **Pada tab **Backup**, pilih Edit.**

1. Di bagian **Edit pengaturan point-in-time pemulihan**, pilih **Aktifkan Point-in-time pemulihan**.

1. Pilih **Simpan perubahan**.

------
#### [ Cassandra Query Language (CQL) ]

**Konfigurasikan PITR untuk tabel menggunakan CQL**

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

   Untuk mengaktifkan PITR saat Anda membuat tabel baru, Anda harus mengatur status `point_in_time_recovery` ke`enabled`. 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.

1. 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'}}
   ```

------
#### [ CLI ]

**Konfigurasikan PITR untuk tabel menggunakan AWS CLI**

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

   Untuk mengaktifkan PITR saat Anda membuat tabel baru, Anda harus menyertakan `point-in-time-recovery 'status=ENABLED'` dalam perintah create table. 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.

1. 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'
   ```

1. Untuk mengaktifkan PITR untuk tabel yang ada menggunakan AWS CLI, jalankan perintah berikut.

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

------

# Matikan PITR untuk tabel Amazon Keyspaces
<a name="disable_PITR"></a>

Anda dapat menonaktifkan PITR untuk tabel Amazon Keyspaces kapan saja menggunakan konsol, CQL, atau. AWS CLI

**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, lihat[Pulihkan tabel dari cadangan ke titik waktu tertentu di Amazon Keyspaces](restoretabletopointintime.md).

------
#### [ Console ]

**Nonaktifkan PITR untuk tabel menggunakan konsol**

1. [Masuk ke Konsol Manajemen AWS, dan buka konsol Amazon Keyspaces di https://console.aws.amazon.com/keyspaces/ rumah.](https://console.aws.amazon.com/keyspaces/home)

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

1. **Pada tab **Backup**, pilih Edit.**

1. Di bagian **Edit pengaturan point-in-time pemulihan**, kosongkan kotak centang **Aktifkan Point-in-time pemulihan**.

1. Pilih **Simpan perubahan**.

------
#### [ Cassandra Query Language (CQL) ]

**Nonaktifkan PITR untuk tabel menggunakan CQL**
+ Untuk menonaktifkan PITR untuk tabel yang ada, jalankan perintah CQL berikut.

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

------
#### [ CLI ]

**Nonaktifkan PITR untuk tabel menggunakan AWS CLI**
+ Untuk menonaktifkan PITR untuk tabel yang ada, jalankan AWS CLI perintah berikut.

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

------

# Pulihkan tabel dari cadangan ke titik waktu tertentu di Amazon Keyspaces
<a name="restoretabletopointintime"></a>

Bagian berikut menunjukkan cara mengembalikan tabel Amazon Keyspaces yang ada ke titik waktu tertentu. 

**catatan**  
Prosedur ini mengasumsikan bahwa tabel yang Anda gunakan telah dikonfigurasi dengan point-in-time pemulihan. Untuk mengaktifkan PITR untuk tabel, lihat[Konfigurasikan PITR untuk tabel di Amazon Keyspaces](configure_PITR.md). 

**penting**  
 Saat pemulihan sedang berlangsung, jangan mengubah atau menghapus kebijakan AWS Identity and Access Management (IAM) yang memberikan izin utama IAM (misalnya, pengguna, grup, atau peran) untuk melakukan pemulihan. Jika tidak, perilaku tak terduga dapat terjadi. Misalnya, jika Anda menghapus izin tulis untuk tabel saat tabel tersebut dipulihkan, `RestoreTableToPointInTime` operasi yang mendasarinya tidak dapat menulis data yang dipulihkan ke tabel.   
Anda dapat memodifikasi atau menghapus izin hanya setelah operasi pemulihan selesai.

------
#### [ Console ]

**Kembalikan tabel ke titik waktu tertentu menggunakan konsol**

1. [Masuk ke Konsol Manajemen AWS, dan buka konsol Amazon Keyspaces di https://console.aws.amazon.com/keyspaces/ rumah.](https://console.aws.amazon.com/keyspaces/home)

1. Di panel navigasi di sisi kiri konsol, pilih **Tabel**.

1. Dalam daftar tabel, pilih tabel yang ingin Anda pulihkan. 

1. **Pada tab **Cadangan** tabel, di bagian **Point-in-time pemulihan**, pilih Pulihkan.**

1. Untuk nama tabel baru, masukkan nama baru untuk tabel yang dipulihkan, misalnya**mytable\$1restored**. 

1. Untuk menentukan titik waktu operasi pemulihan, Anda dapat memilih di antara dua opsi:
   + Pilih waktu **paling awal yang telah dikonfigurasi sebelumnya**.
   + Pilih **Tentukan tanggal dan waktu** dan masukkan tanggal dan waktu yang ingin Anda kembalikan tabel baru.
**catatan**  
Anda dapat mengembalikan ke titik waktu mana pun dalam waktu **paling awal** dan waktu saat ini. Amazon Keyspaces mengembalikan data tabel Anda ke status berdasarkan tanggal dan waktu yang dipilih (day:hour:minute:second). 

1. Pilih **Pulihkan** untuk memulai proses pemulihan. 

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

------
#### [ Cassandra Query Language (CQL) ]

**Kembalikan tabel ke titik waktu menggunakan CQL**

1. 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 tabel, kueri `system_schema_mcs.tables` seperti yang ditunjukkan dalam contoh ini.

   ```
   SELECT custom_properties
   FROM system_schema_mcs.tables
   WHERE keyspace_name = 'mykeyspace' AND table_name = 'mytable';
   ```

   Point-in-time pemulihan diaktifkan seperti yang ditunjukkan pada output sampel berikut. 

   ```
   custom_properties
   -----------------
   {
     ...,
       "point_in_time_recovery": {
       "earliest_restorable_timestamp":"2020-06-30T19:19:21.175Z"
       "status":"enabled"
     }
   }
   ```

1. 
   + Kembalikan tabel ke waktu saat ini. Ketika Anda menghilangkan `WITH restore_timestamp = ...` klausa, stempel waktu saat ini digunakan. 

     ```
     RESTORE TABLE mykeyspace.mytable_restored
     FROM TABLE mykeyspace.mytable;
     ```
   + Anda juga dapat mengembalikan ke titik waktu tertentu, yang ditentukan oleh format `restore_timestamp` ISO 8601. 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, lihat [MENGEMBALIKAN TABEL](cql.ddl.table.md#cql.ddl.table.restore) di referensi bahasa.

1. Untuk memverifikasi bahwa pemulihan tabel berhasil, kueri `system_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.

   ```
   status
   ------
   RESTORING
   ```

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

------
#### [ CLI ]

**Kembalikan tabel ke titik waktu menggunakan AWS CLI**

1. Buat tabel sederhana bernama `myTable` yang mengaktifkan PITR. Perintah telah dipecah menjadi baris terpisah untuk 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'
   ```

1. Konfirmasikan properti tabel baru dan tinjau `earliestRestorableTimestamp` untuk PITR.

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

   Output dari perintah ini mengembalikan berikut ini.

   ```
   {
       "keyspaceName": "myKeyspace",
       "tableName": "myTable",
       "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/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": ""
       }
   }
   ```

1. 
   + Untuk mengembalikan tabel ke titik waktu, tentukan a `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 ke `EarliestRestorableDateTime`. 

     ```
     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 dari perintah ini mengembalikan ARN dari tabel yang dipulihkan.

     ```
     {
         "restoredTableARN": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/myKeyspace/table/myTable_restored"
     }
     ```
   + Untuk mengembalikan tabel ke waktu saat ini, Anda dapat menghilangkan `restore-timestamp` parameter.

     ```
     aws keyspaces restore-table --source-keyspace-name 'myKeyspace' --source-table-name 'myTable' --target-keyspace-name 'myKeyspace' --target-table-name 'myTable_restored1'"
     ```

------

# Kembalikan tabel yang dihapus menggunakan Amazon Keyspaces PITR
<a name="restoredeleted"></a>

Prosedur berikut menunjukkan cara mengembalikan tabel yang dihapus dari cadangan ke saat penghapusan. Anda dapat melakukan ini menggunakan CQL atau. AWS CLI

**catatan**  
Prosedur ini mengasumsikan bahwa PITR diaktifkan pada tabel yang dihapus.



------
#### [ Cassandra Query Language (CQL) ]

**Kembalikan tabel yang dihapus menggunakan CQL**

1. 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.

   ```
   custom_properties
   ------------------
   {
       ...,
      "point_in_time_recovery":{
         "restorable_until_time":"2020-08-04T00:48:58.381Z",
         "status":"enabled"
      }
   }
   ```

1. Kembalikan tabel ke waktu penghapusan dengan contoh pernyataan berikut.

   ```
   RESTORE TABLE mykeyspace.mytable_restored
   FROM TABLE mykeyspace.mytable;
   ```

------
#### [ CLI ]

**Kembalikan tabel yang dihapus menggunakan AWS CLI**

1. Hapus tabel yang Anda buat sebelumnya yang mengaktifkan PITR. Berikut adalah contoh perintah tersebut.

   ```
   aws keyspaces delete-table --keyspace-name 'myKeyspace' --table-name 'myTable'
   ```

1. 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 dari perintah ini mengembalikan ARN dari tabel yang dipulihkan.

   ```
   {
       "restoredTableARN": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/myKeyspace/table/myTable_restored2"
   }
   ```

------