

# Migración de datos desde una instancia de base de datos de RDS para MySQL a un clúster de base de datos de Amazon Aurora MySQL con una réplica de lectura de Aurora
<a name="AuroraMySQL.Migrating.RDSMySQL.Replica"></a>

Aurora usa la funcionalidad de replicación de registros binarios de los motores de base de datos MySQL para crear un tipo especial de clúster de base de datos denominado réplica de lectura de Aurora para una instancia de base de datos de RDS para MySQL de origen. Las actualizaciones realizadas en la instancia de base de datos de RDS para MySQL de origen se replican de forma asíncrona en la réplica de lectura de Aurora.

Es recomendable usar esta funcionalidad para migrar desde una instancia de base de datos de RDS para MySQL a un clúster de base de datos de Aurora MySQL creando una réplica de lectura de Aurora de la instancia de base de datos de RDS para MySQL de origen. Cuando el retraso de la réplica entre la instancia de base de datos de RDS para MySQL y la réplica de lectura de Aurora sea 0, podrá dirigir las aplicaciones cliente a la réplica de lectura de Aurora y detener después la replicación para convertir la réplica de lectura de Aurora en un clúster de base de datos de Aurora MySQL independiente. Esta migración puede tardar un tiempo considerable, aproximadamente varias horas por tebibyte (TiB) de datos.

