Rápida recuperación de desastres entre regiones y lecturas globales de baja latencia

con Amazon Aurora Global Database

En este tutorial aprenderá a crear una implementación de Amazon Aurora Global Database que abarque varias regiones de AWS y replique los datos sin afectar el rendimiento. Amazon Aurora Database proporciona recuperación de desastres frente a interrupciones de servicio en toda una región y habilita las lecturas globales de baja latencia.

Amazon Aurora es una base de datos relacional compatible con MySQL y PostgreSQL que combina el rendimiento y la disponibilidad de las bases de datos empresariales tradicionales con la simplicidad y rentabilidad de las bases de datos de código abierto.

Una base de datos global de Aurora consta de una región primaria de AWS, donde se personalizan los datos, y varias regiones secundarias de AWS de solo lectura donde se replican los datos. Las escrituras van a la base de datos primaria, pero puede leerlos desde cualquier región y beneficiarse de la baja latencia.

Este tutorial utilizará Amazon Aurora con compatibilidad con MySQL. El tutorial no está dentro de la capa gratuita y le costará menos de 1 USD siempre que siga los pasos del tutorial y termine sus recursos al final del tutorial.

Requisitos previos

Un clúster de base de datos Amazon Aurora consta de una o más instancias de base de datos y un volumen de clúster que administra los datos para esas instancias de base de datos. Un volumen de clúster Aurora es un volumen de almacenamiento de base de datos virtual que abarca varias zonas de disponibilidad y cada zona de disponibilidad tiene una copia de los datos del clúster de base de datos. Dos tipos de instancias de base de datos conforman un clúster de base de datos Aurora: una instancia de base de datos primaria, que admite operaciones de lectura y escritura y una réplica Aurora, que se conecta al mismo volumen de almacenamiento que la instancia de base de datos primaria y solo admite operaciones de lectura. Cada clúster de la base de datos Aurora puede tener hasta 15 réplicas Aurora ubicadas en zonas de disponibilidad separadas. Aurora recurre automáticamente a una réplica de Aurora en caso de que la instancia de la base de datos primaria no esté disponible.

En este tutorial, creará una base de datos global de Aurora con un clúster primario en una región y un clúster secundario en otra región. Qué regiones usar depende de usted. Se recomienda que tenga una aplicación en cada una de las regiones que utilizará. Por ejemplo, si su base de datos global de Aurora tendrá un clúster primario en us-east-1 y un clúster secundario en eu-west-3, debería tener una instancia en us-east-1 y otra en eu-west-3.

Además, si desea ahorrar tiempo, para cada una de esas regiones puede crear un grupo de seguridad que permita conexiones entrantes desde las instancias. Por ejemplo, puede crear un grupo de seguridad con una regla de entrada de tipo MYSQL/Aurora que permita conexiones TCP en el puerto 3306 desde el grupo de seguridad de sus instancias.

Finalmente, para probar su base de datos global de Aurora (consulte el Paso 8), necesitará un cliente MySQL. Si las instancias de su aplicación ejecutan Amazon Linux, instalar un cliente MySQL puede ser tan simple como ejecutar sudo yum install mysql, pero el comando exacto depende del sistema operativo que esté ejecutando. Si en cambio está ejecutando Windows, puede descargar MySQL Workbench.

Acerca de este tutorial
Duración 10 minutos                                           
Costo Menos de 1 USD
Caso de uso Bases de datos
Productos Amazon Aurora, Amazon RDS
Público Administradores de bases de datos, desarrolladores
Nivel Intermedio
Última actualización 3 de junio, 2019

Paso 1: acceso a la consola de Amazon RDS

1.1 — Abra un navegador y vaya a la consola de Amazon RDS. Si ya tiene una cuenta de AWS, inicie sesión en la consola. De lo contrario, cree una nueva cuenta de AWS para comenzar.

1.2 — En la esquina superior derecha, seleccione la región donde desea lanzar el clúster primario de la base de datos Aurora. A los fines de este tutorial, usaremos us-east-1 como la región primaria y eu-west-1 como la región secundaria.

