

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

# Utilizzo di Redis OSS come obiettivo per AWS Database Migration Service
<a name="CHAP_Target.Redis"></a>

Redis OSS è un archivio di strutture di dati in memoria open source utilizzato come database, cache e broker di messaggi. La gestione dei dati in memoria può eseguire operazioni di lettura o scrittura che richiedono meno di un millisecondo e centinaia di milioni di operazioni ogni secondo. In qualità di archivio dati in memoria, Redis OSS supporta le applicazioni più esigenti che richiedono tempi di risposta inferiori al millisecondo.

Utilizzando AWS DMS, è possibile migrare i dati da qualsiasi database di origine supportato a un data store Redis OSS di destinazione con tempi di inattività minimi. [Per ulteriori informazioni su Redis OSS, consulta la documentazione Redis OSS.](https://redis.io/documentation)

Oltre a Redis OSS locale, AWS Database Migration Service supporta quanto segue:
+ [Amazon ElastiCache (Redis OSS)](https://aws.amazon.com/elasticache/redis/) come archivio dati di destinazione. ElastiCache (Redis OSS) funziona con i client Redis OSS e utilizza il formato di dati Redis OSS aperto per archiviare i dati.
+ [Amazon MemoryDB](https://aws.amazon.com/memorydb/) come archivio dati di destinazione. MemoryDB è compatibile con Redis OSS e consente di creare applicazioni utilizzando tutte le strutture di dati e i comandi Redis OSS attualmente in uso. APIs

Per ulteriori informazioni sull'utilizzo di Redis OSS come destinazione per AWS DMS, consulta le seguenti sezioni: 

**Topics**
+ [Prerequisiti per l'utilizzo di un cluster Redis OSS come destinazione per AWS DMS](#CHAP_Target.Redis.Prerequisites)
+ [Limitazioni nell'utilizzo di Redis come destinazione per AWS Database Migration Service](#CHAP_Target.Redis.Limitations)
+ [Migrazione dei dati da un database relazionale o non relazionale a un target Redis OSS](#CHAP_Target.Redis.Migrating)
+ [Specificazione delle impostazioni degli endpoint per Redis OSS come destinazione](#CHAP_Target.Redis.EndpointSettings)

## Prerequisiti per l'utilizzo di un cluster Redis OSS come destinazione per AWS DMS
<a name="CHAP_Target.Redis.Prerequisites"></a>

*DMS supporta un target Redis OSS locale in una configurazione autonoma o come cluster Redis OSS in cui i dati vengono automaticamente condivisi su più nodi.* Il partizionamento è il processo di separazione dei dati in blocchi più piccoli, denominati partizioni, distribuiti su più server o nodi. In effetti, si tratta di una partizione di dati che contiene un sottoinsieme del set di dati totale e serve una parte del carico di lavoro complessivo.

**Poiché Redis OSS è un data store NoSQL chiave-valore, la convenzione di denominazione delle chiavi Redis OSS da utilizzare quando l'origine è un database relazionale è schema-name.table-name.primary-key.** In Redis OSS, la chiave e il valore non devono contenere il carattere speciale%. In caso contrario, DMS ignora il record. 

**Nota**  
Se si utilizza ElastiCache (Redis OSS) come destinazione, DMS supporta solo configurazioni *abilitate per la modalità cluster*. Per ulteriori informazioni sull'utilizzo di ElastiCache (Redis OSS) versione 6.x o successiva per creare un data store di destinazione abilitato alla modalità cluster, consulta la [Guida introduttiva](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/GettingStarted.html) alla *Amazon ElastiCache (Redis OSS)* User Guide. 

Prima di iniziare una migrazione del database, avvia il cluster Redis OSS con i seguenti criteri.
+ Il cluster ha una o più partizioni.
+ Se utilizzi un target ElastiCache (Redis OSS), assicurati che il cluster non utilizzi il controllo degli accessi basato sui ruoli IAM. Utilizza invece Redis OSS Auth per autenticare gli utenti.
+ Abilita Multi-AZ (zone di disponibilità).
+ Assicurati che il cluster abbia memoria disponibile sufficiente per contenere i dati da migrare dal database. 
+ Assicurati che il cluster Redis OSS di destinazione sia privo di tutti i dati prima di iniziare l'attività di migrazione iniziale.

È necessario determinare i requisiti di sicurezza per la migrazione dei dati prima di creare la configurazione del cluster. DMS supporta la migrazione in gruppi di replica di destinazione indipendentemente dalla configurazione della crittografia. Tuttavia, è possibile abilitare o disabilitare la crittografia solo quando si crea la configurazione del cluster.

## Limitazioni nell'utilizzo di Redis come destinazione per AWS Database Migration Service
<a name="CHAP_Target.Redis.Limitations"></a>

Le seguenti limitazioni si applicano quando si utilizza Redis OSS come destinazione:
+ Poiché Redis OSS è un archivio dati no-sql con valore chiave, la convenzione di denominazione delle chiavi Redis OSS da utilizzare quando l'origine è un database relazionale è. `schema-name.table-name.primary-key` 
+ In Redis OSS, il valore-chiave non può contenere il carattere speciale. `%` In caso contrario, DMS ignora il record.
+ DMS non migrerà le righe che contengono il carattere. `%`
+ DMS non migrerà i campi che contengono il `%` carattere nel nome del campo.
+ La modalità LOB completa non è supportata.
+  Un'autorità di certificazione (CA) privata non è supportata quando si utilizza ElastiCache (Redis OSS) come destinazione.
+ AWS DMS non supporta i dati di origine contenenti `'\0'` caratteri incorporati quando si utilizza Redis come endpoint di destinazione. I dati contenenti `'\0'` caratteri incorporati verranno troncati al primo carattere. `'\0'`

## Migrazione dei dati da un database relazionale o non relazionale a un target Redis OSS
<a name="CHAP_Target.Redis.Migrating"></a>

È possibile migrare i dati da qualsiasi data store SQL o NoSQL di origine direttamente su una destinazione Redis OSS. La configurazione e l'avvio di una migrazione verso un target Redis OSS sono simili a qualsiasi migrazione di acquisizione dati a pieno carico e modifica tramite la console DMS o l'API. Per eseguire una migrazione del database verso una destinazione Redis OSS, procedi come segue.
+ Crea un'istanza di replica che esegua tutti i processi per la migrazione. Per ulteriori informazioni, consulta [Creazione di un'istanza di replica](CHAP_ReplicationInstance.Creating.md).
+ Specifica un endpoint di origine. Per ulteriori informazioni, consulta [Creazione di endpoint di origine e destinazione](CHAP_Endpoints.Creating.md).
+ Individua il nome DNS e il numero della porta del cluster.
+ Scarica un bundle di certificati che puoi usare per verificare le connessioni SSL.
+ Specifica un endpoint di destinazione, come descritto di seguito.
+ Crea un'attività o una serie di attività per definire le tabelle e i processi di replica da utilizzare. Per ulteriori informazioni, consulta [Creazione di un'attività](CHAP_Tasks.Creating.md).
+ Esegui la migrazione dei dati dal database di origine al cluster di destinazione.

È possibile avviare una migrazione del database in due modi:

1. Puoi scegliere la AWS DMS console ed eseguire ogni passaggio da lì.

1. Puoi usare il AWS Command Line Interface (AWS CLI). [Per ulteriori informazioni sull'utilizzo della CLI con AWS DMS, vedere AWS CLI for. AWS DMS](https://docs.aws.amazon.com/cli/latest/reference/dms/index.html)

**Per individuare il nome DNS e il numero della pota del cluster**
+ Utilizzate il AWS CLI comando seguente per `replication-group-id` fornire il nome del gruppo di replica.

  ```
  aws elasticache describe-replication-groups --replication-group-id myreplgroup
  ```

  Qui, l'output mostra il nome DNS nell'attributo `Address` e il numero di porta nell'attributo `Port` del nodo primario del cluster. 

  ```
   ...
  "ReadEndpoint": {
  "Port": 6379,
  "Address": "myreplgroup-
  111.1abc1d.1111.uuu1.cache.example.com"
  }
  ...
  ```

  Se utilizzate MemoryDB come destinazione, utilizzate il AWS CLI comando seguente per fornire un indirizzo endpoint al cluster Redis OSS. 

  ```
  aws memorydb describe-clusters --clusterid clusterid
  ```

**Download di un bundle di certificati da usare per verificare le connessioni SSL**
+ Nella riga di comando, immetti il comando `wget` seguente. Wget è uno strumento di utilità a riga di comando GNU gratuito utilizzato per scaricare i file da Internet.

  ```
  wget https://s3.aws-api-domain/rds-downloads/rds-combined-ca-bundle.pem
  ```

  Qui, `aws-api-domain` completa il dominio Amazon S3 nella AWS tua regione necessario per accedere al bucket S3 specificato e rds-combined-ca-bundle al file.pem che fornisce.

**Per creare un AWS DMS endpoint di destinazione utilizzando la console**

Questo endpoint è destinato al target Redis OSS già in esecuzione. 
+ Nel riquadro di navigazione della console IAM, scegli **Endpoint** quindi seleziona **Crea endpoint**. Nella tabella seguente vengono illustrate le impostazioni.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/dms/latest/userguide/CHAP_Target.Redis.html)

Quando hai finito di fornire tutte le informazioni per l'endpoint, AWS DMS crea l'endpoint di destinazione Redis OSS da utilizzare durante la migrazione del database.

Per informazioni sulla creazione di un'attività di migrazione e sull'avvio della migrazione del database, consulta [Creazione di un'attività](CHAP_Tasks.Creating.md).

## Specificazione delle impostazioni degli endpoint per Redis OSS come destinazione
<a name="CHAP_Target.Redis.EndpointSettings"></a>

Per creare o modificare un endpoint di destinazione, è possibile utilizzare la console o le operazioni API `CreateEndpoint` o `ModifyEndpoint`. 

**Per un target Redis OSS nella AWS DMS console, specifica le **impostazioni specifiche dell'endpoint** nella pagina **Crea** endpoint o Modifica console endpoint.**

Quando si utilizzano le operazioni API `CreateEndpoint` e `ModifyEndpoint`, specifica i parametri della richiesta per l'opzione `RedisSettings`. Nell'esempio seguente viene illustrato come eseguire questa operazione utilizzando la AWS CLI.

```
aws dms create-endpoint --endpoint-identifier my-redis-target
--endpoint-type target --engine-name redis --redis-settings 
'{"ServerName":"sample-test-sample.zz012zz.cluster.eee1.cache.bbbxxx.com","Port":6379,"AuthType":"auth-token", 
 "SslSecurityProtocol":"ssl-encryption", "AuthPassword":"notanactualpassword"}'

{
    "Endpoint": {
        "EndpointIdentifier": "my-redis-target",
        "EndpointType": "TARGET",
        "EngineName": "redis",
        "EngineDisplayName": "Redis",
        "TransferFiles": false,
        "ReceiveTransferredFiles": false,
        "Status": "active",
        "KmsKeyId": "arn:aws:kms:us-east-1:999999999999:key/x-b188188x",
        "EndpointArn": "arn:aws:dms:us-east-1:555555555555:endpoint:ABCDEFGHIJKLMONOPQRSTUVWXYZ",
        "SslMode": "none",
        "RedisSettings": {
            "ServerName": "sample-test-sample.zz012zz.cluster.eee1.cache.bbbxxx.com",
            "Port": 6379,
            "SslSecurityProtocol": "ssl-encryption",
            "AuthType": "auth-token"
        }
    }
}
```

Di seguito sono riportati i parametri `--redis-settings`:
+ `ServerName`— (Obbligatorio) Di tipo`string`, specifica il cluster Redis OSS verso cui verranno migrati i dati e si trova nello stesso VPC.
+ `Port` (obbligatorio): di tipo `number`, il valore della porta utilizzato per accedere all'endpoint.
+ `SslSecurityProtocol` (facoltativo): i valori validi sono `plaintext` e `ssl-encryption`. Il valore predefinito è `ssl-encryption`. 

  L'opzione `plaintext` non fornisce la crittografia Transport Layer Security (TLS) per il traffico tra endpoint e database. 

  Utilizza `ssl-encryption` per creare una connessione crittografata. `ssl-encryption` non richiede l'ARN dell'Autorità di certificazione (CA) SSL per verificare il certificato di un server, ma è possibile indentificarne facoltativamente uno utilizzando l'impostazione `SslCaCertificateArn`. Se non viene fornito l'ARN dell'Autorità di certificazione, DMS utilizza la CA root di Amazon.

  Quando si utilizza un target Redis OSS locale, è possibile `SslCaCertificateArn` importare un'Autorità di certificazione (CA) pubblica o privata in DMS e fornire tale ARN per l'autenticazione del server. Una CA privata non è supportata quando si utilizza ElastiCache (Redis OSS) come destinazione.
+ `AuthType`— (Obbligatorio) Indica il tipo di autenticazione da eseguire durante la connessione a Redis OSS. I valori validi includono `none`, `auth-token` e `auth-role`.

  L'`auth-token`opzione richiede che venga fornito un *AuthPassword* "", mentre l'`auth-role`opzione richiede che vengano forniti *AuthUserName* "" e *AuthPassword* "».