

# 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
<a name="AuroraMySQL.Migrating.RDSMySQL"></a>

Puede migrar (copiar) los datos a un clúster de base de datos de Amazon Aurora MySQL desde una instancia de base de datos de RDS for MySQL.

**Topics**
+ [Migración de una instantánea de RDS for MySQL a Aurora](AuroraMySQL.Migrating.RDSMySQL.Snapshot.md)
+ [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](AuroraMySQL.Migrating.RDSMySQL.Replica.md)

**nota**  
Dado que Amazon Aurora MySQL es compatible con MySQL, puede migrar datos desde la base de datos MySQL configurando la replicación entre la base de datos MySQL y un clúster de base de datos de Amazon Aurora MySQL. Para obtener más información, consulte [Replicación con Amazon Aurora](Aurora.Replication.md).

# Migración de una instantánea de RDS for MySQL a Aurora
<a name="AuroraMySQL.Migrating.RDSMySQL.Snapshot"></a>

Puede migrar una instantánea de base de datos de una instancia de base de datos de RDS for MySQL para crear un clúster de base de datos de MySQL Aurora. El nuevo clúster de base de datos Aurora MySQL se rellena con los datos de la instancia de base de datos de RDS for MySQL original. La instantánea de base de datos debe haberse obtenido a partir de una instancia de base de datos de Amazon RDS que ejecute una versión de MySQL compatible con Aurora MySQL.

Puede migrar una instantánea de base de datos manual o automatizada. Una vez creado el clúster de base de datos, podrá crear réplicas de Aurora opcionales.

**nota**  
También puede migrar una instancia de base de datos de RDS para MySQL a un clúster de base de datos de Aurora MySQL. Para ello, debe crear una réplica de lectura de Aurora de su instancia de base de datos de RDS para MySQL de origen. Para obtener más información, consulte [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](AuroraMySQL.Migrating.RDSMySQL.Replica.md).  
No se puede migrar a la versión 3.05 o posteriores de Aurora MySQL desde algunas versiones anteriores de 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 MySQL antes de realizar la migración.

Los pasos generales que debe realizar son los siguientes:

