Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Uso de Redis como objetivo paraAWS Database Migration Service
Redis 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 cientos de millones de operaciones se realizan cada segundo. Como data store en memoria, Redis impulsa las aplicaciones más exigentes que requieren tiempos de respuesta inferiores a un milisegundo.
Uso deAWS DMS, puede migrar datos desde cualquier base de datos de origen compatible a un data store de Redis de destino con un tiempo de inactividad mínimo. Para obtener más información sobre Redis consulte,Documentación de Redis
Además de Redis local,AWS Database Migration Serviceadmite el software y las versiones siguientes:
-
Amazon ElastiCache for Redis
como almacén de datos de destino. ElastiCache para Redis funciona con sus clientes de Redis y utiliza el formato de datos de Redis abierto para almacenar los datos. -
Amazon MemoryDB for Redis
como almacén de datos de destino. MemoryDB es compatible con Redis y le permite crear aplicaciones utilizando todas las estructuras de datos, API y comandos de Redis que se utilizan actualmente.
Para obtener más información sobre cómo trabajar con Redis como destino paraAWS DMS, consulte las siguientes secciones:
Temas
- Requisitos previos para el uso de un clúster de Redis como destino paraAWS DMS
- Restricciones al usar Redis como destino paraAWS Database Migration Service
- Migración de datos de una base de datos relacional o no relacional a un destino de Redis
- Especificación de la configuración del punto de enlace para Redis como destino
Requisitos previos para el uso de un clúster de Redis como destino paraAWS DMS
DMS admite un destino Redis local en una configuración independiente o como clúster de Redis donde los datos se encuentran automáticamentefragmentadoen varios nodos. La fragmentación es el proceso de separar los datos en fragmentos más pequeños denominados fragmentos que se distribuyen en varios servidores o nodos. En efecto, un fragmento es una partición de datos que contiene un subconjunto del conjunto de datos total y sirve un fragmento de la carga de trabajo general.
Dado que Redis es un data store NoSQL de valor clave, la convención de nomenclatura de claves de Redis que se utilizará cuando el origen es una base de datos relacional, esnombre_esquema.nombre-tabla.clave primaria. En Redis, la clave y el valor no deben contener el carácter especial%. De lo contrario, DMS salta el registro.
Si utiliza ElastiCache para Redis como destino, DMS admiteModo clúster habilitadosolo configuraciones. Para obtener más información sobre el uso de ElastiCache para Redis versión 6.x o posterior para crear un data store de destino habilitado en modo clúster, consulteIntroducciónen laGuía del usuario de Amazon ElastiCache for Redis.
Antes de comenzar una migración de base de datos, inicie el clúster de Redis con los siguientes criterios.
-
El clúster tiene uno o varios fragmentos.
-
Si utiliza un destino de ElastiCache para Redis, asegúrese de que su clúster no utilice el control de acceso basado en roles de IAM. En su lugar, utilice Redis Auth para autenticar a los usuarios.
-
Habilitación de Multi-AZ (zonas de disponibilidad).
-
Asegúrese de que el clúster tenga suficiente memoria disponible para ajustar los datos que se van a migrar desde la base de datos.
-
Asegúrese de que el clúster de Redis de destino no tenga todos los datos antes de iniciar 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 grupos de replicación de destino independientemente de su configuración de cifrado. Sin embargo, solo puede habilitar o deshabilitar el cifrado cuando crea la configuración de clúster.
Restricciones al usar Redis como destino paraAWS Database Migration Service
Al utilizar Redis como destino se aplican las siguientes restricciones:
-
Dado que Redis es un data store no sql de valor clave, la convención de nomenclatura de claves de Redis que se utilizará cuando el origen es una base de datos relacional, es
schema-name.table-name.primary-key
. -
En Redis, el valor clave no puede contener el carácter especial
%
. De lo contrario, DMS salta el registro. -
DMS no migrará filas que contengan caracteres especiales.
-
DMS no migrará los campos que contengan caracteres especiales en el nombre del campo.
-
No se admite el modo LOB completo.
-
No se admite una entidad de certificación privada (CA) cuando se utiliza ElastiCache para Redis como destino.
Migración de datos de una base de datos relacional o no relacional a un destino de Redis
Puede migrar datos desde cualquier data store SQL o NoSQL de origen directamente a un destino de Redis. La configuración y el inicio de una migración a un destino de Redis es similar a cualquier migración de captura de datos de carga completa y de cambio mediante la consola de DMS o la API. Para realizar una migración de base de datos a un destino de Redis, haga lo siguiente.
-
Cree una instancia de replicación para realizar 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 enlace de origen. Para obtener más información, consulte Creación de puntos de enlace de origen y destino.
-
Busque el nombre DNS y el número de puerto de su clúster de.
-
Descargue un paquete de certificados que pueda usar para verificar las conexiones SSL.
-
Especifique un punto de enlace de destino, tal y como se describe a continuación.
-
Cree 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.
La migración de la base de datos se inicia de una de las dos formas siguientes:
-
Puede elegir elAWS DMSconsola y realice cada paso allí.
-
Puede utilizar elAWS Command Line Interface(AWS CLI). Para obtener más información sobre el uso de la CLI conAWS DMS, consulteAWS CLIparaAWS DMS.
Para localizar el nombre DNS y el número de puerto de su clúster de
-
Utilice lo siguienteAWS CLIpara proporcionar el
replication-group-id
con el nombre de su grupo de replicación.aws elasticache describe-replication-groups --replication-group-id myreplgroup
Aquí, el resultado muestra el nombre DNS en el
Address
atributo y el número de puerto en elPort
atributo del nodo principal del clúster de.... "ReadEndpoint": { "Port": 6379, "Address": "myreplgroup- 111.1abc1d.1111.uuu1.cache.example.com" } ...
Si está utilizando MemoryDB para Redis como destino, utilice lo siguienteAWS CLIpara proporcionar una dirección de endpoint al clúster de Redis.
aws memorydb describe-clusters --clusterid
clusterid
Descargue un paquete de certificados para usarlo para verificar las conexiones SSL
-
Introduzca lo siguiente
wget
en la línea de comando. Wget es una herramienta gratuita de línea de comandos GNU utilizada para descargar archivos de Internet.wget https://s3.aws-api-domain/rds-downloads/rds-combined-ca-bundle.pem
Aquí,
aws-api-domain
completa el dominio de Amazon S3 en suAWSRegión necesaria para acceder al bucket de S3 especificado y al archivo rds-combined-ca-bundle.pem que contiene.
Para crear un punto de enlace de destino mediante elAWS DMSconsola
Este punto de enlace es para el destino de Redis que ya se está ejecutando.
-
En la consola de, elijaPuntos de enlace deen el panel de navegación y, a continuación, elijaCreación de un punto de enlace. La tabla siguiente describe la configuración.
Para esta opción Haga lo siguiente Tipo de punto de conexión
Elija el iconoObjetivotipo de punto de enlace.
Endpoint identifier
Introduzca el nombre del endpoint. Por ejemplo, incluya el tipo de endpoint en el nombre, como
my-redis-target
.Target engine ElegirRediscomo tipo de motor de base de datos al que se desea conectar este punto de enlace.
Cluster name (Nombre del clúster)
Escriba el nombre DNS de su clúster de Redis.
Puerto
Introduzca el número de puerto de su clúster de Redis.
Protocolo de seguridad SSL
Elija oTexto no cifradooCifrado SSL.
Texto no cifrado: Esta opción no proporciona el cifrado TLS (Transport Layer Security) para el tráfico entre el endpoint y la base de datos.
Cifrado SSL: si elige esta opción, introduzca un ARN de certificado de autoridad de certificación SSL (CA) para verificar el certificado del servidor y establecer una conexión cifrada.
Para Redis local, DMS admite autoridad de certificación (CA) pública y privada. Para ElastiCache para Redis, DMS solo admite una CA pública.
Tipo de autenticación Elija el tipo de autenticación que desea realizar mientras se conecta a Redis. Las opciones son:Ninguna,Función de autenticación, yAuthentication token.
Si elige el rol de autenticación, proporcione unUsuario de autenticacióny uncontraseña de autenticación.
Si elige el token de autenticación, proporcione uncontraseña de autenticaciónSolo la .
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 ha introducido anteriormente en elCreación de una instancia de replicación(Se ha creado el certificado).
Cuando haya terminado de proporcionar toda la información para su endpoint,AWS DMScrea el punto final de destino de Redis para utilizarlo 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, consulteCreación de una tarea.
Especificación de la configuración del punto de enlace para Redis 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 objetivo de Redis en elAWS DMSconsola, especifiqueConfiguración específica del punto finalen elCrear un punto de enlaceoModificar un punto de enlacepágina de consola.
Cuando se utilizaCreateEndpoint
yModifyEndpoint
Operaciones de API, especifique los parámetros de solicitud para elRedisSettings
opción. El siguiente ejemplo muestra cómo hacerlo utilizando elAWS 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" } } }
La--redis-settings
los parámetros siguen:
-
ServerName
— (Obligatorio) De tipostring
, especifica el clúster de Redis al que se migrarán los datos y se encuentran en la misma VPC. -
Port
— (Obligatorio) De tiponumber
, el valor de puerto utilizado para acceder al endpoint. -
SslSecurityProtocol
— (Opcional) Los valores válidos incluyenplaintext
yssl-encryption
. El valor predeterminado esssl-encryption
.La
plaintext
no proporciona el cifrado mediante Transport Layer Security (TLS) para el tráfico entre el punto final y la base de datos.Usar
ssl-encryption
para establecer una conexión cifrada.ssl-encryption
no requiere un ARN de autoridad de certificación SSL (CA) para verificar el certificado de un servidor, pero se puede identificar uno opcionalmente mediante elSslCaCertificateArn
configuración. Si no se proporciona un ARN de entidad de certificación, DMS utiliza la CA raíz de Amazon.Al utilizar un destino de Redis local, puede utilizar
SslCaCertificateArn
para importar una entidad de certificación (CA) pública o privada a DMS y proporcionar ese ARN para la autenticación del servidor. No se admite una CA privada cuando se utiliza ElastiCache para Redis como destino. -
AuthType
— (Obligatorio) Indica el tipo de autenticación que se debe realizar al conectarse a Redis. Los valores válidos sonnone
,auth-token
yauth-role
.La
auth-token
requiere un»Authcontraseña
«se proporcionen, mientras que elauth-role
opción requiere»Nombre de usuario de
" y "Authcontraseña
«proporcionarse.