Para obtener una lista de las regiones en las que está disponible Aurora, consulte [Amazon Aurora](https://docs.aws.amazon.com/general/latest/gr/rande.html#aurora) en la *Referencia general de AWS*.

Cuando se crea una réplica de lectura de Aurora de una instancia de base de datos de RDS para MySQL, Amazon RDS crea una instantánea de base de datos de la instancia de base de datos de RDS para MySQL de origen (privada para Amazon RDS y sin cargo). Después, Amazon RDS migra los datos de la instantánea de base de datos a la réplica de lectura de Aurora. Una vez que los datos de la instantánea de base de datos se hayan migrado al nuevo clúster de base de datos de Aurora MySQL, Amazon RDS comenzará la replicación entre la instancia de base de datos de RDS para MySQL y el clúster de base de datos de Aurora MySQL. Si la instancia de base de datos de RDS para MySQL contiene tablas que usen motores de almacenamiento distintos de InnoDB o que usen el formato de filas comprimidas, puede acelerar el proceso de creación de una réplica de lectura de Aurora modificando esas tablas para que usen el motor de almacenamiento de InnoDB y el formato de filas dinámicas antes de crear la réplica de lectura de Aurora. Para obtener más información acerca del proceso de copia de una instantánea de base de datos MySQL en un clúster de base de datos de Aurora MySQL, consulte [Migración de datos de una instancia de base de datos de RDS for MySQL a un clúster de base de datos de Amazon Aurora MySQL](AuroraMySQL.Migrating.RDSMySQL.md).

Solo puede tener una réplica de lectura de Aurora para una instancia de base de datos de RDS para MySQL.

**nota**  
Pueden surgir problemas de replicación a causa de las diferencias de características entre Aurora MySQL y la versión del motor de base de datos de MySQL de su instancia de base de datos de RDS para MySQL, que es la replicación principal. Si se produce un error, puede encontrar ayuda en el [foro de la comunidad de Amazon RDS](https://forums.aws.amazon.com/forum.jspa?forumID=60) o contáctese con AWS Support.  
No puede crear una réplica de lectura de Aurora si su instancia de base de datos de RDS para MySQL ya es el origen de una réplica de lectura entre regiones.  
No se puede migrar a la versión 3.05 o posteriores de Aurora MySQL desde algunas versiones anteriores de RDS for MySQL 8.0, como 8.0.11, 8.0.13 y 8.0.15. Le recomendamos que actualice a la versión 8.0.28 de RDS for MySQL antes de realizar la migración.

Para obtener más información sobre las réplicas de lectura de MySQL, consulte [Trabajo con réplicas de lectura de instancias de base de datos MariaDB, MySQL y PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html).

## Creación de una réplica de lectura de Aurora
<a name="AuroraMySQL.Migrating.RDSMySQL.Replica.Create"></a>

Puede crear una réplica de lectura de Aurora para una instancia de base de datos de RDS para MySQL mediante la consola, la AWS CLI o la API de RDS.

### Consola
<a name="AuroraMySQL.Migrating.RDSMySQL.Replica.Create.Console"></a>

**Para crear una réplica de lectura de Aurora a partir de una instancia de base de datos de RDS para MySQL**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, seleccione **Databases (Bases de datos)**. 

1. Seleccione la instancia de base de datos MySQL que desea usar como origen de una réplica de lectura de Aurora.

1. En **Actions (Acciones)**, elija **Create Aurora read replica (Crear réplica de lectura de Aurora)**.

1. Elija las especificaciones del clúster de base de datos que desee usar para la réplica de lectura de Aurora y que se describen en la tabla siguiente.     
<a name="aurora_read_replica_param_advice"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.RDSMySQL.Replica.html)

1. Elija **Create read replica (Crear réplica de lectura)**.

### AWS CLI
<a name="AuroraMySQL.Migrating.RDSMySQL.Replica.Create.CLI"></a>

Para crear una réplica de lectura de Aurora a partir de una instancia de base de datos de RDS para MySQL de origen, utilice los comandos [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-cluster.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-cluster.html) y [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) de AWS CLI para crear un nuevo clúster de base de datos de Aurora MySQL. Cuando llame al comando `create-db-cluster`, incluya el parámetro `--replication-source-identifier` para identificar el Nombre de recurso de Amazon (ARN) de la instancia de base de datos MySQL de origen. Para obtener más información sobre los ARN de Amazon RDS, consulte [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-rds).

No especifique el nombre de usuario maestro, la contraseña maestra o el nombre de la base de datos, ya que la réplica de lectura de Aurora usa el mismo nombre de usuario maestro, la misma contraseña maestra y el mismo nombre de base de datos que la instancia de base de datos MySQL de origen. 

Para Linux, macOS o Unix:

```
aws rds create-db-cluster --db-cluster-identifier sample-replica-cluster --engine aurora \
    --db-subnet-group-name mysubnetgroup --vpc-security-group-ids sg-c7e5b0d2 \
    --replication-source-identifier arn:aws:rds:us-west-2:123456789012:db:primary-mysql-instance
```

Para Windows:

```
aws rds create-db-cluster --db-cluster-identifier sample-replica-cluster --engine aurora ^
    --db-subnet-group-name mysubnetgroup --vpc-security-group-ids sg-c7e5b0d2 ^
    --replication-source-identifier arn:aws:rds:us-west-2:123456789012:db:primary-mysql-instance
```

Si utiliza la consola para crear una réplica de lectura de Aurora, Aurora crea automáticamente la instancia principal para la réplica de lectura de Aurora del clúster de base de datos. Si usa la AWS CLI para crear una réplica de lectura de Aurora, debe crear expresamente la instancia primaria del clúster de base de datos. La instancia principal es la primera instancia que se crea en un clúster de base de datos.

Puede crear una instancia principal para el clúster de base de datos con el comando [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) de la AWS CLI y los siguientes parámetros.
+ `--db-cluster-identifier`

  El nombre del clúster de base de datos.
+ `--db-instance-class`

  El nombre de la clase de instancia de base de datos que se va a utilizar para la instancia principal.
+ `--db-instance-identifier`

  El nombre de la instancia principal.
+ `--engine aurora`

En este ejemplo, va a crear una instancia principal llamada *myreadreplicainstance* para el clúster de base de datos llamado *myreadreplicacluster* con la clase de instancia de base de datos especificada en *myinstanceclass*.

**Example**  
Para Linux, macOS o Unix:  

```
aws rds create-db-instance \
    --db-cluster-identifier myreadreplicacluster \
    --db-instance-class myinstanceclass \
    --db-instance-identifier myreadreplicainstance \
    --engine aurora
```
Para Windows:  

```
aws rds create-db-instance ^
    --db-cluster-identifier myreadreplicacluster ^
    --db-instance-class myinstanceclass ^
    --db-instance-identifier myreadreplicainstance ^
    --engine aurora
```

### API de RDS
<a name="Aurora.Migration.RDSMySQL.Create.API"></a>

Para crear una réplica de lectura de Aurora a partir de una instancia de base de datos de RDS para MySQL de origen, use los comandos [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBCluster.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBCluster.html) y [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) de la API de Amazon RDS para crear una instancia principal y un clúster de base de datos de Aurora nuevos. No especifique el nombre de usuario maestro, la contraseña maestra o el nombre de la base de datos, ya que la réplica de lectura de Aurora usa el mismo nombre de usuario maestro, la misma contraseña maestra y el mismo nombre de base de datos que la instancia de base de datos de RDS para MySQL de origen. 

Puede crear un nuevo clúster de base de datos de Aurora para una réplica de lectura de Aurora a partir de una instancia de base de datos de RDS para MySQL de origen con el comando [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBCluster.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBCluster.html) de la API de Amazon RDS y los siguientes parámetros:
+ `DBClusterIdentifier`

  El nombre del clúster de base de datos que se creará.
+ `DBSubnetGroupName`

  El nombre del grupo de subredes de la base de datos que desea asociar con este clúster de base de datos.
+ `Engine=aurora`
+ `KmsKeyId`

  La AWS KMS key para cifrar, si lo desea, el clúster de base de datos en función de si la instancia de base de datos MySQL está cifrada o no.
  + Si la instancia de base de datos MySQL no está cifrada, especifique una clave de cifrado para cifrar el clúster de base de datos en reposo. De lo contrario, el clúster de base de datos se cifrará en reposo con la clave de cifrado predeterminada para la cuenta.
  + Si la instancia de base de datos MySQL está cifrada, especifique una clave de cifrado para cifrar el clúster de base de datos en reposo con la clave de cifrado especificada. De lo contrario, el clúster de base de datos se cifrará en reposo con la clave de cifrado de la instancia de base de datos MySQL.
**nota**  
No puede crear un clúster de base de datos sin cifrar a partir de una instancia de base de datos MySQL cifrada.
+ `ReplicationSourceIdentifier`

  El nombre de recurso de Amazon (ARN) de la instancia de base de datos MySQL de origen. Para obtener más información sobre los ARN de Amazon RDS, consulte [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-rds). 
+ `VpcSecurityGroupIds`

  La lista de grupos de seguridad de VPC de EC2 que se va a asociar con este clúster de base de datos.

En este ejemplo, se crea un clúster de base de datos llamado *myreadreplicacluster* a partir de una instancia de base de datos MySQL principal con un ARN definido en *mysqlmasterARN*, asociado con un grupo de subredes de base de datos llamado *mysubnetgroup* y un grupo de seguridad de la VPC llamado *mysecuritygroup*.

**Example**  

```
https://rds.us-east-1.amazonaws.com/
    ?Action=CreateDBCluster
    &DBClusterIdentifier=myreadreplicacluster
    &DBSubnetGroupName=mysubnetgroup
    &Engine=aurora
    &ReplicationSourceIdentifier=mysqlprimaryARN
    &SignatureMethod=HmacSHA256
    &SignatureVersion=4
    &Version=2014-10-31
    &VpcSecurityGroupIds=mysecuritygroup
    &X-Amz-Algorithm=AWS4-HMAC-SHA256
    &X-Amz-Credential=AKIADQKE4SARGYLE/20150927/us-east-1/rds/aws4_request
    &X-Amz-Date=20150927T164851Z
    &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
    &X-Amz-Signature=6a8f4bd6a98f649c75ea04a6b3929ecc75ac09739588391cd7250f5280e716db
```

Si utiliza la consola para crear una réplica de lectura de Aurora, Aurora crea automáticamente la instancia principal para la réplica de lectura de Aurora del clúster de base de datos. Si usa la AWS CLI para crear una réplica de lectura de Aurora, debe crear expresamente la instancia primaria del clúster de base de datos. La instancia principal es la primera instancia que se crea en un clúster de base de datos.

Puede crear una instancia principal para el clúster de base de datos con el comando [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) de la API de Amazon RDS y los siguientes parámetros:
+ `DBClusterIdentifier`

  El nombre del clúster de base de datos.
+ `DBInstanceClass`

  El nombre de la clase de instancia de base de datos que se va a utilizar para la instancia principal.
+ `DBInstanceIdentifier`

  El nombre de la instancia principal.
+ `Engine=aurora`

En este ejemplo, va a crear una instancia principal llamada *myreadreplicainstance* para el clúster de base de datos llamado *myreadreplicacluster* con la clase de instancia de base de datos especificada en *myinstanceclass*.

**Example**  

```
https://rds.us-east-1.amazonaws.com/
    ?Action=CreateDBInstance
    &DBClusterIdentifier=myreadreplicacluster
    &DBInstanceClass=myinstanceclass
    &DBInstanceIdentifier=myreadreplicainstance
    &Engine=aurora
    &SignatureMethod=HmacSHA256
    &SignatureVersion=4
    &Version=2014-09-01
    &X-Amz-Algorithm=AWS4-HMAC-SHA256
    &X-Amz-Credential=AKIADQKE4SARGYLE/20140424/us-east-1/rds/aws4_request
    &X-Amz-Date=20140424T194844Z
    &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
    &X-Amz-Signature=bee4aabc750bf7dad0cd9e22b952bd6089d91e2a16592c2293e532eeaab8bc77
```

## Visualización de una réplica de lectura de Aurora
<a name="AuroraMySQL.Migrating.RDSMySQL.Replica.View"></a>

Para ver las relaciones de reproducción de MySQL con Aurora MySQL de los clústeres de base de datos de Aurora MySQL, use la Consola de administración de AWS o la AWS CLI.

### Consola
<a name="AuroraMySQL.Migrating.RDSMySQL.Replica.View.Console"></a>

**Para ver la instancia de base de datos MySQL principal para una réplica de lectura de Aurora**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, seleccione **Databases (Bases de datos)**. 

1. Elija el clúster de base de datos la réplica de lectura de Aurora para mostrar sus detalles. La información de la instancia de base de datos MySQL principal está en el campo **Replication source (Origen de replicación)**.  
![\[Ver MySQL primario\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/AuroraUserGuide/images/aurora-repl6.png)

### AWS CLI
<a name="AuroraMySQL.Migrating.RDSMySQL.Replica.View.CLI"></a>

Para ver las relaciones de replicación de MySQL con Aurora MySQL de los clústeres de base de datos de Aurora MySQL mediante AWS CLI, utilice los comandos [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-clusters.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-clusters.html) y [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html). 

Para determinar qué instancia de base de datos MySQL es la instancia principal, utilice [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-clusters.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-clusters.html) y especifique el identificador de clúster de la réplica de lectura de Aurora para la opción `--db-cluster-identifier`. Consulte el elemento `ReplicationSourceIdentifier` de la salida para ver el ARN de la instancia de base de datos que es la replicación principal. 

Para determinar qué clúster de base de datos es la réplica de lectura de Aurora, utilice [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html) y especifique el identificador de la instancia de base de datos MySQL para la opción `--db-instance-identifier`. Consulte el elemento `ReadReplicaDBClusterIdentifiers` de la salida para ver el identificador del clúster de base de datos la réplica de lectura de Aurora. 

**Example**  
Para Linux, macOS o Unix:  

```
aws rds describe-db-clusters \
    --db-cluster-identifier myreadreplicacluster
```

```
aws rds describe-db-instances \
    --db-instance-identifier mysqlprimary
```
Para Windows:  

```
aws rds describe-db-clusters ^
    --db-cluster-identifier myreadreplicacluster
```

```
aws rds describe-db-instances ^
    --db-instance-identifier mysqlprimary
```

## Promoción de una réplica de lectura de Aurora
<a name="AuroraMySQL.Migrating.RDSMySQL.Replica.Promote"></a>

Una vez que se complete la migración, puede promocionar la réplica de lectura de Aurora a un clúster de base de datos independiente mediante la Consola de administración de AWS o la AWS CLI.

Después, puede dirigir sus aplicaciones cliente al punto de conexión para la réplica de lectura de Aurora. Para obtener más información acerca de los puntos de enlace de Aurora, consulte [Conexiones de puntos de conexión de Amazon Aurora](Aurora.Overview.Endpoints.md). La promoción debe completarse relativamente rápido, y podrá leer y escribir en la réplica de lectura de Aurora durante la promoción. Sin embargo, no podrá eliminar la instancia de base de datos MySQL principal ni desvincular la instancia de base de datos y la réplica de lectura de Aurora durante ese tiempo.

Antes de promocionar la réplica de lectura de Aurora, detenga la escritura de transacciones en la instancia de base de datos MySQL de origen y espere hasta que el retardo de la réplica de lectura de Aurora llegue a 0. Puede ver el retardo de una réplica de lectura de Aurora llamando al comando `SHOW SLAVE STATUS` (Aurora MySQL, versión 2) o `SHOW REPLICA STATUS` (Aurora MySQL versión 3) en la réplica de lectura de Aurora. Verifique el valor **Seconds behind master** (Segundos detrás del maestro). 

Puede comenzar escribiendo en la réplica de lectura de Aurora cuando las transacciones de escritura en el principal se hayan detenido y el retardo de la réplica sea 0. Si escribe en la réplica de lectura de Aurora antes de esto y modifica tablas que también se están modificando en el MySQL principal, se arriesga a interrumpir la replicación en Aurora. Si ocurre esto, tendrá que eliminar y volver a crear la réplica de lectura de Aurora.

### Consola
<a name="AuroraMySQL.Migrating.RDSMySQL.Replica.Promote.Console"></a>

**Para promover una réplica de lectura de Aurora a un clúster de base de datos Aurora**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, seleccione **Databases (Bases de datos)**.

1. Elija el clúster de base de datos para la réplica de lectura de Aurora.

1. En ** Actions (Acciones)**, seleccione **Promote (Promover)**.

1. Elija **Promote Read Replica (Promover réplica de lectura)**.

Después de promocionar, confirme que la promoción se ha completado mediante el siguiente procedimiento.

**Para confirmar que se ha promovido la réplica de lectura Aurora**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, seleccione **Events**.

1. En la página **Events (Eventos)** , compruebe que hay un evento `Promoted Read Replica cluster to a stand-alone database cluster` para el clúster promocionado.

Una vez que se haya completado la promoción, la instancia de base de datos MySQL principal y la réplica de lectura de Aurora se desvincularán y podrá eliminar sin riesgo la instancia de base de datos si lo desea.

### AWS CLI
<a name="AuroraMySQL.Migrating.RDSMySQL.Replica.Promote.CLI"></a>

Para promocionar una réplica de lectura de Aurora a un clúster de base de datos independiente, utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/rds/promote-read-replica-db-cluster.html](https://docs.aws.amazon.com/cli/latest/reference/rds/promote-read-replica-db-cluster.html) de la AWS CLI. 

**Example**  
Para Linux, macOS o Unix:  

```
aws rds promote-read-replica-db-cluster \
    --db-cluster-identifier myreadreplicacluster
```
Para Windows:  

```
aws rds promote-read-replica-db-cluster ^
    --db-cluster-identifier myreadreplicacluster
```