

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Time-Travel-Aufgabeneinstellungen
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel"></a>

Um Replikationsaufgaben zu protokollieren und zu debuggen, können Sie AWS DMS Time Travel verwenden. Bei diesem Vorgehen verwenden Sie Amazon S3, um Protokolle zu speichern und mit Ihren Verschlüsselungsschlüsseln zu verschlüsseln. Nur wenn Sie Zugriff auf Ihren Time-Travel-S3-Bucket haben, können Sie Ihre S3-Protokolle mithilfe von Datums- und Uhrzeitfiltern abrufen und die Protokolle dann nach Bedarf anzeigen, herunterladen und verschleiern. Auf diese Weise können Sie sicher „in die Vergangenheit reisen“, um Datenbankaktivitäten zu untersuchen. Time Travel funktioniert unabhängig von der CloudWatch Protokollierung. Weitere Informationen zur CloudWatch Protokollierung finden Sie unter[Einstellungen für das Protokollieren von Aufgaben](CHAP_Tasks.CustomizingTasks.TaskSettings.Logging.md). 

Sie können Time Travel in allen AWS Regionen mit AWS DMS unterstützten Oracle-, Microsoft SQL Server- und PostgreSQL-Quellendpunkten und AWS DMS-unterstützten PostgreSQL- und MySQL-Zielendpunkten verwenden. Sie können Time Travel nur für Aufgaben für vollständiges Laden und CDC (Change Data Capture) und für reine CDC-Aufgaben aktivieren. Um Time Travel zu aktivieren oder vorhandene Time-Travel-Einstellungen zu ändern, stellen Sie sicher, dass Ihre Replikationsaufgabe gestoppt wurde.

Die Time-Travel-Einstellungen umfassen die folgenden `TTSettings`-Eigenschaften:
+ `EnableTT` – Wenn diese Option auf `true` gesetzt ist, ist die Time-Travel-Protokollierung für die Aufgabe aktiviert. Der Standardwert ist `false`.

  Typ: Boolesch

  Erforderlich: Nein
+ `EncryptionMode` – Die Art der serverseitigen Verschlüsselung, die in Ihrem S3-Bucket zum Speichern Ihrer Daten und Protokolle verwendet wird. Sie können entweder `"SSE_S3"` (Standardwert) oder `"SSE_KMS"` angeben.

  Sie können `EncryptionMode` von `"SSE_KMS"` auf `"SSE_S3"` umstellen, aber nicht umgekehrt.

  Typ: Zeichenfolge

  Erforderlich: Nein
+ `ServerSideEncryptionKmsKeyId`— Wenn Sie `"SSE_KMS"` für angeben, geben Sie die ID für Ihren benutzerdefinierten `EncryptionMode` verwalteten Schlüssel an. AWS KMS Stellen Sie sicher, dass dem von Ihnen verwendeten Schlüssel eine Richtlinie beigefügt ist, die AWS Identity and Access Management (IAM-) Benutzerberechtigungen aktiviert und die Verwendung des Schlüssels ermöglicht. 

  Mit der Option `"SSE_KMS"` wird nur Ihr eigener benutzerdefiniert-verwalteter symmetrischer KMS-Schlüssel unterstützt.

  Typ: Zeichenfolge

  Erforderlich: nur wenn `EncryptionMode` auf `"SSE_KMS"` gesetzt wird
+ `ServiceAccessRoleArn` – Der Amazon-Ressourcenname (ARN), den der Service zum Zugriff auf die IAM-Rolle verwendet. Legen Sie für den Rollennamen `dms-tt-s3-access-role` fest. Dies ist eine erforderliche Einstellung, die das Schreiben und Lesen von Objekten aus einem S3-Bucket ermöglicht AWS DMS .

  Typ: Zeichenfolge

  Erforderlich: wenn Time Travel aktiviert ist

  Im Folgenden sehen Sie eine Beispielrichtlinie für diese Rolle.

