

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Impostazioni delle attività Time Travel
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel"></a>

Per registrare ed eseguire il debug delle attività di replica, puoi utilizzare AWS DMS Time Travel. Con questo approccio usi Amazon S3 per archiviare e crittografare i log con le chiavi di crittografia. Solo con l'accesso al tuo bucket S3 Time Travel, puoi recuperare i log S3 utilizzando filtri data-ora, quindi visualizzare, scaricare e offuscare i log secondo le tue necessità. In questo modo, puoi andare in sicurezza indietro nel tempo per analizzare le attività del database. Time Travel funziona indipendentemente dalla CloudWatch registrazione. Per ulteriori informazioni sulla CloudWatch registrazione, vedere. [Registrazione delle impostazioni delle attività](CHAP_Tasks.CustomizingTasks.TaskSettings.Logging.md) 

Puoi utilizzare Time Travel in tutte le AWS regioni con endpoint AWS DMS di origine Oracle, Microsoft SQL Server e PostgreSQL supportati e endpoint di destinazione PostgreSQL e MySQL supportati. AWS DMSÈ possibile attivare Time Travel solo per le attività di pieno carico e acquisizione dei dati di modifica (CDC) e per le attività di sola CDC. Per attivare Time Travel o modificare le impostazioni esistenti di Time Travel, assicurati che l'attività di replica sia arrestata.

Le impostazioni Time Travel includono le seguenti proprietà `TTSettings`:
+ `EnableTT`: se questa opzione è impostata su `true`, la registrazione Time Travel è attivata per l'attività. Il valore predefinito è `false`.

  Tipo: Booleano

  Obbligatorio: no
+ `EncryptionMode`: il tipo di crittografia lato server utilizzato nel bucket S3 per archiviare dati e log. Puoi specificare `"SSE_S3"` (valore predefinito) oppure `"SSE_KMS"`.

  Puoi cambiare `EncryptionMode` da `"SSE_KMS"` a `"SSE_S3"`, ma non viceversa.

  ▬Tipo: stringa

  Obbligatorio: no
+ `ServerSideEncryptionKmsKeyId`— Se specifichi for, fornisci l'ID per la tua chiave gestita personalizzata. `"SSE_KMS"` `EncryptionMode` AWS KMS Assicurati che alla chiave che utilizzi sia associata una policy che attivi le autorizzazioni utente AWS Identity and Access Management (IAM) e consenta l'uso della chiave. 

  L'opzione `"SSE_KMS"` supporta solo la chiave KMS simmetrica gestita dal cliente.

  Tipo: String

  Obbligatorio: solo se imposti `EncryptionMode` su `"SSE_KMS"`.
+ `ServiceAccessRoleArn`: il nome della risorsa Amazon (ARN) utilizzato dal servizio per accedere al ruolo IAM. Imposta il nome del ruolo su `dms-tt-s3-access-role`. Questa è un'impostazione obbligatoria che consente di AWS DMS scrivere e leggere oggetti da un bucket S3.

  Tipo: String

  Obbligatorio: se Time Travel è attivo.

  Di seguito è riportato un esempio di policy per questo ruolo.

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

------

  Di seguito è riportato un esempio di policy di trust per questo ruolo.

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

****  

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

------
+ `BucketName`: il nome del bucket S3 per archiviare i log Time Travel. Assicurati di creare questo bucket S3 prima di attivare i log Time Travel.

  Tipo: String

  Obbligatorio: se Time Travel è attivo.
+ `BucketFolder`: un parametro facoltativo per impostare un nome di cartella nel bucket S3. Se specifichi questo parametro, DMS crea i log Time Travel nel percorso `"/BucketName/BucketFolder/taskARN/YYYY/MM/DD/hh"`. Se non specifichi questo parametro, AWS DMS crea il percorso predefinito come. `"/BucketName/dms-time-travel-logs/taskARN/YYYY/MM/DD/hh`

  ▬Tipo: stringa

  Obbligatorio: no
+ `EnableDeletingFromS3OnTaskDelete`— Quando questa opzione è impostata su`true`, AWS DMS elimina i registri di Time Travel da S3 se l'attività viene eliminata. Il valore predefinito è `false`.

  ▬Tipo: stringa

  Obbligatorio: no
+ `EnableRawData`: quando questa opzione è impostata su `true`, i dati non elaborati DML (Data Manipulation Language) per i log Time Travel vengono visualizzati sotto la colonna `raw_data` dei log Time Travel. Per informazioni dettagliate, consulta [Utilizzo dei log Time Travel](CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.LogSchema.md). Il valore predefinito è `false`. Quando questa opzione è impostata su `false`, viene acquisito solo il tipo di DML.

  ▬Tipo: stringa

  Obbligatorio: no
+ `RawDataFormat`— Nelle AWS DMS versioni 3.5.0 e successive, quando `EnableRawData` è impostato su. `true` Questa proprietà specifica un formato per i dati non elaborati DML in un log Time Travel e può essere presentato come:
  + `"TEXT"`: nomi e valori di colonna analizzati e leggibili per gli eventi DML acquisiti durante la CDC come campi `Raw`.
  + `"HEX"`: il codice esadecimale originale per i nomi e i valori di colonna acquisiti per gli eventi DML durante la CDC.

  Questa proprietà si applica alle origini di database Oracle e Microsoft SQL Server.

  ▬Tipo: stringa

  Obbligatorio: no
