

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 OSS como objetivo para AWS Database Migration Service
<a name="CHAP_Target.Redis"></a>

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 él 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](https://redis.io/documentation).

Además del OSS de Redis local, es AWS Database Migration Service compatible con lo siguiente:
+ [Amazon ElastiCache (Redis OSS)](https://aws.amazon.com/elasticache/redis/) como almacén de datos de destino. ElastiCache (Redis OSS) funciona con sus clientes de Redis OSS y utiliza el formato de datos abierto de Redis OSS para almacenar sus datos.
+ [Amazon MemoryDB](https://aws.amazon.com/memorydb/) como almacén de datos de destino. MemoryDB es compatible con Redis OSS y le permite crear aplicaciones utilizando todas las estructuras de datos y comandos de Redis OSS que se utilizan en la actualidad. APIs

Para obtener información adicional sobre cómo trabajar con Redis OSS como objetivo AWS DMS, consulte las siguientes secciones: 

**Topics**
+ [Requisitos previos para utilizar un clúster de Redis OSS como destino para AWS DMS](#CHAP_Target.Redis.Prerequisites)
+ [Limitaciones a la hora de utilizar Redis como objetivo para AWS Database Migration Service](#CHAP_Target.Redis.Limitations)
+ [Migración de datos de una base de datos relacional o no relacional a un destino de Redis OSS](#CHAP_Target.Redis.Migrating)
+ [Especificación de la configuración del punto de conexión para Redis OSS como destino](#CHAP_Target.Redis.EndpointSettings)

## Requisitos previos para utilizar un clúster de Redis OSS como destino para AWS DMS
<a name="CHAP_Target.Redis.Prerequisites"></a>

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, el DMS solo admite configuraciones habilitadas en *modo clúster*. Para obtener más información sobre el uso de la versión 6.x o superior ElastiCache (Redis OSS) para crear un almacén de datos de destino habilitado para el modo de clúster, consulte [Introducción](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/GettingStarted.html) 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 ElastiCache (Redis OSS), asegúrese de que su clúster no utilice un 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.

## Limitaciones a la hora de utilizar Redis como objetivo para AWS Database Migration Service
<a name="CHAP_Target.Redis.Limitations"></a>

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 autoridad de certificación (CA) privada cuando se utiliza ElastiCache (Redis OSS) como destino.
+ AWS DMS no admite datos de origen que contengan `'\0'` caracteres incrustados cuando se utiliza Redis como punto final de destino. Los datos que contengan `'\0'` caracteres incrustados se truncarán en el primer carácter. `'\0'`

## Migración de datos de una base de datos relacional o no relacional a un destino de Redis OSS
<a name="CHAP_Target.Redis.Migrating"></a>

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](CHAP_ReplicationInstance.Creating.md).
+ 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](CHAP_Endpoints.Creating.md).
+ 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](CHAP_Tasks.Creating.md).
+ 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:

1. Puede elegir la AWS DMS consola y realizar allí cada paso.

1. Puede usar el AWS Command Line Interface (AWS CLI). [Para obtener más información sobre el uso de la CLI con AWS DMS, consulte AWS CLIAWS DMS.](https://docs.aws.amazon.com/cli/latest/reference/dms/index.html)

**Búsqueda del nombre de DNS y el número de puerto del clúster**
+ Utilice el siguiente AWS CLI comando para `replication-group-id` proporcionarle el nombre de su grupo de replicación.

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

  Aquí, el resultado muestra el nombre de DNS en el atributo `Address` y el número de puerto en el atributo `Port` del 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 --clusterid clusterid
  ```

**Descarga de un paquete de certificados para usar para verificar las conexiones SSL**
+ Ingrese el siguiente comando `wget` en 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.pem
  ```

  Aquí, `aws-api-domain` complete el dominio de Amazon S3 de su AWS región necesario para acceder al bucket de S3 especificado y al rds-combined-ca-bundle archivo.pem que proporciona.

**Para crear un punto final de destino mediante la consola 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.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/dms/latest/userguide/CHAP_Target.Redis.html)

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](CHAP_Tasks.Creating.md).

## Especificación de la configuración del punto de conexión para Redis OSS como destino
<a name="CHAP_Target.Redis.EndpointSettings"></a>

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 AWS DMS consola, especifique la **configuración específica del punto final en la página Crear punto** **final o Modificar dispositivo final** de la consola.**

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-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"
        }
    }
}
```

Los parámetros `--redis-settings` son:
+ `ServerName`: (obligatorio) de tipo `string`, especifica el clúster de Redis OSS al que se migrarán los datos y se encuentra en la misma VPC.
+ `Port`: (obligatorio) de tipo `number`, el valor del puerto utilizado para acceder al punto de conexión.
+ `SslSecurityProtocol`: (opcional) los valores válidos son `plaintext` y `ssl-encryption`. El valor predeterminado es `ssl-encryption`. 

  La opción de `plaintext` 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. 

  Se utiliza `ssl-encryption` para establecer una conexión cifrada. `ssl-encryption` no 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ón `SslCaCertificateArn`. 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 `SslCaCertificateArn` para 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 CA 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 son `none`, `auth-token` y `auth-role`.

  La `auth-token` opción requiere que se proporcione un *AuthPassword* «», mientras que la `auth-role` opción requiere que se proporcionen *AuthUserName* «» y *AuthPassword* «».