1.3 — Haga clic en “Crear base de datos” en la ventana de Amazon Aurora.

1.4 — Desplácese hacia abajo y haga clic en “Probar ahora” en la ventana de la base de datos global de Aurora. Si no ve la opción “Probar ahora”, haga clic aquí.

Paso 2: opciones de motor

2.1 — En Tipo de motor, seleccione “Amazon Aurora”.

2.2 — En Edición, seleccione “Amazon Aurora con compatibilidad con MySQL”.

2.3 — En Versión, seleccione la versión más reciente de MySQL.

2.4 — En Ubicación de la base de datos, seleccione “Global”.

2.5 — Elija la plantilla “Producción”.

Paso 3: configuración de la base de datos global

3.1 — Para el identificador de la base de datos global, escriba “global-database-1”.

Paso 4: configuración de región primaria

4.1 — En Tamaño de la instancia de la base de datos, seleccione una instancia grande (que termine con .large).

4.2 — En Disponibilidad y durabilidad, elija “No crear una réplica Aurora”.

Tenga en cuenta que se recomienda tener una réplica Aurora en entornos de producción, ya que le permite escalar las lecturas y conmuta automáticamente por error dentro de la misma región que la base de datos primaria. Para no complicar el ejercicio, en este tutorial no agregaremos una réplica Aurora.

Paso 5: conectividad

5.1 — Seleccione la VPC donde desea crear la base de datos.

Tenga en cuenta que una vez creada, la base de datos no se puede migrar a una VPC diferente.

5.2 — Haga clic en “Configuración adicional de la conectividad”.

5.3 — Seleccione el valor predeterminado para el Grupo de subred.

5.4 — En Acceso público, seleccione “No”.

Esto significa que tendrá que conectarse a la base de datos desde una instancia EC2 dentro de la misma VPC.

5.5 — En el Grupo de seguridad de VPC, seleccione “Crear nuevo”. Si tiene un grupo de seguridad que permite conexiones TCP entrantes en el puerto 3306, puede elegirlo.

5.6 — En Nuevo nombre de grupo de seguridad de VPC, escriba “global-database”.

5.7 — En Puerto de base de datos, deje el valor predeterminado.

Paso 6: configuración adicional

6.1 — En Opciones de base de datos, Copia de seguridad, Monitoreo, Exportaciones de registros, Mantenimiento y Protección de eliminación, deje los valores predeterminados.

6.2 — Haga clic en “Crear base de datos”.

Mientras se crean las instancias, verá un cartel que explica cómo obtener sus credenciales. Esta es una buena oportunidad para guardar las credenciales en algún lugar, ya que esta es la única vez que podrá ver esta contraseña.

6.3 — Haga clic en “Ver detalles de la credencial”.

6.4 — Guarde el nombre de usuario y la contraseña.

Paso 7: agregar una región secundaria

7.1 — Seleccione “global-database-1”.

7.2 — Haga clic en “Acciones > Agregar una región”.

7.3 — En el menú desplegable, seleccione una región.

7.4 — Repita los pasos 4.1 a 5.7.

7.5 — Haga clic en “Agregar región”.

Una vez que las bases de datos estén disponibles, continúe con el paso 8.

Paso 8: pruebe su base de datos global de Aurora

8.1 — Haga clic en la base de datos primaria.

8.2 — Copie el Punto de enlace del escritor.

Abra dos ventanas de terminal, inicie sesión en las instancias en las regiones primaria y secundaria y use el cliente de línea de comandos mysql para conectarse a las bases de datos.

Ahora puede crear una base de datos, crear una tabla y escribir algunos registros. Todo lo que escriba en el clúster primario se replicará en el clúster secundario.

8.3 — Conéctese a la base de datos primaria:

$ mysql -h endpoint -P 3306 -u admin -p

Cuando se le solicite una contraseña, escriba la contraseña que guardó en el paso 6.6.

8.4 — Cree una base de datos y escriba algunos datos.