1. Determine la cantidad de espacio que desea aprovisionar para el clúster de base de datos de Aurora MySQL. Para obtener más información, consulte [¿Cuánto espacio necesito?](#AuroraMySQL.Migrating.RDSMySQL.Space)

1. Utilice la consola para crear la instantánea en la región de AWS en la que se encuentra la instancia de Amazon RDS MySQL. Para obtener más información acerca de la creación de una instantánea de base de datos, consulte [Creación de una instantánea de base de datos](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateSnapshot.html).

1. Si la instantánea de base de datos no se encuentra en la misma región de AWS que su clúster de base de datos, utilice la consola de Amazon RDS; para copiar la instantánea de base de datos en esa región de AWS. Para obtener más información acerca de la copia de una instantánea de base de datos, consulte [Copia de una instantánea de base de datos](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html).

1. Utilice la consola para migrar la instantánea de base de datos y crear un clúster de base de datos de Aurora MySQL con las mismas bases de datos que la instancia de base de datos original de MySQL. 

**aviso**  
Amazon RDS limita cada cuenta de AWS a una copia de la instantánea en cada región de AWS en un momento dado.

## ¿Cuánto espacio necesito?
<a name="AuroraMySQL.Migrating.RDSMySQL.Space"></a>

Al migrar una instantánea de una instancia de base de datos MySQL a un clúster de base de datos de Aurora MySQL, Aurora utiliza un volumen de Amazon Elastic Block Store (Amazon EBS) para formatear los datos de la instantánea antes de migrarlos. En algunos casos, se necesita espacio adicional para formatear los datos para la migración.

Las tablas que no son MyISAM y no están comprimidas pueden alcanzar un tamaño de 16 TB. Si tiene tablas MyISAM, Aurora deberá utilizar espacio adicional en el volumen para convertir las tablas con el fin de que sean compatibles con MySQL de Aurora. Si hay tablas comprimidas, Aurora tendrá que utilizar espacio adicional en el volumen para ampliar esas tablas antes de almacenarlas en el volumen del clúster de Aurora. Debido a este requisito de espacio adicional, debe asegurarse de que ninguna de las tablas MyISAM y de las tablas comprimidas que se van a migrar desde su instancia de base de datos MySQL tiene un tamaño superior a 8 TB.

## Reducción de la cantidad de espacio necesario para migrar datos a Amazon Aurora MySQL
<a name="AuroraMySQL.Migrating.RDSMySQL.PreImport"></a>

Es posible que le interese modificar su esquema de base de datos antes de migrar a Amazon Aurora. Esta modificación puede ser útil en los siguientes casos: 
+ Si desea acelerar el proceso de migración.
+ Si no está seguro de cuánto espacio necesita aprovisionar.
+ Si ha intentado migrar los datos y la migración ha generado un error por falta de espacio aprovisionado.

Puede realizar los siguientes cambios para mejorar el proceso de migración de una base de datos a Amazon Aurora.

**importante**  
Asegúrese de realizar estas actualizaciones en una instancia de base de datos nueva restaurada a partir de un snapshot de una base de datos de producción y no a partir de una instancia de producción. A continuación, puede migrar los datos de la instantánea de la nueva instancia de base de datos al clúster de base de datos de Aurora para evitar las interrupciones de servicio en la base de datos de producción.


| Tipo de tabla | Limitación o directriz | 
| --- | --- | 
|  Tablas MyISAM  |  Aurora MySQL solo admite tablas InnoDB. Si hay tablas MyISAM en la base de datos, tendrá que convertirlas antes de migrarlas a Aurora MySQL. El proceso de conversión requiere más espacio para la conversión de MyISAM a InnoDB durante el procedimiento de migración. Para reducir el riesgo de quedarse sin espacio o para acelerar el proceso de migración, convierta todas sus tablas MyISAM en tablas InnoDB antes de migrarlas. El tamaño de la tabla InnoDB resultante equivale al tamaño requerido por Aurora MySQL para esa tabla. Para convertir una tabla MyISAM a InnoDB, ejecute el siguiente comando:  `alter table <schema>.<table_name> engine=innodb, algorithm=copy;`   | 
|  Tablas comprimidas  |  Aurora MySQL no admite tablas comprimidas (es decir, tablas creadas con `ROW_FORMAT=COMPRESSED`).  Para reducir el riesgo de quedarse sin espacio o para acelerar el proceso de migración, amplíe las tablas comprimidas mediante la configuración de `ROW_FORMAT` `DEFAULT`, `COMPACT`, `DYNAMIC` o `REDUNDANT`. Para obtener más información, consulte [InnoDB row formats](https://dev.mysql.com/doc/refman/8.0/en/innodb-row-format.html) (Formatos de fila de InnoDB) en la documentación de MySQL.  | 

Puede utilizar el siguiente script de SQL en su instancia de base de datos MySQL para obtener una lista de las tablas MyISAM o comprimidas de su base de datos.

```
-- This script examines a MySQL database for conditions that block
-- migrating the database into Amazon Aurora.
-- It needs to be run from an account that has read permission for the
-- INFORMATION_SCHEMA database.

-- Verify that this is a supported version of MySQL.

select msg as `==> Checking current version of MySQL.`
from
  (
  select
    'This script should be run on MySQL version 5.6 or higher. ' +
    'Earlier versions are not supported.' as msg,
    cast(substring_index(version(), '.', 1) as unsigned) * 100 +
      cast(substring_index(substring_index(version(), '.', 2), '.', -1)
      as unsigned)
    as major_minor
  ) as T
where major_minor <> 506;


-- List MyISAM and compressed tables. Include the table size.

select concat(TABLE_SCHEMA, '.', TABLE_NAME) as `==> MyISAM or Compressed Tables`,
round(((data_length + index_length) / 1024 / 1024), 2) "Approx size (MB)"
from INFORMATION_SCHEMA.TABLES
where
  ENGINE <> 'InnoDB'
  and
  (
    -- User tables
    TABLE_SCHEMA not in ('mysql', 'performance_schema',
                         'information_schema')
    or
    -- Non-standard system tables
    (
      TABLE_SCHEMA = 'mysql' and TABLE_NAME not in
        (
          'columns_priv', 'db', 'event', 'func', 'general_log',
          'help_category', 'help_keyword', 'help_relation',
          'help_topic', 'host', 'ndb_binlog_index', 'plugin',
          'proc', 'procs_priv', 'proxies_priv', 'servers', 'slow_log',
          'tables_priv', 'time_zone', 'time_zone_leap_second',
          'time_zone_name', 'time_zone_transition',
          'time_zone_transition_type', 'user'
        )
    )
  )
  or
  (
    -- Compressed tables
       ROW_FORMAT = 'Compressed'
  );
```

El script genera una salida similar a la del siguiente ejemplo. El ejemplo muestra dos tablas que se deben convertir de MyISAM a InnoDB. La salida también incluye el tamaño aproximado de cada tabla en megabytes (MB). 

```
+---------------------------------+------------------+
| ==> MyISAM or Compressed Tables | Approx size (MB) |
+---------------------------------+------------------+
| test.name_table                 |          2102.25 |
| test.my_table                   |            65.25 |
+---------------------------------+------------------+
2 rows in set (0.01 sec)
```

## Migración de una instantánea de base de datos RDS para MySQL a un clúster de base de datos Aurora MySQL
<a name="migrate-snapshot-ams-cluster"></a>

Puede migrar una instantánea de base de datos de una instancia de base de datos de RDS para MySQL a fin de crear un clúster de base de datos de Aurora MySQL mediante la Consola de administración de AWS o la AWS CLI. El nuevo clúster de base de datos Aurora MySQL se rellena con los datos de la instancia de base de datos de RDS for MySQL original. Para obtener más información acerca de la creación de una instantánea de base de datos, consulte [Creación de una instantánea de base de datos](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateSnapshot.html).

Si la instantánea de base de datos no se encuentra en la región de AWS en la que desea ubicar sus datos, copie la instantánea de base de datos en dicha región de AWS. Para obtener más información acerca de la copia de una instantánea de base de datos, consulte [Copia de una instantánea de base de datos](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html).

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

Al migrar la instantánea de base de datos con la Consola de administración de AWS, esta realiza las acciones necesarias para crear solo el clúster de base de datos.

También puede elegir que el nuevo clúster de base de datos de Aurora MySQL se cifre en reposo mediante una AWS KMS key.

**Para migrar una instantánea de base de datos MySQL con la Consola de administración de AWS**

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. Inicie la migración de datos desde la instancia de base de datos MySQL a desde la instantánea:

   Para iniciar la migración desde la instancia de base de datos:

   1. En el panel de navegación, elija **Databases (Bases de datos)** y, a continuación, seleccione la instancia de base de datos de MySQL.

   1. En **Actions (Acciones)**, elija **Migrate latest snapshot (Migrar última instantánea)**.

   Para iniciar la migración desde la instantánea:

   1. Elija **Snapshots (Instantáneas)**.

   1. En la página **Snapshots (Instantáneas)**, elija la instantánea que desea migrar a un clúster de base de datos de Aurora MySQL.

   1. Elija **Snapshot Actions** y, a continuación, seleccione **Migrate Snapshot**.

   Aparece la página **Migrate Database**.

1. Defina los siguientes valores en la página **Migrate Database (Migrar base de datos)**:
   + **Migrate to DB Engine (Migrar a motor de base de datos)**: seleccione `aurora`.
   + **DB Engine Version (Versión de motor de base de datos)**: seleccione la versión del motor de base de datos para el clúster de base de datos de Aurora MySQL.
   + **Clase de instancia de base de datos**: elija una clase de instancia de base de datos que tenga el almacenamiento y la capacidad requeridos para la base de datos, por ejemplo `db.r3.large`. Los volúmenes de clúster de Aurora crecen automáticamente a medida que se incrementa la cantidad de datos de la base de datos. Un volumen de clúster de Aurora puede aumentar hasta un tamaño máximo de 128 tebibytes (TiB). Por lo tanto, solo tiene que seleccionar una clase de instancia de base de datos que se adapte a sus necesidades actuales de almacenamiento. Para obtener más información, consulte [Información general del almacenamiento de Amazon Aurora](Aurora.Overview.StorageReliability.md#Aurora.Overview.Storage).
   + **DB Instance Identifier (Identificador de instancias de bases de datos)**: escriba un nombre para el clúster de base de datos que sea único para su cuenta en la región de AWS que ha seleccionado. Este identificador se utiliza en las direcciones de punto de enlace para las instancias del clúster de base de datos. Puede optar por agregar al nombre información como la región de AWS y el motor de base de datos que ha seleccionado, por ejemplo, **aurora-cluster1**.

     El identificador de instancias de bases de datos tiene las siguientes limitaciones:
     + Debe contener de 1 a 63 caracteres alfanuméricos o guiones.
     + El primer carácter debe ser una letra.
     + No puede terminar con un guion ni contener dos guiones consecutivos.
     + Debe ser único para todas las instancias de base de datos por cada cuenta de AWS y por cada región de AWS.
   + **Virtual Private Cloud (VPC)**: si ya dispone de una VPC, puede utilizarla con su clúster de base de datos de Aurora MySQL si selecciona el identificador de la VPC, por ejemplo, `vpc-a464d1c1`. Para obtener más información sobre la creación de una VPC., consulte [Tutorial: Creación de una VPC para utilizarla con un clúster de base de datos (solo IPv4)](CHAP_Tutorials.WebServerDB.CreateVPC.md).

     De lo contrario, puede elegir que Aurora cree una VPC automáticamente seleccionando **Create a new VPC (Crear una nueva VPC)**. 
   + **DB subnet group (Grupo de subredes de base de datos)**: si ya dispone de un grupo de subredes, puede utilizarlo con el clúster de base de datos de MySQL de Aurora si selecciona el identificador del grupo de subredes, por ejemplo, `gs-subnet-group1`.

     De lo contrario, puede elegir que Aurora cree un grupo de subredes automáticamente seleccionando **Create a new subnet group (Crear un nuevo grupo de subredes)**. 
   + **Public accessibility (Accesibilidad pública)**: seleccione **No** para especificar que a las instancias de su clúster de base de datos solo pueden obtener acceso los recursos que se encuentren dentro de su VPC. Seleccione **Yes (Sí)** para especificar que los recursos de la red pública pueden obtener acceso a las instancias de su clúster de base de datos. El valor predeterminado es **Yes (Sí)**.
**nota**  
No es necesario que su clúster de base de datos de producción esté en una subred pública, ya que solo los servidores de su aplicación necesitan acceso a su clúster de base de datos. Si su clúster de base de datos no necesita estar en una subred pública, defina **Publicly Accessible (Accesible públicamente)** como **No**.
   + **Availability Zone (Zona de disponibilidad)**: seleccione la zona de disponibilidad para alojar la instancia principal del clúster de base de datos de Aurora MySQL. Para hacer que Aurora seleccione una zona de disponibilidad automáticamente, seleccione **No Preference (Sin preferencias)**.
   + **Database Port (Puerto de base de datos)**: indique el puerto predeterminado que se utilizará al conectar a instancias del clúster de base de datos Aurora MySQL. El valor predeterminado es `3306`.
**nota**  
Es posible que se encuentre detrás de un firewall de una compañía que no permite el acceso a los puertos predeterminados, como el puerto predeterminado de MySQL, el 3306. En este caso, proporcione un valor de puerto permitido por el firewall corporativo. Recuerde el valor del puerto cuando se conecte más adelante al clúster de base de datos de Aurora MySQL.
   + **Encryption (Cifrado)**: elija **Enable Encryption (Habilitar cifrado)** para que el nuevo clúster de base de datos de Aurora MySQL se cifre en reposo. Si elige **Enable encryption (Habilitar cifrado)**, debe elegir una clave de KMS como valor de **AWS KMS key**.

     Si la instantánea de base de datos no está cifrada, especifique una clave de cifrado para cifrar el clúster de base de datos en reposo.

     Si la instantánea de base de datos está cifrada, especifique una clave de cifrado para cifrar el clúster de base de datos en reposo con la clave de cifrado especificada. Puede especificar la clave de cifrado utilizada por la instantánea de base de datos o una clave distinta. No puede crear un clúster de base de datos sin cifrar a partir de una instantánea de base de datos cifrada.
   + **Auto Minor Version Upgrade (Actualización automática a versiones secundarias)**: este ajuste no se aplica a los clústeres de base de datos Aurora MySQL.

     Para obtener más información acerca de las actualizaciones de motor de Aurora MySQL, consulte [Actualizaciones del motor de base de datos de Amazon Aurora MySQLVersiones beta y de soporte a largo plazo (LTS) para Amazon Aurora MySQL](AuroraMySQL.Updates.md).

1. Elija **Migrate (Migrar)** para migrar la instantánea de base de datos. 

1. Elija **Instances** y, a continuación, seleccione el icono de flecha para mostrar la información detallada del clúster de base de datos y monitorizar el progreso de la migración. En la página de detalles, encontrará el punto de enlace del clúster que se utiliza para conectar a la instancia principal del clúster de base de datos. Para obtener más información acerca de la conexión a un clúster de base de datos de Aurora MySQL, consulte [Conexión a un clúster de base de datos Amazon Aurora](Aurora.Connecting.md). 

### AWS CLI
<a name="USER_ImportAuroraCluster.CLI"></a>

Puede crear un clúster de base de datos de Aurora desde una instantánea de base de datos de una instancia de base de datos de RDS for MySQL con el comando [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-cluster-from-snapshot.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-cluster-from-snapshot.html) y los siguientes parámetros:
+ `--db-cluster-identifier`: nombre del clúster de base de datos que se creará.
+ `--engine aurora-mysql`: para un clúster de base de datos compatible con MySQL 5.7 o con MySQL 8.0.
+ `--kms-key-id`: el AWS KMS key para cifrar, si lo desea, el clúster de base de datos en función de si la instantánea de base de datos está cifrada o no.
  + Si la instantánea de base de datos 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 no estará cifrado.
  + Si la instantánea de base de datos 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 instantánea de base de datos.
**nota**  
No puede crear un clúster de base de datos sin cifrar a partir de una instantánea de base de datos cifrada.
+ `--snapshot-identifier`: el nombre de recurso de Amazon (ARN) de la instantánea de base de datos que se va a migrar. 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).

Al migrar la instantánea de base de datos con el comando `RestoreDBClusterFromSnapshot`, este crea tanto el clúster de base de datos como la instancia principal.

En este ejemplo, va a crear un clúster de base de datos compatible con MySQL 5.7 denominado *mydbcluster* a partir de una instantánea de base de datos con un ARN definido en *mydbsnapshotARN*.

Para Linux, macOS o Unix:

```
aws rds restore-db-cluster-from-snapshot \
    --db-cluster-identifier mydbcluster \
    --snapshot-identifier mydbsnapshotARN \
    --engine aurora-mysql
```

Para Windows:

```
aws rds restore-db-cluster-from-snapshot ^
    --db-cluster-identifier mydbcluster ^
    --snapshot-identifier mydbsnapshotARN ^
    --engine aurora-mysql
```

En este ejemplo, va a crear un clúster de base de datos compatible con MySQL 5.7 denominado *mydbcluster* a partir de una instantánea de base de datos con un ARN definido en *mydbsnapshotARN*.

Para Linux, macOS o Unix:

```
aws rds restore-db-cluster-from-snapshot \
    --db-cluster-identifier mydbcluster \
    --snapshot-identifier mydbsnapshotARN \
    --engine aurora-mysql
```

Para Windows:

```
aws rds restore-db-cluster-from-snapshot ^
    --db-cluster-identifier mydbcluster ^
    --snapshot-identifier mydbsnapshotARN ^
    --engine aurora-mysql
```

# 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
```