Utilisation de Redis en tant que cible pour AWS Database Migration Service - AWS Service de Migration de Base de Données

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 en tant que cible pour AWS Database Migration Service

Redis est un magasin de structures de données open source en mémoire, utilisé comme base de données, cache et agent 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 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 cible avec un temps d'arrêt minimal. Pour plus d’informations sur Redis, consultez la documentation de Redis.

Outre Redis sur site, AWS Database Migration Service prend en charge les éléments suivants :

  • Amazon ElastiCache pour Redis en tant que magasin de données cible. ElastiCache for Redis fonctionne avec vos clients Redis et utilise le format de données ouvert Redis pour stocker vos données.

  • Amazon MemoryDB for Redis en tant que magasin de données cible. MemoryDB est compatible avec Redis et vous permet de créer des applications en utilisant toutes les structures de données, API et commandes Redis utilisées aujourd’hui.

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

Conditions préalables à l'utilisation d'un cluster Redis comme cible pour AWS DMS

DMS prend en charge une cible Redis sur site dans une configuration autonome, ou en tant que cluster Redis dans lequel les données sont automatiquement partitionnées 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.

Étant donné que Redis est un magasin de données NoSQL de type clé-valeur, la convention de dénomination des clés Redis à utiliser lorsque votre source est une base de données relationnelle est nom-schéma.nom-table.clé-primaire. Dans Redis, 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 comme cible, DMS prend uniquement en charge les configurations activées en mode cluster. Pour plus d'informations sur l'utilisation ElastiCache de Redis version 6.x ou ultérieure afin de créer un magasin de données cible compatible avec le mode cluster, consultez Getting started dans le guide de l'utilisateur Amazon ElastiCache pour Redis.

Avant de commencer une migration de base de données, lancez votre cluster Redis selon les critères suivants.

  • Votre cluster possède une ou plusieurs partitions.

  • Si vous utilisez une cible ElastiCache pour Redis, assurez-vous que votre cluster n'utilise pas le contrôle d'accès basé sur les rôles IAM. Utilisez plutôt Redis 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 cible ne comporte plus aucune donnée 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

Les limitations suivantes s’appliquent lorsque vous utilisez Redis en tant que cible :

  • Étant donné que Redis est un magasin de données no-sql de type clé-valeur, la convention de dénomination des clés Redis à utiliser lorsque votre source est une base de données relationnelle est schema-name.table-name.primary-key.

  • Dans Redis, la paire clé-valeur 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 contenant le % caractère dans le nom du champ.

  • 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 ElastiCache l'utilisation de Redis comme cible.

Migration de données d’une base de données relationnelle ou non relationnelle vers une cible Redis

Vous pouvez migrer les données de n’importe quel magasin de données SQL ou NoSQL source directement vers une cible Redis. La configuration et le démarrage d’une migration vers une cible Redis sont similaires à n’importe quelle migration de chargement complet et de CDC à l’aide de la console ou de l’API DMS. Pour effectuer une migration de base de données vers une cible Redis, procédez comme suit.

  • Créez une instance de réplication pour effectuer tous les processus de la migration. Pour plus d’informations, consultez Création d'une instance de réplication.

  • Spécifiez un point de terminaison source. Pour plus d’informations, consultez Création de points de terminaison source et cible.

  • 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 plus d’informations, consultez Création d’une tâche.

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

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

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 for Redis en tant que cible, utilisez la commande AWS CLI suivante pour fournir une adresse de point de terminaison à votre cluster Redis.

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

    Pour cette option Faire ceci

    Type de point de terminaison

    Choisissez le type de point de terminaison Cible.

    Identificateur de point de terminaison

    Entrez le nom du point de terminaison. Indiquez le type de point de terminaison dans le nom, par exemple my-redis-target.

    Moteur cible

    Choisissez Redis comme type de moteur de base de données auquel vous souhaitez que ce point de terminaison se connecte.

    Nom du cluster

    Entrez le nom DNS de votre cluster Redis.

    Port

    Entrez le numéro de port de votre cluster Redis.

    Protocole de sécurité SSL

    Choisissez Texte brut ou Chiffrement SSL.

    Texte brut : cette option 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.

    Chiffrement SSL : si vous choisissez cette option, entrez un ARN de certificat de CA SSL pour vérifier le certificat du serveur et établir une connexion chiffrée.

    Pour Redis sur site, DMS prend en charge les autorités de certification (CA) publiques et privées. ElastiCache Pour Redis, DMS ne prend en charge qu'une autorité de certification publique.

    Type d’authentification

    Choisissez le type d’authentification à effectuer lors de la connexion à Redis. Les options incluent Aucun, Rôle d’authentification et Jeton d’authentification.

    Si vous choisissez Rôle d’authentification, entrez un Nom d’utilisateur d’authentification et un Mot de passe d’authentification.

    Si vous choisissez Jeton d’authentification, fournissez uniquement un Mot de passe d’authentification.

    Instance de réplication

    [Facultatif] Uniquement si vous prévoyez de tester votre connexion, choisissez le nom de l’instance de réplication que vous avez entré précédemment sur la page Créer une instance de réplication.

Lorsque vous avez terminé de fournir toutes les informations relatives au point de terminaison, AWS DMS crée votre point de terminaison cible Redis à 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.

Spécification des paramètres de point de terminaison pour Redis en tant que cible

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 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) pour le type string, spécifie le cluster Redis vers lequel les données seront migrées et qui se trouve dans votre 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. L’argument 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 sur site, vous pouvez 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 ElastiCache de l'utilisation de Redis comme cible.

  • AuthType : (Obligatoire) indique le type d’authentification à effectuer lors de la connexion à Redis. Les valeurs valides sont none, auth-token et auth-role.

    L'auth-tokenoption nécessite que les caractères AuthPassword« » soient fournis, tandis que l'auth-roleoption nécessite que AuthUserName« » et « AuthPassword» soient fournis.