mysql> CREATE database tutorial;
Consulta OK, 1 fila afectada (0,01 seg)

En este momento, puede utilizar la base de datos del tutorial, crear tablas y agregar algunos registros.

8.5 — Vaya a la región secundaria.

8.6 — Haga clic en la base de datos secundaria.

8.7 — Copie el punto de enlace del lector.

8.8 — Conéctese a la base de datos secundaria:

$ mysql -h endpoint -P 3306 -u admin -p

Cuando se le solicite una contraseña, escriba la contraseña que guardó en el paso 6.6.

8.9 — Lea algunos datos:

mysql> USE tutorial;
La base de datos cambió

Ahora puede verificar que la base de datos se haya replicado en la base de datos secundaria. Si creó una tabla, puede escribir en el clúster primario y leer los datos en el clúster secundario.

Paso 9: conmutación por error a una región secundaria

Mientras que el clúster predeterminado Aurora le brinda capacidades de conmutación por error dentro de la región, Aurora Global Database le permite conmutar por error al clúster secundario en otra región. Significa que la base de datos sobrevive aun cuando toda una región deja de estar disponible.

Realizar una conmutación por error para una base de datos global de Aurora implica eliminar el clúster secundario de la base de datos global original, convirtiéndolo de nuevo en un clúster regional con capacidades completas de lectura y escritura y luego usarlo como el clúster primario en una nueva base de datos global de Aurora.

Puede realizar una conmutación por error manualmente siguiendo las instrucciones a continuación.

9.1 — Deje de escribir en la base de datos primaria.

9.2 — Seleccione el clúster secundario.

9.3 — Haga clic en “Acciones > Eliminar de Global”.

9.4 — Confirme haciendo clic en “Eliminar y elevar”.

9.5 — Configure la aplicación para que escriba en el clúster recientemente elevado.

9.6 — Aún en la región secundaria, seleccione el clúster Regional.

9.7 — Haga clic en “Acciones > Crear base de datos global”.

9.8 — En el menú desplegable, seleccione una región.

9.9 — Repita los pasos 4.1 a 5.7.

Paso 10: eliminación

Para finalizar este tutorial, elimine la base de datos global de Aurora. Puede conservarla, pero tenga en cuenta que incurrirá en cargos.

Para eliminar su base de datos global de Aurora, vaya al Panel de control de RDS y siga estas instrucciones:

10.1 — Seleccione “Base de datos” en el panel izquierdo.

Esto le mostrará una lista de todos los clústeres de base de datos Aurora.

10.2 — Seleccione una instancia de la base de datos global.

10.3 — Haga clic en “Acciones > Eliminar”.

10.4 - Se le preguntará si desea crear una copia de seguridad final. Suele ser una buena idea, pero no es necesario para este tutorial. Seleccione “No” y haga clic en “Eliminar”.

10.5 — Seleccione un clúster de la base de datos global.

10.6 — Haga clic en “Acciones > Eliminar de Global”.

10.7 — Confirme haciendo clic en “Eliminar de global”.

10.8 — Seleccione un clúster de la base de datos regional.

10.9 — Haga clic en “Acciones > Eliminar”.

10.10 - Se le preguntará si desea crear una instantánea final. Suele ser una buena idea, pero no es necesario para este tutorial. Seleccione “No” y haga clic en “Eliminar clúster de base de datos”.

10.11 — Vaya a la región secundaria y lleve a cabo los pasos 10.1 a 10.9.

10.12 — Seleccione la base de datos global.

10.13 — Haga clic en “Acciones > Eliminar”.

10.14 — Confirme escribiendo “eliminarme” y haciendo clic en “Eliminar”.

El estado de su clúster cambiará a “Eliminándose”.

Felicitaciones

Creó una base de datos global de Aurora con replicación entre regiones. Aprendió a escalar las lecturas a otras regiones para beneficiarse de una latencia más baja y realizó una conmutación por error a una región secundaria.

¿Le resultó útil este tutorial?