Amazon RDS Multi-AZ implementaciones y réplicas de lectura

RDS de Amazon es un servicio de base de datos relacional administrado que facilita la instalación, operación y escalado de una base de datos relacional en la nube. Una de las preguntas comunes que tenemos es «¿Qué es Multi-AZ y en qué se diferencia de Read Replica, necesito ambos?». He intentado responder a esta pregunta en esta publicación de blog y depende de las necesidades de su aplicación. ¿Está buscando alta disponibilidad (HA), escalabilidad de lectura… o ambas?

Antes de entrar en detalles, permítanme explicar dos términos comunes que se usan con Amazon AWS.

Región – una región de AWS es un área geográfica separada, como EE. UU. Este (Norte de Virginia), Asia Pacífico (Mumbai), UE (Londres), etc. Cada región de AWS tiene varias ubicaciones aisladas conocidas como zonas de disponibilidad.

Área de disponibilidad (AZ) – AZ es solo uno o más centros de datos, cada uno con energía, red y conexión redundantes, alojados en estructuras separadas. Los centros de datos están geográficamente aislados en la misma región.

¿Qué es Multi-AZ?

Amazon RDS proporciona compatibilidad con alta disponibilidad y conmutación por error para instancias de base de datos mediante implementaciones Multi-AZ.

En una implementación Multi-AZ, Amazon RDS proporciona y mantiene automáticamente una réplica en espera síncrona de la base de datos maestra en una zona de disponibilidad diferente. La instancia de base de datos principal se replica sincrónicamente en las zonas de disponibilidad en espera a la replicación en espera para proporcionar redundancia de datos, soporte de conmutación por error y minimizar la latencia durante las copias de seguridad del sistema. En caso de mantenimiento programado de la base de datos, falla de la instancia de base de datos o falla de AZ de su instancia de base de datos principal, Amazon RDS realiza automáticamente una conmutación por error en espera para que las operaciones de la base de datos puedan reanudarse rápidamente sin intervención administrativa.

Puede verificar en la consola de administración de AWS si una instancia de base de datos está configurada como Multi-AZ. Seleccione el servicio RDS, haga clic en la instancia de base de datos y revise la sección de detalles.

Consola de administración de AWS que muestra que la instancia es Multi-AZ

Esta captura de pantalla de la consola de administración de AWS (arriba) muestra que la base de datos está alojada como una implementación Multi-AZ y la replicación en espera está implementada en us-east-1a AZ.

Beneficios de la implementación Multi-AZ:

  • La replicación a una réplica en espera es sincrónica, lo que es muy duradero.
  • Cuando se detecta un problema en la instancia principal, fallará automáticamente en modo de espera en las siguientes condiciones:
    • La instancia de base de datos principal falla
    • Una interrupción de la zona de disponibilidad
    • El tipo de servidor de la instancia de base de datos ha cambiado
    • El sistema operativo de la instancia de base de datos está sujeto a parches de software.
    • Se inició una conmutación por error manual de la instancia de base de datos con Reiniciar con conmutación por error.
  • El punto final de la instancia de base de datos sigue siendo el mismo después de una conmutación por error, la aplicación puede reanudar las operaciones de la base de datos sin intervención manual.
  • Si se produce un error, el impacto de su disponibilidad se limita al tiempo que tarda en completarse la conmutación por error automática. Esto ayuda a lograr una mayor disponibilidad.
  • Reduce el impacto del mantenimiento. RDS primero realiza el mantenimiento en espera, promueve el modo en espera al maestro principal y luego realiza el mantenimiento en el maestro antiguo que ahora es una réplica en espera.
  • Para evitar cualquier impacto negativo del proceso de copia de seguridad en el rendimiento, Amazon RDS crea una copia de seguridad a partir de la replicación en espera.

Amazon RDS no responde automáticamente a las operaciones de la base de datos, como consultas a largo plazo, bloqueos o errores de corrupción de la base de datos. Además, las implementaciones Multi-AZ están limitadas a una sola región, actualmente no se admite Multi-AZ interregional.

¿Puedo usar una réplica RDS en espera para la escala de lectura?

Las implementaciones Multi-AZ no son una solución de escala de lectura, no puede usar la replicación en espera para atender el tráfico de lectura. Multi-AZ mantiene una réplica en espera para HA/failover. Está disponible para su uso solo cuando RDS promociona la instancia en espera como principal. Para servir tráfico de solo lectura, debe usar un Lee la respuesta a diferencia de.

¿Qué es la réplica de lectura?

La lectura de réplicas le permite tener una copia de solo lectura de su base de datos.

Al crear una réplica de lectura, primero especifique una instancia de base de datos existente como origen. Luego, Amazon RDS toma una instantánea de la instancia de origen y crea una instancia de solo lectura a partir de la instantánea. Puede usar la replicación asíncrona nativa de MySQL para mantener la réplica de lectura actualizada con los cambios. La base de datos de origen debe tener habilitada la copia de seguridad automática para leer la instalación de la réplica.

Beneficios de la réplica de lectura

  • La réplica de lectura ayuda a disminuir la carga en la base de datos principal al proporcionar tráfico de solo lectura.
  • Una réplica de lectura se puede promocionar manualmente como una instancia de base de datos independiente.
  • Puede crear réplicas de lectura en AZ, Cross-AZ o Cross-Region.
  • Puede tener hasta cinco réplicas de lectura por maestro, cada una con su propio extremo DNS. A diferencia de una réplica Multi-AZ en espera, puede conectarse a cada réplica de lectura y usarla para la escala de lectura.
  • Puede hacer que Réplicas de lectura lea Réplicas de lectura.
  • Las réplicas de lectura se pueden habilitar Multi-AZ.
  • Puede usar Réplicas de lectura para realizar una copia de seguridad lógica (mysqldump/mydumper) si desea almacenar copias de seguridad de forma externa en RDS.
  • Read Replica ayuda a mantener una copia de la base de datos en una región diferente para la recuperación ante desastres.

En AWS re: Invent 2017, AWS anunció la versión preliminar de Amazon Aurora Multi-Master, que permitirá a los usuarios crear varios nodos de escritorio de Aurora y ayudar a escalar la lectura/escritura en varias zonas de disponibilidad. Puedes registrarte para una vista previa aquí.

Conclusiones

Si bien los dos (Multi-AZ y Read Replication) mantienen una copia de la base de datos, son de naturaleza diferente. Use implementaciones Multi-AZ para alta disponibilidad y réplica de lectura para escalabilidad de lectura. También puede configurar una réplica de lectura interregional para la recuperación ante desastres.

Tal vez te guste

ProxySQL proporciona una muy buena alternativa al acceso estándar al clúster. También está equipado con más controles, opciones y almacenamiento en caché cerca de la aplicación. ProxySQL 2.0 también es compatible con AWS Aurora. Haga clic aquí para aprender cómo implementar un proxy con una base de datos relacional. Haga clic aquí para ver cómo puede aprovechar ProxySQL con Aurora para obtener mejores resultados en comparación con el uso del extremo de clúster predeterminado de la base de datos.

Si su empresa busca escalar en la nube, descargue nuestro resumen de la solución para ver cómo la creación de instancias MySQL Amazon RDS puede ayudar a su empresa a satisfacer sus crecientes necesidades y evitar dolores de crecimiento innecesarios.

Author: Ing. Luis

A lo largo de conocer Windows y otros sistemas operativos me eh encontrado con diversos tipos de error, ahora brindo soluciones según mi experiencia-

Deja un comentario