

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

# Pengaturan tugas Perjalanan Waktu
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel"></a>

Untuk mencatat dan men-debug tugas replikasi, Anda dapat menggunakan AWS DMS Time Travel. Dalam pendekatan ini, Anda menggunakan Amazon S3 untuk menyimpan log dan mengenkripsi mereka menggunakan kunci enkripsi Anda. Hanya dengan akses ke bucket Time Travel S3 Anda, Anda dapat mengambil log S3 Anda menggunakan filter tanggal-waktu, lalu melihat, mengunduh, dan mengaburkan log sesuai kebutuhan. Dengan melakukan ini, Anda dapat dengan aman “melakukan perjalanan kembali ke masa lalu” untuk menyelidiki aktivitas database. Time Travel bekerja secara independen dari CloudWatch logging. Untuk informasi lebih lanjut tentang CloudWatch logging, lihat[Pengaturan tugas pengelogan](CHAP_Tasks.CustomizingTasks.TaskSettings.Logging.md). 

Anda dapat menggunakan Time Travel di semua AWS Wilayah dengan titik AWS DMS akhir sumber Oracle, Microsoft SQL Server, dan PostgreSQL yang didukung, dan titik akhir target PostgreSQL dan MySQL yang didukung. AWS DMS Anda dapat mengaktifkan Time Travel hanya untuk tugas full-load dan change data capture (CDC) dan untuk tugas khusus CDC. Untuk mengaktifkan Perjalanan Waktu atau mengubah pengaturan Perjalanan Waktu yang ada, pastikan tugas replikasi Anda dihentikan.

Pengaturan Perjalanan Waktu mencakup `TTSettings` properti berikut:
+ `EnableTT`— Jika opsi ini diatur ke`true`, pencatatan Perjalanan Waktu diaktifkan untuk tugas tersebut. Nilai default-nya adalah `false`.

  Tipe: Boolean

  Wajib: Tidak
+ `EncryptionMode`— Jenis enkripsi sisi server yang digunakan pada bucket S3 Anda untuk menyimpan data dan log Anda. Anda dapat menentukan `"SSE_S3"` (default) atau`"SSE_KMS"`.

  Anda dapat mengubah `EncryptionMode` dari `"SSE_KMS"` ke`"SSE_S3"`, tetapi tidak sebaliknya.

  Tipe: String

  Wajib: Tidak
+ `ServerSideEncryptionKmsKeyId`— Jika Anda menentukan `"SSE_KMS"` untuk`EncryptionMode`, berikan ID untuk AWS KMS kunci terkelola kustom Anda. Pastikan kunci yang Anda gunakan memiliki kebijakan terlampir yang mengaktifkan izin pengguna AWS Identity and Access Management (IAM) dan memungkinkan penggunaan kunci tersebut. 

  Hanya kunci KMS simetris yang dikelola khusus Anda sendiri yang didukung dengan opsi ini. `"SSE_KMS"`

  Tipe: String

  Wajib: Hanya jika Anda `EncryptionMode` menyetel `"SSE_KMS"`
+ `ServiceAccessRoleArn`— Nama Sumber Daya Amazon (ARN) yang digunakan oleh layanan untuk mengakses peran IAM. Tetapkan nama peran ke`dms-tt-s3-access-role`. Ini adalah pengaturan wajib yang memungkinkan AWS DMS untuk menulis dan membaca objek dari ember S3.

  Tipe: String

  Wajib: Jika Perjalanan Waktu diaktifkan

  Berikut ini adalah contoh kebijakan untuk peran ini.

------
#### [ JSON ]

****  

  ```
  {
   "Version":"2012-10-17",		 	 	 
   "Statement": [
          {
              "Sid": "VisualEditor0",
              "Effect": "Allow",
              "Action": [
                  "s3:PutObject",
                  "kms:GenerateDataKey",
                  "kms:Decrypt",
                  "s3:ListBucket",
                  "s3:DeleteObject"
              ],
              "Resource": [
                  "arn:aws:s3:::S3bucketName*",
                  "arn:aws:kms:us-east-1:112233445566:key/1234a1a1-1m2m-1z2z-d1d2-12dmstt1234"
              ]
          }
      ]
  }
  ```

------

  Berikut ini adalah contoh kebijakan kepercayaan untuk peran ini.

------
#### [ JSON ]

****  

  ```
  {
   "Version":"2012-10-17",		 	 	 
   "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": [
                       "dms.amazonaws.com"
                   ]
               },
               "Action": "sts:AssumeRole"
          }
      ]
  }
  ```

------
+ `BucketName`— Nama bucket S3 untuk menyimpan log Time Travel. Pastikan untuk membuat bucket S3 ini sebelum menyalakan log Time Travel.

  Tipe: String

  Wajib: Jika Perjalanan Waktu diaktifkan
+ `BucketFolder`— Parameter opsional untuk mengatur nama folder di bucket S3. Jika Anda menentukan parameter ini, DMS membuat log Perjalanan Waktu di jalur`"/BucketName/BucketFolder/taskARN/YYYY/MM/DD/hh"`. Jika Anda tidak menentukan parameter ini, AWS DMS buat jalur default sebagai`"/BucketName/dms-time-travel-logs/taskARN/YYYY/MM/DD/hh`.

  Tipe: String

  Wajib: Tidak
