2012-06-27 20 views
11

Recientemente estoy considerando utilizar la implementación de Amazon RDS Multi-AZ para un servicio en entorno de producción, y he leído los documentos relacionados.¿Cómo se realiza la implementación Multi-AZ de Amazon RDS?

Sin embargo, tengo una pregunta acerca de la conmutación por error. En las preguntas frecuentes de Amazon RDS, la conmutación por error se describe de la siguiente manera:

P: ¿Qué ocurre durante la migración tras error Multi-AZ y cuánto tiempo lleva?

La conmutación por error se maneja automáticamente por Amazon RDS para que pueda reanudar las operaciones de la base de datos lo más rápido posible sin intervención administrativa . Al fallar, Amazon RDS simplemente voltea el canonico registro de nombres (CNAME) para que su instancia de base de datos apunte al modo de espera, , que a su vez se promueve para convertirse en el nuevo primario. Recomendamos que siga las mejores prácticas e implemente la reintento de la conexión a la base de datos en la capa de aplicación. Los tiempos de conmutación por error son una función del tiempo que toma para completar la recuperación de fallos. De inicio a fin, la conmutación por error normalmente finaliza en tres minutos.

A partir de la descripción anterior, supongo que debe haber un servicio de supervisión que podría detectar el fallo de la instancia principal y hacer el volteo.

Mi pregunta es, ¿en qué parte de AZ se aloja este servicio de supervisión? Hay 3 posibilidades: 1. El mismo AZ como el principal 2. Igual AZ como el modo de espera 3. Otra AZ

Aparentemente 1 & 2 no será el caso, ya que no podía manejar la situación que toda AZ no está disponible. Entonces, si 3 es el caso, ¿qué sucede si la A a la Z del servicio de monitoreo se cae? ¿Hay otro servicio para monitorear este servicio de monitoreo? Parece ser un dominó sin fin.

Entonces, ¿cómo garantiza Amazon la disponibilidad de RDS en el despliegue Multi-AZ?

Respuesta

0

Adivinanza educada: el servicio de supervisión se ejecuta en todas las AZ y hace referencia a una lista compartida de instancias en ejecución (que se replica por sincronización en los AZ). Tan pronto como un servicio de monitorización en un AZ advierte que otro AJ está inactivo, invierte los CNAMES de todas las instancias en ejecución en un AZ que está actualmente activo.

+0

Si la comunicación entre dos AZ se rompe, ¿qué pasará? – ciphor

+0

@ciphor el enlace de comunicaciones no solo es probable, pero ciertamente redundante, como todo lo demás en el medio. Sus preguntas son el punto de confiabilidad y disponibilidad de un sistema. Todo se trata de aplicar redundancia y reducir riesgos. Sin embargo, nunca es perfecto. – Viccari

+0

También tengo una consulta sobre cómo, si mi instancia primaria de RDS está en la región de N.Virginia, ¿cómo puedo encontrar dónde reside la instancia de DB secundaria? – user3086014

0

No pudimos determinar dónde reside la instancia de fail-over, pero nuestra primaria está en US-West-2c y secundaria en US-West-2b.

Usando PostgreSQL, nuestros datos se dañaron debido a un problema físico con el volumen de Amazon (tan cerca como podríamos decir). No teníamos una configuración multi-AZ en ese momento, así que para recuperarnos, teníamos que realizar una restauración puntual lo más cerca posible del evento. El soporte de Amazon nos aseguró que si hubiésemos avanzado con Multi-AZ, automáticamente se hubieran transferido a la otra AZ. Esto plantea la pregunta de cómo podrían haber determinado eso, y la corrupción de datos se propagaría a la otra A a la Z?

Debido a ese shisaster, también agregamos una réplica de solo lectura, que parece tener mucho más sentido para mí. También usamos la réplica RO para leer y otras funciones. Mi comprensión de mi representante de Amazon es que uno puede pensar en la configuración Multi-AZ como más como una situación de RAID.

0

De la documentación, conmutación por error se produce si se cumplen las siguientes condiciones:

  • Pérdida de disponibilidad en zona de disponibilidad primaria
  • La pérdida de conectividad de red a
  • Calcular fallo de la unidad principal en primaria
  • fallo en el almacenamiento primario en

Esto infiere que la supervisión no se encuentra en el mismo AZ. Lo más probable es que la réplica de lectura esté usando las funciones de mysql (https://dev.mysql.com/doc/refman/5.7/en/replication-administration-status.html) para supervisar el estado del maestro y tomar medidas si el maestro no puede alcanzarse.

Por supuesto, esto lleva la pregunta ¿qué sucede si la réplica AZ falla? Lo más probable es que Amazon tenga comprobaciones en la detección de fallas de la réplica para determinar si está fallando o si la primaria es.

Cuestiones relacionadas