------
#### [ 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"
              ]
          }
      ]
  }
  ```

------

  Im Folgenden sehen Sie eine Beispielvertrauensrichtlinie für diese Rolle.

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

****  

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

------
+ `BucketName` – Der Name des S3-Buckets, in dem Time-Travel-Protokolle gespeichert werden sollen. Stellen Sie sicher, dass Sie diesen S3-Bucket erstellen, bevor Sie Time-Travel-Protokolle aktivieren.

  Typ: Zeichenfolge

  Erforderlich: wenn Time Travel aktiviert ist
+ `BucketFolder` – Ein optionaler Parameter zum Festlegen eines Ordnernamens im S3-Bucket. Wenn Sie diesen Parameter angeben, erstellt DMS die Time-Travel-Protokolle im Pfad`"/BucketName/BucketFolder/taskARN/YYYY/MM/DD/hh"`. Wenn Sie diesen Parameter nicht angeben, AWS DMS wird der Standardpfad als erstellt`"/BucketName/dms-time-travel-logs/taskARN/YYYY/MM/DD/hh`.

  Typ: Zeichenfolge

  Erforderlich: Nein
+ `EnableDeletingFromS3OnTaskDelete`— Wenn diese Option auf gesetzt ist`true`, werden die Time Travel-Protokolle aus S3 AWS DMS gelöscht, wenn die Aufgabe gelöscht wird. Der Standardwert ist `false`.

  Typ: Zeichenfolge

  Erforderlich: Nein
+ `EnableRawData` – Wenn diese Option auf `true` gesetzt ist, werden die DML-Rohdaten (DML = Data Manipulation Language) für Time-Travel-Protokolle in der Spalte `raw_data` der Time-Travel-Protokolle angezeigt. Einzelheiten finden Sie unter [Verwenden der Time-Travel-Protokolle](CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.LogSchema.md). Der Standardwert ist `false`. Wenn diese Option auf `false` gesetzt ist, wird nur der DML-Typ erfasst.

  Typ: Zeichenfolge

  Erforderlich: Nein
+ `RawDataFormat`— In den AWS DMS Versionen 3.5.0 und höher `EnableRawData` ist wann auf eingestellt. `true` Diese Eigenschaft gibt ein Format für die Rohdaten der DML in einem Time-Travel-Protokoll an und kann wie folgt angegeben werden:
  + `"TEXT"` – Analysierte, lesbare Spaltennamen und Werte für DML-Ereignisse, die während CDC als `Raw`-Felder erfasst werden.
  + `"HEX"` – Der ursprüngliche Hexadezimalwert für Spaltennamen und Werte, die für DML-Ereignisse während CDC erfasst werden.

  Diese Eigenschaft gilt für Oracle- und Microsoft-SQL-Server-Datenbankquellen.

  Typ: Zeichenfolge

  Erforderlich: Nein
+ `OperationsToLog` – Gibt den Typ der DML-Operationen an, die in Time-Travel-Protokollen protokolliert werden sollen. Sie können einen der folgenden Werte angeben:
  + `"INSERT"`
  + `"UPDATE"`
  + `"DELETE"`
  + `"COMMIT"`
  + `"ROLLBACK"`
  + `"ALL"`

  Der Standardwert ist `"ALL"`.

  Typ: Zeichenfolge

  Erforderlich: Nein
+ `MaxRecordSize` – Gibt die maximale Größe der Time-Travel-Protokolleinträge an, die für jede Zeile protokolliert werden. Verwenden Sie diese Eigenschaft, um das Wachstum der Time-Travel-Protokolle für besonders stark ausgelastete Tabellen zu steuern. Der Standardwert ist 64 KB.

  Typ: Ganzzahl

  Erforderlich: Nein

Weitere Informationen zum Aktivieren und Verwenden von Time-Travel-Protokollen finden Sie in den folgenden Themen.

**Topics**
+ [

# Aktivieren von Time-Travel-Protokollen für eine Aufgabe
](CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.TaskEnabling.md)
+ [

# Verwenden der Time-Travel-Protokolle
](CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.LogSchema.md)
+ [

# Wie oft werden Time AWS DMS Travel-Protokolle auf S3 hochgeladen
](CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.UploadsToS3.md)

# Aktivieren von Time-Travel-Protokollen für eine Aufgabe
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.TaskEnabling"></a>

Sie können Time Travel für eine AWS DMS Aufgabe mithilfe der zuvor beschriebenen Aufgabeneinstellungen aktivieren. Stellen Sie sicher, dass Ihre Replikationsaufgabe gestoppt wurde, bevor Sie Time Travel aktivieren.

**Um Time Travel zu aktivieren, verwenden Sie AWS CLI**