+ `EnableDeletingFromS3OnTaskDelete`— Ketika opsi ini diatur ke`true`, AWS DMS menghapus log Perjalanan Waktu dari S3 jika tugas dihapus. Nilai default-nya adalah `false`.

  Tipe: String

  Wajib: Tidak
+ `EnableRawData`— Ketika opsi ini diatur ke`true`, data mentah bahasa manipulasi data (DHTML) untuk log Perjalanan Waktu muncul di bawah `raw_data` kolom log Perjalanan Waktu. Untuk detailnya, lihat[Menggunakan log Perjalanan Waktu](CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.LogSchema.md). Nilai default-nya adalah `false`. Ketika opsi ini diatur ke`false`, hanya jenis DMLnya yang ditangkap.

  Tipe: String

  Wajib: Tidak
+ `RawDataFormat`— Dalam AWS DMS versi 3.5.0 dan lebih tinggi, ketika `EnableRawData` diatur ke`true`. Properti ini menentukan format untuk data mentah DMLdalam log Time Travel dan dapat disajikan sebagai:
  + `"TEXT"`— Nama dan nilai kolom yang diuraikan dan dapat dibaca untuk peristiwa DHTML yang ditangkap selama CDC sebagai bidang. `Raw`
  + `"HEX"`— Hexidecimal asli untuk nama kolom dan nilai yang ditangkap untuk peristiwa DMLselama CDC.

  Properti ini berlaku untuk sumber database Oracle dan Microsoft SQL Server.

  Tipe: String

  Wajib: Tidak
+ `OperationsToLog`- Menentukan jenis operasi DMLuntuk login log Time Travel. Anda dapat menentukan salah satu hal berikut:
  + `"INSERT"`
  + `"UPDATE"`
  + `"DELETE"`
  + `"COMMIT"`
  + `"ROLLBACK"`
  + `"ALL"`

  Default-nya adalah `"ALL"`.

  Tipe: String

  Wajib: Tidak
+ `MaxRecordSize`— Menentukan ukuran maksimum catatan log Perjalanan Waktu yang dicatat untuk setiap baris. Gunakan properti ini untuk mengontrol pertumbuhan log Perjalanan Waktu untuk tabel yang sangat sibuk. Default adalah 64 KB.

  Tipe: Integer

  Wajib: Tidak

Untuk informasi selengkapnya tentang mengaktifkan dan menggunakan log Perjalanan Waktu, lihat topik berikut.

**Topics**
+ [Mengaktifkan log Perjalanan Waktu untuk suatu tugas](CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.TaskEnabling.md)
+ [Menggunakan log Perjalanan Waktu](CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.LogSchema.md)
+ [Seberapa sering AWS DMS mengunggah log Time Travel ke S3](CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.UploadsToS3.md)

# Mengaktifkan log Perjalanan Waktu untuk suatu tugas
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.TaskEnabling"></a>

Anda dapat mengaktifkan Perjalanan Waktu untuk AWS DMS tugas menggunakan pengaturan tugas yang dijelaskan sebelumnya. Pastikan tugas replikasi Anda dihentikan sebelum Anda mengaktifkan Perjalanan Waktu.

**Untuk mengaktifkan Perjalanan Waktu menggunakan AWS CLI**