+ `OperationsToLog`: specifica il tipo di operazioni DML per accedere ai log Time Travel. È possibile specificare una delle seguenti opzioni:
  + `"INSERT"`
  + `"UPDATE"`
  + `"DELETE"`
  + `"COMMIT"`
  + `"ROLLBACK"`
  + `"ALL"`

  Il valore predefinito è `"ALL"`.

  ▬Tipo: stringa

  Obbligatorio: no
+ `MaxRecordSize`: specifica la dimensione massima dei record dei log Time Travel registrati per ogni riga. Utilizza questa proprietà per controllare l'aumento delle dimensioni dei log Time Travel per le tabelle particolarmente utilizzate. Il valore predefinito è 64 KB.

  Tipo: Integer

  Obbligatorio: no

Per ulteriori informazioni sull'attivazione e l'utilizzo dei log Time Travel, consulta i seguenti argomenti.

**Topics**
+ [Attivazione dei log Time Travel per un'attività](CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.TaskEnabling.md)
+ [Utilizzo dei log Time Travel](CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.LogSchema.md)
+ [Con quale frequenza AWS DMS carica i registri di Time Travel su S3](CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.UploadsToS3.md)

# Attivazione dei log Time Travel per un'attività
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.TaskEnabling"></a>

È possibile attivare Time Travel per un' AWS DMS attività utilizzando le impostazioni dell'attività descritte in precedenza. Assicurati che l'attività di replica sia interrotta prima di attivare Time Travel.

**Per attivare Time Travel, utilizzare il AWS CLI**

1. Crea un file JSON di configurazione delle attività DMS e aggiungi una sezione `TTSettings` come indicato di seguito. Per informazioni su come utilizzare un file di configurazione dell'attività per impostare le impostazioni dell'attività, consulta [Esempio di impostazioni delle attività](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. In un'azione dell'attività appropriata, specifica questo file JSON utilizzando l'opzione `--replication-task-settings`. Ad esempio, il frammento di codice della CLI che segue specifica questo file di impostazioni Time Travel come parte di `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
                               .
                               .
                               .
   ```

   Qui, il nome di questo file di impostazioni Time Travel è `task-settings-tt-enabled.json`.

Allo stesso modo, è possibile specificare questo file come parte dell'azione `modify-replication-task`.

Nota la particolare gestione dei log Time Travel per le seguenti azioni dell'attività:
+ `start-replication-task`: quando si esegue un'attività di replica, se un bucket S3 utilizzato per Time Travel non è accessibile, l'attività viene contrassegnata come `FAILED`.
+ `stop-replication-task`— Quando l'attività si interrompe, invia AWS DMS immediatamente tutti i registri Time Travel attualmente disponibili per l'istanza di replica al bucket S3 utilizzato per Time Travel.

Durante l'esecuzione di un'attività di replica, è possibile modificare il valore `EncryptionMode` da `"SSE_KMS"` a `"SSE_S3"` ma non viceversa.

Se la dimensione dei log Time Travel per un'attività in corso supera 1 GB, DMS esegue il push dei log a S3 entro cinque minuti dal raggiungimento della dimensione. Dopo l'esecuzione di un'attività, se il bucket S3 o la chiave KMS diventano inaccessibili, DMS interrompe il push dei log a questo bucket. Se scopri che i log non vengono trasferiti nel bucket S3, controlla S3 e le autorizzazioni. AWS KMS Per maggiori dettagli sulla frequenza con cui DMS esegue il push dei log a S3, consulta [Con quale frequenza AWS DMS carica i registri di Time Travel su S3](CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.UploadsToS3.md).

Per attivare Time Travel per un'attività esistente dalla console, utilizza l'opzione dell'editor JSON in **Impostazioni delle attività** per aggiungere una sezione `TTSettings`.

# Utilizzo dei log Time Travel
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.LogSchema"></a>

I *log Time Travel* sono file CSV (Comma-Separated Value, valori separati da virgole) con i campi seguenti.

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

Dopo che i log Time Travel sono disponibili in S3, puoi accedervi direttamente ed eseguire query con strumenti come Amazon Athena. Oppure puoi scaricare i log come qualsiasi altro file da S3.

L'esempio seguente mostra un log Time Travel in cui vengono registrate le transazioni per una tabella chiamata `mytable`. I fine riga per il log seguente sono aggiunti per motivi di leggibilità.

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

# Con quale frequenza AWS DMS carica i registri di Time Travel su S3
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.UploadsToS3"></a>

Per ridurre al minimo l'utilizzo dello storage dell'istanza di replica, AWS DMS scarica periodicamente i log di Time Travel da essa. 

I log Time Travel vengono sottoposti al push nel bucket Amazon S3 nei seguenti casi:
+ Se la dimensione corrente dei log supera 1 GB, AWS DMS carica i log su S3 entro cinque minuti. Pertanto, AWS DMS può effettuare fino a 12 chiamate all'ora verso S3 e per ogni attività in esecuzione. AWS KMS 
+ AWS DMS carica i log su S3 ogni ora, indipendentemente dalla dimensione dei log.
+ Quando un'attività viene interrotta, carica AWS DMS immediatamente i registri dei viaggi nel tempo su S3.