Uso de Redis OSS como destino para AWS Database Migration Service
Redis OSS es un almacén de estructura de datos en memoria de código abierto que se utiliza como base de datos, caché y agente de mensajes. La administración de datos en memoria puede provocar que las operaciones de lectura o escritura tarden menos de un milisegundo y que se realicen cientos de millones de operaciones por segundo. Como almacén de datos en memoria, Redis OSS potencia las aplicaciones más exigentes que requieren tiempos de respuesta inferiores a un milisegundo.
Con AWS DMS, puede migrar datos de cualquier base de datos de origen compatible a un almacén de datos de Redis OSS de destino con un tiempo de inactividad mínimo. Para obtener información adicional sobre Redis OSS, consulte la Documentación de Redis OSS
Además de Redis OSS en las instalaciones, AWS Database Migration Service es compatible con lo siguiente:
-
Amazon ElastiCache (Redis OSS)
como almacén de datos de destino. ElastiCache (Redis OSS) funciona con los clientes de Redis OSS y utiliza el formato de datos abierto de Redis OSS para almacenar los datos. -
Amazon MemoryDB
como almacén de datos de destino. MemoryDB es compatible con Redis OSS y le permite compilar aplicaciones con todas las estructuras de datos, las API y los comandos de Redis OSS que se utilizan en la actualidad.
Para obtener información adicional sobre cómo trabajar con Redis OSS como destino para AWS DMS, consulte las secciones siguientes:
Temas
Requisitos previos para usar un clúster de Redis OSS como destino para AWS DMS
Restricciones al usar Redis como destino para AWS Database Migration Service
Migración de datos de una base de datos relacional o no relacional a un destino de Redis OSS
Especificación de la configuración del punto de conexión para Redis OSS como destino
Requisitos previos para usar un clúster de Redis OSS como destino para AWS DMS
DMS admite un destino de Redis OSS en las instalaciones en una configuración independiente o como clúster de Redis OSS en el que los datos se particionan de forma automática en varios nodos. La fragmentación es el proceso de separar los datos en partes más pequeñas, denominados particiones, que se distribuyen en varios servidores o nodos. En efecto, una partición es una partición de datos que contiene un subconjunto del conjunto total de datos y sirve para cubrir una parte de la carga de trabajo total.
Dado que Redis OSS es un almacén de datos NoSQL de clave-valor, la convención de nomenclatura de claves de Redis OSS que se debe utilizar cuando el origen es una base de datos relacional es schema-name.table-name.primary-key. En Redis OSS, la clave y el valor no deben contener el carácter especial %. De lo contrario, DMS omite el registro.
nota
Si utiliza ElastiCache (Redis OSS) como destino, DMS solo admite las configuraciones con el modo de clúster habilitado. Para obtener más información sobre el uso de ElastiCache (Redis OSS) versión 6.x o posteriores para crear un almacén de datos de destino con el modo de clúster habilitado, consulte Introducción en la Guía del usuario de Amazon ElastiCache (Redis OSS).
Antes de iniciar la migración de una base de datos, lance el clúster de Redis OSS con los siguientes criterios.
-
El clúster tiene una o varias particiones.
-
Si utiliza un destino de ElastiCache (Redis OSS), asegúrese de que el clúster no utilice el control de acceso basado en roles de IAM. En su lugar, utilice la autenticación de Redis OSS para autenticar a los usuarios.
-
Habilite Multi-AZ (zonas de disponibilidad).
-
Asegúrese de que el clúster tenga suficiente memoria disponible para ajustar los datos a migrar desde la base de datos.
-
Asegúrese de que el clúster de Redis OSS de destino esté libre de todos los datos antes de empezar la tarea de migración inicial.
Debe determinar los requisitos de seguridad para la migración de datos antes de crear la configuración del clúster. DMS admite la migración a los grupos de replicación de destino, independientemente de la configuración de cifrado. Sin embargo, solo puede habilitar o desactivar el cifrado al crear la configuración del clúster.
Restricciones al usar Redis como destino para AWS Database Migration Service
Las siguientes restricciones se aplican cuando se usa Redis OSS como destino:
-
Dado que Redis OSS es un almacén de datos de clave-valor NoSQL, la convención de nomenclatura de claves de Redis OSS que se debe utilizar cuando el origen es una base de datos relacional es
schema-name.table-name.primary-key. -
En Redis OSS, la clave y el valor no pueden contener el carácter especial
%. De lo contrario, DMS omite el registro. -
DMS no migrará las filas que contengan el carácter
%. -
DMS no migrará los campos que contengan el carácter
%en el nombre del campo. -
No se admite el modo LOB completo.
-
No se admite una entidad de certificación (CA) privada cuando se utiliza ElastiCache (Redis OSS) como destino.
Migración de datos de una base de datos relacional o no relacional a un destino de Redis OSS
Puede migrar datos de cualquier almacén de datos SQL o NoSQL de origen directamente a un destino de Redis OSS. La configuración y el inicio de una migración a un destino de Redis OSS es similar a cualquier migración de carga completa y captura de datos de cambios mediante la API o la consola de DMS. Para realizar una migración de base de datos a un destino de Redis OSS, haga lo siguiente.
-
Cree una instancia de replicación que efectúe todos los procesos para la migración. Para obtener más información, consulte Creación de una instancia de replicación.
-
Especifique un punto de conexión de origen. Para obtener más información, consulte Creación de puntos de enlace de origen y destino.
-
Busque el nombre de DNS y el número de puerto del clúster.
-
Descargue un paquete de certificados que pueda usar para verificar las conexiones SSL.
-
Especifique un punto de conexión de destino, tal y como se describe a continuación.
-
Crear una tarea o conjunto de tareas para definir qué tablas y procesos de replicación desea utilizar. Para obtener más información, consulte Creación de una tarea.
-
Migre los datos de la base de datos de origen al clúster de destino.
Puede iniciar una migración de base de datos de una de las dos formas:
-
Puede elegir la consola de AWS DMS y realizar allí cada paso.
-
Puede utilizar AWS Command Line Interface (AWS CLI). Para obtener más información sobre el uso de la CLI con AWS DMS, consulte AWS CLI para AWS DMS.
Búsqueda del nombre de DNS y el número de puerto del clúster
-
Use el comando AWS CLI para proporcionar
replication-group-idcon el nombre del grupo de replicación.aws elasticache describe-replication-groups --replication-group-id myreplgroupAquí, el resultado muestra el nombre de DNS en el atributo
Addressy el número de puerto en el atributoPortdel nodo principal del clúster.... "ReadEndpoint": { "Port": 6379, "Address": "myreplgroup- 111.1abc1d.1111.uuu1.cache.example.com" } ...Si utiliza MemoryDB como destino, utilice el comando de la AWS CLI siguiente para proporcionar una dirección de punto de conexión al clúster de Redis OSS.
aws memorydb describe-clusters --clusteridclusterid
Descarga de un paquete de certificados para usar para verificar las conexiones SSL
-
Ingrese el siguiente comando
wgeten la línea de comandos. Wget es una herramienta de utilidad gratuita de línea de comandos de GNU que se utiliza para descargar archivos de Internet.wget https://s3.aws-api-domain/rds-downloads/rds-combined-ca-bundle.pemAquí,
aws-api-domaincompleta el dominio de Amazon S3 de la región de AWS necesario para acceder al bucket de S3 especificado y al archivo rds-combined-ca-bundle.pem que proporciona.
Creación de un punto de conexión de destino con la consola de AWS DMS
Este punto de conexión es para el destino de Redis OSS que ya está en ejecución.
-
En la consola, elija Puntos de conexión del panel de navegación y, a continuación, elija Crear punto de conexión. La tabla siguiente describe la configuración.
Para esta opción Haga lo siguiente Tipo de punto de conexión
Elija el tipo de punto de conexión de destino.
Identificador de punto de conexión
Ingrese el nombre del punto de conexión. Por ejemplo, incluya el tipo de punto de conexión en el nombre, por ejemplo
my-redis-target.Motor de destino Elija Redis OSS como el tipo de motor de base de datos al que desea que se conecte este punto de conexión.
Nombre del clúster
Especifique el nombre de DNS del clúster de Redis OSS.
Puerto
Escriba el número de puerto del clúster de Redis OSS.
Protocolo de seguridad SSL
Elija el cifrado de texto sin formato o el cifrado SSL.
Texto sin formato: este opción no ofrece cifrado de seguridad de la capa de transporte (TLS) para el tráfico entre el punto de conexión y la base de datos.
Cifrado SSL: si elige esta opción, ingrese un ARN de certificado de la entidad de certificación (CA) SSL para verificar el certificado del servidor y establecer una conexión cifrada.
Para Redis OSS en las instalaciones, DMS admite entidades de certificación (CA) públicas y privadas. Para ElastiCache (Redis OSS), DMS admite solo una entidad de certificación pública.
Tipo de autenticación Elija el tipo de autenticación que se realiza mientras se conecta a Redis OSS. Las opciones incluyen, Ninguna, Rol de autenticación y Token de autenticación.
Si elige rol de autenticación, proporcione un nombre de usuario de autenticación y una contraseña de autenticación.
Si elige un token de autenticación, proporcione solo una contraseña de autenticación.
Instancia de replicación [Opcional] Solo si tiene intención de probar la conexión, elija el nombre de la instancia de replicación que ingresó anteriormente en la página Crear instancia de replicación.
Cuando haya terminado de proporcionar toda la información para el punto de conexión, AWS DMS crea el punto de conexión de destino de Redis OSS para usarlo durante la migración de la base de datos.
Para obtener información sobre cómo crear una tarea de migración e iniciar la migración de la base de datos, consulte Creación de una tarea.
Especificación de la configuración del punto de conexión para Redis OSS como destino
Para crear o modificar un punto de enlace de destino, puede usar la consola o las operaciones de la API CreateEndpoint o ModifyEndpoint.
Para un destino de Redis OSS en la consola de AWS DMS, especifique la Configuración específica de punto de conexión en la página de la consola Crear punto de conexión o Modificar punto de conexión.
Cuando utilice las operaciones de API CreateEndpoint y ModifyEndpoint, especifique los parámetros de solicitud de la opción RedisSettings. El siguiente ejemplo muestra cómo hacer esto mediante la AWS CLI.
aws dms create-endpoint --endpoint-identifiermy-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" } } }
Los parámetros --redis-settings son:
-
ServerName: (obligatorio) de tipostring, especifica el clúster de Redis OSS al que se migrarán los datos y se encuentra en la misma VPC. -
Port: (obligatorio) de tiponumber, el valor del puerto utilizado para acceder al punto de conexión. -
SslSecurityProtocol: (opcional) los valores válidos sonplaintextyssl-encryption. El valor predeterminado esssl-encryption.La opción de
plaintextno ofrece cifrado de seguridad de la capa de transporte (TLS) para el tráfico entre el punto de conexión y la base de datos.Se utiliza
ssl-encryptionpara establecer una conexión cifrada.ssl-encryptionno requiere un ARN de una entidad de certificación (CA) SSL para verificar el certificado de un servidor, pero se puede identificar uno opcionalmente mediante la configuraciónSslCaCertificateArn. Si no se proporciona un ARN de entidad de certificación, DMS utiliza la entidad de certificación raíz de Amazon.Cuando se utiliza un destino de Redis OSS en las instalaciones, se puede utilizar
SslCaCertificateArnpara importar una autoridad de certificación (CA) pública o privada a DMS y proporcionar ese ARN para la autenticación del servidor. No se admite una entidad de certificación privada cuando se utiliza ElastiCache (Redis OSS) como destino. -
AuthType: (obligatorio) indica el tipo de autenticación que se realiza cuando se conecta a Redis OSS. Los valores válidos sonnone,auth-tokenyauth-role.La opción
auth-tokenrequiere que se proporcione una “AuthPassword”, mientras que la opciónauth-rolerequiere que se proporcionen “AuthUserName” y “AuthPassword”.