1. Buat file JSON konfigurasi tugas DMS dan tambahkan `TTSettings` bagian seperti berikut ini. Untuk informasi tentang cara menggunakan file konfigurasi tugas untuk mengatur setelan tugas, lihat[Contoh pengaturan tugas](CHAP_Tasks.CustomizingTasks.TaskSettings.md#CHAP_Tasks.CustomizingTasks.TaskSettings.Example).

   ```
    .
    .
    .
       },
   "TTSettings" : {
     "EnableTT" : true,
     "TTS3Settings": {
         "EncryptionMode": "SSE_KMS",
         "ServerSideEncryptionKmsKeyId": "arn:aws:kms:us-west-2:112233445566:key/myKMSKey",
         "ServiceAccessRoleArn": "arn:aws:iam::112233445566:role/dms-tt-s3-access-role",
         "BucketName": "myttbucket",
         "BucketFolder": "myttfolder",
         "EnableDeletingFromS3OnTaskDelete": false
       },
     "TTRecordSettings": {
         "EnableRawData" : true,
         "OperationsToLog": "DELETE,UPDATE",
         "MaxRecordSize": 64
       },
    .
    .
    .
   ```

1. Dalam tindakan tugas yang sesuai, tentukan file JSON ini menggunakan `--replication-task-settings` opsi. Misalnya, fragmen kode CLI berikut menentukan file pengaturan Perjalanan Waktu ini sebagai bagian dari. `create-replication-task`

   ```
   aws dms create-replication-task 
   --target-endpoint-arn arn:aws:dms:us-east-1:112233445566:endpoint:ELS5O7YTYV452CAZR2EYBNQGILFHQIFVPWFRQAY \
   --source-endpoint-arn arn:aws:dms:us-east-1:112233445566:endpoint:HNX2BWIIN5ZYFF7F6UFFZVWTDFFSMTNOV2FTXZA \
   --replication-instance-arn arn:aws:dms:us-east-1:112233445566:rep:ERLHG2UA52EEJJKFYNYWRPCG6T7EPUAB5AWBUJQ \
   --migration-type full-load-and-cdc --table-mappings 'file:///FilePath/mappings.json' \
   --replication-task-settings 'file:///FilePath/task-settings-tt-enabled.json' \
   --replication-task-identifier test-task
                               .
                               .
                               .
   ```

   Di sini, nama file pengaturan Perjalanan Waktu ini adalah`task-settings-tt-enabled.json`.

Demikian pula, Anda dapat menentukan file ini sebagai bagian dari `modify-replication-task` tindakan.

Perhatikan penanganan khusus log Perjalanan Waktu untuk tindakan tugas berikut:
+ `start-replication-task`— Saat Anda menjalankan tugas replikasi, jika bucket S3 yang digunakan untuk Perjalanan Waktu tidak dapat diakses, tugas tersebut ditandai sebagai. `FAILED`
+ `stop-replication-task`— Saat tugas berhenti, AWS DMS segera dorong semua log Perjalanan Waktu yang saat ini tersedia untuk instance replikasi ke bucket S3 yang digunakan untuk Perjalanan Waktu.

Saat tugas replikasi berjalan, Anda dapat mengubah `EncryptionMode` nilai dari `"SSE_KMS"` ke `"SSE_S3"` tetapi tidak sebaliknya.

Jika ukuran log Time Travel untuk tugas yang sedang berlangsung melebihi 1 GB, DMS mendorong log ke S3 dalam waktu lima menit setelah mencapai ukuran itu. Setelah tugas berjalan, jika bucket S3 atau kunci KMS menjadi tidak dapat diakses, DMS berhenti mendorong log ke bucket ini. Jika Anda menemukan log Anda tidak didorong ke bucket S3 Anda, periksa S3 dan AWS KMS izin Anda. Untuk detail lebih lanjut tentang seberapa sering DMS mendorong log ini ke S3, lihat. [Seberapa sering AWS DMS mengunggah log Time Travel ke S3](CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.UploadsToS3.md)

Untuk mengaktifkan Perjalanan Waktu untuk tugas yang ada dari konsol, gunakan opsi editor JSON di bawah **Pengaturan Tugas** untuk menambahkan `TTSettings` bagian.

# Menggunakan log Perjalanan Waktu
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.LogSchema"></a>

*File log Perjalanan Waktu adalah file* nilai dipisahkan koma (CSV) dengan bidang berikut.

```
log_timestamp 
component 
dms_source_code_location 
transaction_id 
event_id 
event_timestamp 
lsn/scn 
primary_key
record_type 
event_type 
schema_name 
table_name 
statement 
action 
result 
raw_data
```

Setelah log Perjalanan Waktu Anda tersedia di S3, Anda dapat langsung mengakses dan menanyakannya dengan alat seperti Amazon Athena. Atau Anda dapat mengunduh log seperti yang Anda bisa file apa pun dari S3.

Contoh berikut menunjukkan log Perjalanan Waktu di mana transaksi untuk tabel yang `mytable` disebut dicatat. Akhiran baris untuk log berikut ditambahkan untuk keterbacaan.

```
"log_timestamp ","tt_record_type","dms_source_code_location ","transaction_id",
"event_id","event_timestamp","scn_lsn","primary_key","record_type","event_type",
"schema_name","table_name","statement","action","result","raw_data"
"2021-09-23T01:03:00:778230","SOURCE_CAPTURE","postgres_endpoint_wal_engine.c:00819",
"609284109","565612992","2021-09-23 01:03:00.765321+00","00000E9C/D53AB518","","DML",
"UPDATE (3)","dmstest","mytable","","Migrate","","table dmstest.mytable:
UPDATE: id[bigint]:2244937 phone_number[character varying]:'phone-number-482'
age[integer]:82 gender[character]:'f' isactive[character]:'true ' 
date_of_travel[timestamp without time zone]:'2021-09-23 01:03:00.76593' 
description[text]:'TEST DATA TEST DATA TEST DATA TEST DATA'"
```

# Seberapa sering AWS DMS mengunggah log Time Travel ke S3
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.UploadsToS3"></a>

Untuk meminimalkan penggunaan penyimpanan instans replikasi Anda, AWS DMS bongkar log Perjalanan Waktu darinya secara berkala. 

Log perjalanan waktu didorong ke bucket Amazon S3 Anda dalam kasus berikut:
+ Jika ukuran log saat ini melebihi 1 GB, AWS DMS unggah log ke S3 dalam waktu lima menit. Dengan demikian, AWS DMS dapat membuat hingga 12 panggilan per jam ke S3 dan AWS KMS untuk setiap tugas yang berjalan.
+ AWS DMS mengunggah log ke S3 setiap jam, terlepas dari ukuran log.
+ Saat tugas dihentikan, AWS DMS segera unggah log perjalanan waktu ke S3.