

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Utilisation de Redis OSS comme cible pour AWS Database Migration Service
<a name="CHAP_Target.Redis"></a>

Redis OSS est un magasin de structure de données en mémoire open source utilisé comme base de données, cache et courtier de messages. La gestion des données en mémoire peut entraîner des opérations de lecture ou d’écriture de moins d’une milliseconde et des centaines de millions d’opérations par seconde. En tant que magasin de données en mémoire, Redis OSS alimente les applications les plus exigeantes nécessitant des temps de réponse inférieurs à la milliseconde.

Vous pouvez AWS DMS ainsi migrer les données de n'importe quelle base de données source prise en charge vers un magasin de données Redis OSS cible avec un temps d'arrêt minimal. Pour plus d'informations sur Redis OSS, consultez la documentation [Redis OSS](https://redis.io/documentation).

Outre Redis OSS sur site, AWS Database Migration Service prend en charge les éléments suivants :
+ [Amazon ElastiCache (Redis OSS)](https://aws.amazon.com/elasticache/redis/) en tant que magasin de données cible. ElastiCache (Redis OSS) fonctionne avec vos clients Redis OSS et utilise le format de données ouvert Redis OSS pour stocker vos données.
+ [Amazon MemoryDB](https://aws.amazon.com/memorydb/) en tant que magasin de données cible. MemoryDB est compatible avec Redis OSS et vous permet de créer des applications en utilisant toutes les structures de données et commandes Redis OSS APIs utilisées aujourd'hui.

Pour plus d'informations sur l'utilisation de Redis OSS comme cible pour AWS DMS, consultez les sections suivantes : 

**Topics**
+ [Conditions préalables à l'utilisation d'un cluster Redis OSS comme cible pour AWS DMS](#CHAP_Target.Redis.Prerequisites)
+ [Limitations liées à l'utilisation de Redis comme cible pour AWS Database Migration Service](#CHAP_Target.Redis.Limitations)
+ [Migration de données d'une base de données relationnelle ou non relationnelle vers une cible Redis OSS](#CHAP_Target.Redis.Migrating)
+ [Spécification des paramètres de point de terminaison pour Redis OSS en tant que cible](#CHAP_Target.Redis.EndpointSettings)

## Conditions préalables à l'utilisation d'un cluster Redis OSS comme cible pour AWS DMS
<a name="CHAP_Target.Redis.Prerequisites"></a>

*DMS prend en charge une cible Redis OSS sur site dans une configuration autonome ou en tant que cluster Redis OSS dans lequel les données sont automatiquement réparties sur plusieurs nœuds.* Le partitionnement est le processus qui consiste à séparer les données en petits fragments appelés « partitions », répartis sur plusieurs serveurs ou nœuds. Une partition contient un sous-ensemble de l’ensemble de données total qui couvre une partie de la charge de travail globale.

**Redis OSS étant un magasin de données NoSQL à valeur clé, la convention de dénomination des clés Redis OSS à utiliser lorsque votre source est une base de données relationnelle est schema-name.table-name.primary-key.** Dans Redis OSS, la clé et la valeur ne doivent pas contenir le caractère spécial %. Dans le cas contraire, DMS ignore l’enregistrement. 

**Note**  
Si vous utilisez ElastiCache (Redis OSS) comme cible, DMS prend uniquement en charge les configurations *activées en mode cluster*. Pour plus d'informations sur l'utilisation de ElastiCache (Redis OSS) version 6.x ou ultérieure pour créer un magasin de données cible compatible avec le mode cluster, consultez [Getting started](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/GettingStarted.html) dans le guide de l'utilisateur *Amazon ElastiCache (Redis OSS)*. 

Avant de commencer une migration de base de données, lancez votre cluster Redis OSS selon les critères suivants.
+ Votre cluster possède une ou plusieurs partitions.
+ Si vous utilisez une cible ElastiCache (Redis OSS), assurez-vous que votre cluster n'utilise pas le contrôle d'accès basé sur les rôles IAM. Utilisez plutôt Redis OSS Auth pour authentifier les utilisateurs.
+ Activez Multi-AZ (zones de disponibilité).
+ Assurez-vous que le cluster dispose de suffisamment de mémoire pour accueillir les données à migrer depuis la base de données. 
+ Assurez-vous que votre cluster Redis OSS cible est exempt de toutes les données avant de commencer la tâche de migration initiale.

Vous devez déterminer vos exigences de sécurité pour la migration des données avant de créer la configuration de votre cluster. DMS prend en charge la migration vers les groupes de réplication cibles, quelle que soit leur configuration de chiffrement. Mais vous ne pouvez activer ou désactiver le chiffrement que lorsque vous créez la configuration de votre cluster.

## Limitations liées à l'utilisation de Redis comme cible pour AWS Database Migration Service
<a name="CHAP_Target.Redis.Limitations"></a>

Les limites suivantes s'appliquent lors de l'utilisation de Redis OSS comme cible :
+ Redis OSS étant un magasin de données no-sql à valeur clé, la convention de dénomination des clés Redis OSS à utiliser lorsque votre source est une base de données relationnelle est la suivante. `schema-name.table-name.primary-key` 
+ Dans Redis OSS, la valeur clé ne peut pas contenir le caractère spécial. `%` Dans le cas contraire, DMS ignore l’enregistrement.
+ DMS ne migrera pas les lignes contenant le `%` caractère.
+ DMS ne migrera pas les champs dont le nom contient le `%` caractère.
+ Le Mode LOB complet n'est pas pris en charge.
+  Une autorité de certification (CA) privée n'est pas prise en charge lors de l'utilisation de ElastiCache (Redis OSS) comme cible.
+ AWS DMS ne prend pas en charge les données source contenant des `'\0'` caractères incorporés lors de l'utilisation de Redis comme point de terminaison cible. Les données contenant des `'\0'` caractères incorporés seront tronquées au premier `'\0'` caractère.

## Migration de données d'une base de données relationnelle ou non relationnelle vers une cible Redis OSS
<a name="CHAP_Target.Redis.Migrating"></a>

Vous pouvez migrer les données de n'importe quel magasin de données SQL ou NoSQL source directement vers une cible Redis OSS. La configuration et le démarrage d'une migration vers une cible Redis OSS sont similaires à toute migration de chargement complet et de capture de données à l'aide de la console ou de l'API DMS. Pour effectuer une migration de base de données vers une cible Redis OSS, procédez comme suit.
+ Créez une instance de réplication pour effectuer tous les processus de la migration. Pour de plus amples informations, veuillez consulter [Création d'une instance de réplication](CHAP_ReplicationInstance.Creating.md).
+ Spécifiez un point de terminaison source. Pour de plus amples informations, veuillez consulter [Création de points de terminaison source et cible](CHAP_Endpoints.Creating.md).
+ Trouvez le numéro de port et le nom DNS de votre cluster.
+ Téléchargez un ensemble de certificats que vous pouvez utiliser pour vérifier les connexions SSL.
+ Spécifiez un point de terminaison cible, comme décrit ci-dessous.
+ Créez une tâche ou un ensemble de tâches pour définir les tables et processus de réplication à utiliser. Pour de plus amples informations, veuillez consulter [Création d’une tâche](CHAP_Tasks.Creating.md).
+ Migrez les données de la base de données source vers votre cluster cible.

Commencez une migration de base de données de l’une des deux manières suivantes :

1. Vous pouvez choisir la AWS DMS console et y effectuer chaque étape.

1. Vous pouvez utiliser le AWS Command Line Interface (AWS CLI). Pour plus d'informations sur l'utilisation de la CLI avec AWS DMS, consultez [AWS CLI pour AWS DMS](https://docs.aws.amazon.com/cli/latest/reference/dms/index.html).

**Pour trouver le numéro de port et le nom DNS de votre cluster**
+ Utilisez la AWS CLI commande suivante pour `replication-group-id` fournir le nom de votre groupe de réplication.

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

  Ici, la sortie indique le nom DNS dans l’attribut `Address` et le numéro de port dans l’attribut `Port` du nœud primaire du cluster. 

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

  Si vous utilisez MemoryDB comme cible, utilisez la AWS CLI commande suivante pour fournir une adresse de point de terminaison à votre cluster Redis OSS. 

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

**Téléchargez un ensemble de certificats à utiliser pour vérifier les connexions SSL.**
+ Entrez la commande `wget` suivante sur la ligne de commande. Wget est un utilitaire de ligne de commande GNU gratuit qui permet de télécharger des fichiers à partir d’Internet.

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

  Ici, `aws-api-domain` complète le domaine Amazon S3 de votre AWS région requis pour accéder au compartiment S3 spécifié et au rds-combined-ca-bundle fichier .pem qu'il fournit.

**Pour créer un point de terminaison cible à l'aide de la AWS DMS console**

Ce point de terminaison est destiné à votre cible Redis OSS déjà en cours d'exécution. 
+ Dans la console, choisissez **Points de terminaison** dans le volet de navigation, puis **Créer un point de terminaison**. Le tableau suivant décrit les paramètres.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/dms/latest/userguide/CHAP_Target.Redis.html)

Lorsque vous avez terminé de fournir toutes les informations pour votre point de terminaison, AWS DMS crée votre point de terminaison cible Redis OSS à utiliser lors de la migration de la base de données.

Pour en savoir plus sur la création d’une tâche de migration et le démarrage de la migration de la base de données, consultez [Création d’une tâche](CHAP_Tasks.Creating.md).

## Spécification des paramètres de point de terminaison pour Redis OSS en tant que cible
<a name="CHAP_Target.Redis.EndpointSettings"></a>

Pour créer ou modifier un point de terminaison cible, vous pouvez utiliser la console, `CreateEndpoint` ou les opérations d'API `ModifyEndpoint`. 

Pour une cible Redis OSS dans la AWS DMS console, spécifiez les **paramètres spécifiques au point de terminaison sur la page Créer un point** **de terminaison ou **Modifier** la console de point de terminaison**.

Lorsque vous utilisez les opérations d’API `CreateEndpoint` et `ModifyEndpoint`, spécifiez les paramètres de demande pour l’option `RedisSettings`. L’exemple suivant montre comment procéder à l’aide d’ 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"
        }
    }
}
```

Les paramètres `--redis-settings` sont les suivants :
+ `ServerName`— (Obligatoire) De type`string`, spécifie le cluster Redis OSS vers lequel les données seront migrées et qui se trouve dans votre même VPC.
+ `Port` : (Obligatoire) pour le type `number`, valeur du port utilisé pour accéder au point de terminaison.
+ `SslSecurityProtocol` : (Facultatif) les valeurs valides incluent `plaintext` et `ssl-encryption`. La valeur par défaut est `ssl-encryption`. 

  L'option `plaintext` ne fournit pas le chiffrement du protocole TLS (Transport Layer Security) pour le trafic entre le point de terminaison et la base de données. 

  Utilisez `ssl-encryption` pour établir une connexion chiffrée. `ssl-encryption` ne requiert pas d’ARN d’autorité de certification (CA) SSL pour vérifier le certificat d’un serveur, mais il est possible d’en identifier un à l’aide du paramètre `SslCaCertificateArn`. Si aucun ARN de CA n’est fourni, DMS utilise la CA racine Amazon.

  Lorsque vous utilisez une cible Redis OSS sur site, vous pouvez l'utiliser `SslCaCertificateArn` pour importer une autorité de certification (CA) publique ou privée dans DMS et fournir cet ARN pour l'authentification du serveur. Une autorité de certification privée n'est pas prise en charge lors de l'utilisation de ElastiCache (Redis OSS) comme cible.
+ `AuthType`— (Obligatoire) Indique le type d'authentification à effectuer lors de la connexion à Redis OSS. Les valeurs valides sont `none`, `auth-token` et `auth-role`.

  L'`auth-token`option nécessite que les caractères *AuthPassword* « » soient fournis, tandis que l'`auth-role`option nécessite que *AuthUserName* « » et « *AuthPassword* » soient fournis.