Implementación en AWS
Puede implementar este patrón en AWS utilizando las capacidades principales de Amazon Elastic Compute Cloud (Amazon EC2), la API de Amazon EC2, las direcciones de IP elástica y la compatibilidad con Amazon EC2 para direcciones IP privadas secundarias.
-
Lance dos instancias de EC2 para que asuman los roles de nodos principales y secundarios, donde se supone que el principal está en estado activo de forma predeterminada.
-
Asigne una dirección IP privada secundaria adicional a la instancia de EC2 principal.
-
Hay asociada una dirección IP elástica, que es similar a una IP virtual (VIP), a la dirección privada secundaria. Esta dirección privada secundaria es la dirección que utilizan los puntos de conexión externos para acceder a la aplicación.
-
Se necesita una configuración del sistema operativo determinada para que la dirección IP secundaria se añada como un alias a la interfaz de red principal.
-
La aplicación debe vincularse a esta dirección IP elástica. En el caso del software Asterisk, puede configurar el enlace a través de la configuración avanzada de SIP de Asterisk.
-
Ejecute un script de supervisión (personalizado, KeepAlive en Linux, Corosync, etc.) en cada nodo para supervisar el estado del nodo del mismo nivel. En el caso de que el nodo activo actual falle, el nodo del mismo nivel detecta este error e invoca a la API de Amazon EC2 para reasignar la dirección IP privada secundaria a sí mismo.
-
Por lo tanto, la aplicación que estaba escuchando en el VIP asociado a la dirección IP privada secundaria está disponible para los puntos de conexión a través del nodo en espera.
Figura 4: Conmutación por error entre instancias de EC2 con estado mediante la dirección IP elástica