Implementierung in AWS - Echtzeit-Kommunikation in AWS

Implementierung in AWS

Sie können dieses Muster in AWS mithilfe der Kernfunktionen von Amazon Elastic Compute Cloud (Amazon EC2), Amazon EC2 API, elastischen IP-Adressen und Unterstützung von Amazon EC2 für sekundäre private IP-Adressen implementieren.

  1. Starten Sie zwei EC2-Instances, um die Rollen von Primär- und Sekundärknoten zu übernehmen. Voraussetzung ist, dass sich der Primärknoten standardmäßig im aktiven Zustand befindet.

  2. Weisen Sie der primären EC2-Instance eine zusätzliche sekundäre private IP-Adresse zu.

  3. Eine elastische IP-Adresse, die einer virtuellen IP (VIP) ähnelt, ist mit der sekundären privaten Adresse verknüpft. Diese sekundäre private Adresse ist die Adresse, die von externen Endpunkten für den Zugriff auf die Anwendung verwendet wird.

  4. Es müssen gewisse Konfigurationen am Betriebssystem vorgenommen werden, damit die sekundäre IP-Adresse als Alias zur primären Netzwerkschnittstelle hinzugefügt wird.

  5. Die Anwendung muss an diese elastische IP-Adresse binden. Im Fall der Asterisk-Software können Sie die Bindung über erweiterte Asterisk-SIP-Einstellungen konfigurieren.

  6. Führen Sie auf jedem Knoten ein Überwachungsskript wie Custom, KeepAlive auf Linux, Corosync usw. aus, um den Status des Peer-Knotens zu überwachen. Falls der aktuelle aktive Knoten ausfällt, erkennt der Peer-Knoten diesen Fehler und ruft die Amazon EC2-API auf, um die sekundäre private IP-Adresse sich selbst neu zuzuweisen.

  7. Dadurch wird die Anwendung, die auf der mit der sekundären privaten IP-Adresse verknüpften VIP lauschte, über den Standby-Knoten für Endpunkte verfügbar.

Failover zwischen zustandsbehafteten EC2-Instances mit elastischer IP-Adresse

Abbildung 4: Failover zwischen zustandsbehafteten EC2-Instances unter Verwendung der elastischen IP-Adresse