1. Erstellen Sie eine JSON-Datei für die DMS-Aufgabenkonfiguration und fügen Sie einen Abschnitt `TTSettings` hinzu, wie im Folgenden dargestellt. Informationen zur Verwendung einer Aufgabenkonfigurationsdatei zum Festlegen von Aufgabeneinstellungen finden Sie unter [Beispiel für Aufgabeneinstellungen](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. Geben Sie in einer entsprechenden Aufgabenaktion diese JSON-Datei unter Verwendung der Option `--replication-task-settings` an. Im folgenden CLI-Code-Fragment ist diese Time-Travel-Einstellungsdatei beispielsweise als Teil von `create-replication-task` angegeben.

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

   Hier lautet der Name dieser Time-Travel-Einstellungsdatei `task-settings-tt-enabled.json`.

Sie können diese Datei in ähnlicher Weise im Rahmen der Aktion `modify-replication-task` angeben.

Beachten Sie die besondere Behandlung von Time-Travel-Protokollen für die folgenden Aufgabenaktionen:
+ `start-replication-task` – Wenn Sie eine Replikationsaufgabe ausführen und auf einen für Time Travel verwendeten S3-Bucket nicht zugegriffen werden kann, wird die Aufgabe als `FAILED` markiert.
+ `stop-replication-task`— Wenn die Aufgabe beendet wird, werden AWS DMS sofort alle Time Travel-Protokolle, die derzeit für die Replikationsinstanz verfügbar sind, in den für Time Travel verwendeten S3-Bucket übertragen.

Während der Ausführung einer Replikationsaufgabe können Sie den Wert für `EncryptionMode` von `"SSE_KMS"` in `"SSE_S3"` ändern, aber nicht umgekehrt.

Wenn die Größe der Time-Travel-Protokolle für eine laufende Aufgabe 1 GB überschreitet, überträgt DMS die Protokolle innerhalb von fünf Minuten nach Erreichen dieser Größe an S3. Wenn nach der Ausführung einer Aufgabe kein Zugriff auf den S3-Bucket oder den KMS-Schlüssel mehr möglich ist, stoppt DMS die Übertragung von Protokollen in diesen Bucket. Wenn Sie feststellen, dass Ihre Protokolle nicht in Ihren S3-Bucket übertragen werden, überprüfen Sie Ihren S3 und Ihre AWS KMS Berechtigungen. Weitere Informationen darüber, wie oft DMS diese Protokolle an S3 überträgt, finden Sie unter [Wie oft werden Time AWS DMS Travel-Protokolle auf S3 hochgeladen](CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.UploadsToS3.md).

Um Time Travel für eine bestehende Aufgabe von der Konsole aus zu aktivieren, verwenden Sie die JSON-Editor-Option unter **Aufgabeneinstellungen**, um einen Abschnitt `TTSettings` hinzuzufügen.

# Verwenden der Time-Travel-Protokolle
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.LogSchema"></a>

*Time-Travel-Protokolldateien* sind CSV-Dateien mit folgenden Feldern.

```
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
```

Sobald Ihre Time-Travel-Protokolle in S3 verfügbar sind, können Sie mit Tools wie Amazon Athena direkt darauf zugreifen und sie abfragen. Sie können die Protokolle auch wie jede andere Datei von S3 herunterladen.

Das folgende Beispiel zeigt ein Time-Travel-Protokoll, in dem Transaktionen für eine Tabelle namens `mytable` protokolliert sind. Die Zeilenenden für das folgende Protokoll wurden aus Gründen der besseren Lesbarkeit hinzugefügt.

```
"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'"
```

# Wie oft werden Time AWS DMS Travel-Protokolle auf S3 hochgeladen
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.UploadsToS3"></a>

Um die Speichernutzung Ihrer Replikationsinstanz zu minimieren, laden Sie in AWS DMS regelmäßigen Abständen Time Travel-Protokolle von ihr ab. 

Die Time-Travel-Protokolle werden in folgenden Fällen in Ihren Amazon-S3-Bucket übertragen:
+ Wenn die aktuelle Größe der Protokolle 1 GB überschreitet, werden die Protokolle innerhalb von fünf Minuten auf S3 AWS DMS hochgeladen. Somit AWS DMS können bis zu 12 Anrufe pro Stunde an S3 und AWS KMS für jede laufende Aufgabe getätigt werden.
+ AWS DMS lädt die Protokolle jede Stunde auf S3 hoch, unabhängig von der Größe der Protokolle.
+ Wenn eine Aufgabe gestoppt wird, werden die Zeitreiseprotokolle AWS DMS sofort nach S3 hochgeladen.