HAProxy Stacks AWS OpsWorks , Ebene - AWS OpsWorks

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

HAProxy Stacks AWS OpsWorks , Ebene

Anmerkung

Dieser Layer steht nur für Chef 11 und niedrigere Linux-basierte Stacks zur Verfügung.

Die AWS OpsWorks Stacks HAProxy-Schicht ist eine AWS OpsWorks Stacks-Schicht, die einen Blueprint für Instances bereitstellt, die einen HAProxy-Server hosten — ein zuverlässiger TCP/HTTP-Lastenausgleich mit hoher Leistung. Eine kleine Instance ist normalerweise ausreichend für die Verarbeitung des gesamten Datenverkehrs des Anwendungsservers.

Anmerkung

Stacks sind auf eine einzelne Region begrenzt. Um Ihre Anwendung über mehrere Regionen zu verteilen, müssen Sie für jede Region einen separaten Stack erstellen.

Um eine HAProxy-Schicht zu erstellen
  1. Klicken Sie im Navigationsbereich auf Layers (Layers).

  2. Klicken Sie auf der Seite Layers (Layers) auf Add a Layer (Einen Layer hinzufügen) oder auf + Layer (+ Layer). Wählen Sie für Layer type (Layer-Typ) die Option HAProxy (HAProxy) aus.

Der Layer verfügt über die folgenden Konfigurationseinstellungen, die alle optional sind.

HAProxy statistics (HAProxy-Statistiken)

Unabhängig davon, ob der Layer Statistiken sammelt oder anzeigt. Der Standardwert ist Yes.

Statistics URL (URL für Statistiken)

Der URL-Pfad der Statistikseite. Die vollständige URL lautet http://dnsName StatisticsPath, wobei dnsName der DNS-Name der zugehörigen Instanz ist. Der Standardwert ist /haproxy? StatisticsPath stats, was etwa entspricht: http://ec2-54-245-151-7.us-west-2.compute.amazonaws.com/haproxy?stats.

Statistics user name (Benutzername für Statistiken)

Der Benutzername der Statistikseite, den Sie angeben müssen, um die Statistikseite aufrufen zu können. Der Standardwert ist „opsworks“.

Statistics password (Passwort für Statistiken)

Ein Passwort für die Statistikseite, das Sie eingeben müssen, um die Statistikseite zu sehen. Der Standardwert ist eine zufällig erstellte Zeichenfolge.

Health check URL (URL für Zustandsprüfung)

Das Zustandsprüfungs-URL-Suffix. HAProxy verwendet diese URL, um in regelmäßigen Abständen eine HTTP-Methode auf den einzelnen Anwendungsserver-Instances aufzurufen, um zu ermitteln, ob die Instance funktioniert. Wenn die Zustandsprüfung fehlschlägt, stoppt HAProxy das Routing von Datenverkehr an die Instance, bis sie neu gestartet ist, entweder manuell oder durch Auto Healing. Der Standardwert für das URL-Suffix lautet "/", was der Homepage der Server-Instance entspricht: http://DNSName/.

Health check method (Methode für Zustandsprüfung)

Eine HTTP-Methode, die in der Regel überprüft, ob Instances funktionieren. Der Standardwert ist OPTIONS und Sie können auch GET oder HEAD angeben. Weitere Informationen finden Sie unter httpchk.

Benutzerdefinierte Sicherheitsgruppen

Diese Einstellung wird angezeigt, wenn Sie Ihren Layern nicht automatisch eine integrierte AWS OpsWorks Stacks-Sicherheitsgruppe zuordnen möchten. Sie müssen die mit der Ebene zu verknüpfende Sicherheitsgruppe angeben. Stellen Sie sicher, dass die Gruppe über die richtigen Einstellungen verfügt, um Datenverkehr zwischen den Layern zu erlauben. Weitere Informationen finden Sie unter Erstellen eines neuen Stacks.

Anmerkung

Notieren Sie sich das Passwort für die spätere Verwendung. In AWS OpsWorks Stacks können Sie das Passwort nicht anzeigen, nachdem Sie die Ebene erstellt haben. Sie können das Passwort jedoch aktualisieren, indem Sie auf die Seite Edit (Bearbeiten) des Layers wechseln und auf Update password (Passwort aktualisieren) auf der Registerkarte General Settings (Allgemeine Einstellungen) klicken.

So funktioniert die HAProxy-Ebene

HAProxy übernimmt standardmäßig folgende Aktionen:

  • Empfängt Anfragen auf den HTTP- und HTTPS-Ports.

    Sie können HAProxy so konfigurieren, dass nur auf den HTTP- oder HTTPS-Port reagiert wird, indem Sie die Chef-Konfigurationsvorlage haproxy.cfg.erb überschreiben.

  • Leitet den eingehenden Datenverkehr an Instances, die zu einem Anwendungsserver-Layer gehören.

    Standardmäßig konfiguriert AWS OpsWorks Stacks HAProxy so, dass der Datenverkehr an Instanzen verteilt wird, die Mitglieder einer beliebigen Anwendungsserverschicht sind. Sie könnten beispielsweise einen Stack mit den Ebenen Rails App Server und PHP App Server haben, und ein HAProxy-Master verteilt den Datenverkehr auf die Instanzen in beiden Schichten. Sie können die Standard-Routing-Einstellungen konfigurieren, indem Sie eine benutzerdefiniertes Rezept verwenden.

  • Verteilt den Datenverkehr auf mehrere Availability Zones.

    Wenn eine Availability Zone ausfällt, leitet der Load Balancer den eingehenden Datenverkehr an Instances in anderen Zonen, sodass Ihre Anwendung weiterhin ohne Unterbrechung ausgeführt wird. Aus diesem Grund ist es ein empfohlenes Verfahren, Ihre Anwendungsserver über mehrere Availability Zones hinweg zu verteilen.

  • Führt in regelmäßigen Abständen die angegebene Methode für Zustandsprüfungen auf jeder Anwendungsserver-Instance aus, um ihren Zustand zu bewerten.

    Wenn die Methode nicht innerhalb eines bestimmten Timeout-Zeitraums zurückkehrt, wird davon ausgegangen, dass die Instanz ausgefallen ist, und HAProxy stoppt das Weiterleiten von Anfragen an die Instanz. AWS OpsWorks Stacks bietet auch eine Möglichkeit, ausgefallene Instances automatisch zu ersetzen. Weitere Informationen finden Sie unter Verwenden von Auto Healing. Sie können die Methode der Zustandsprüfung beim Erstellen des Layers ändern.

  • Sammelt Statistiken und zeigt sie optional auf einer Webseite.

Wichtig

Damit die Zustandsprüfung einwandfrei mit der standardmäßig verwendeten OPTIONS-Methode funktioniert, muss Ihre Anwendung einen 2xx- oder 3xx-Statuscode zurückgeben.

Wenn Sie eine Instance zu einer HAProxy-Ebene hinzufügen, weist AWS OpsWorks Stacks ihr standardmäßig eine Elastic IP-Adresse zu, um die weltweit öffentliche Anwendung darzustellen. Da die Elastic IP-Adresse der HAProxy-Instanz die einzige öffentlich zugängliche URL der Anwendung ist, müssen Sie keine öffentlichen Domain-Namen für die zugrunde liegenden Anwendungsserver-Instanzen erstellen und verwalten. Sie erhalten die Adresse, indem Sie die Seite Instances (Instances) aufrufen und die öffentliche IP-Adresse überprüfen, wie in der folgenden Abbildung gezeigt. Eine Adresse, die von (EIP) gefolgt wird, ist eine Elastic IP-Adresse. Weitere Informationen zu Elastic IP-Adressen finden Sie unter Elastic IP Addresses (EIP) (Elastic IP-Adressen (EIP)).

Wenn Sie eine HAProxy-Instance beenden, behält AWS OpsWorks Stacks die Elastic IP-Adresse bei und weist sie der Instance neu zu, wenn Sie sie neu starten. Wenn Sie eine HAProxy-Instance löschen, löscht AWS OpsWorks Stacks standardmäßig die IP-Adresse der Instance. Um die Adresse zu bewahren, löschen Sie die Option zum Delete instance's Elastic IP (Löschen der Elastic IP der Instance), wie in der folgenden Abbildung dargestellt.

Diese Option wirkt sich auf das aus, was passiert, wenn Sie zu dem Layer eine neue Instance hinzufügen, um eine gelöschte Instance zu ersetzen:

  • Wenn Sie die Elastic IP-Adresse der gelöschten Instance beibehalten haben, weist AWS OpsWorks Stacks die Adresse der neuen Instance zu.

  • Andernfalls weist AWS OpsWorks Stacks der Instance eine neue Elastic IP-Adresse zu und Sie müssen Ihre DNS-Registrar-Einstellungen aktualisieren, damit sie der neuen Adresse zugeordnet werden.

Wenn Anwendungsserver-Instances online gehen oder offline gehen — entweder manuell oder als Folge der automatischen Skalierung oder auto Heilung — muss die Load Balancer-Konfiguration aktualisiert werden, um den Datenverkehr an die aktuellen Online-Instanzen weiterzuleiten. Diese Aufgabe wird automatisch von den integrierten Rezepten des Layers durchgeführt:

  • Wenn neue Instances online gehen, löst AWS OpsWorks Stacks ein Configure-Lifecycle-Ereignis aus. Die integrierten Configure-Rezepte der HAProxy-Schicht aktualisieren die Load Balancer-Konfiguration, sodass Anfragen auch an alle neuen Anwendungsserver-Instanzen verteilt werden.

  • Wenn Instanzen offline gehen oder eine Instance eine Integritätsprüfung nicht besteht, löst AWS OpsWorks Stacks auch ein Configure-Lifecycle-Ereignis aus. Die HAProxy-Konfigurationsrezepte aktualisieren die Load Balancer-Konfiguration, um den Datenverkehr nur auf die verbleibenden Online-Instances zu leiten.

Schließlich können Sie auch eine benutzerdefinierte Domain mit der HAProxy-Ebene verwenden. Weitere Informationen finden Sie unter Verwenden von benutzerdefinierten Domänen.

Die Statistikseite

Wenn Sie die Statistikseite aktiviert haben, zeigt HAProxy eine Seite mit einer Vielzahl von Metriken unter der angegebenen URL an.

Um HAProxy-Statistiken anzuzeigen
  1. Rufen Sie den öffentlichen DNS-Namen der HAProxy-Instanz von der Detailseite der Instanz ab und kopieren Sie ihn.

  2. Klicken Sie auf der Seite Layers auf HAProxy, um die Detailseite des Layers zu öffnen.

  3. Rufen Sie die Statistik-URL aus den Layer-Details ab und hängen Sie sie an den öffentlichen DNS-Namen an. Zum Beispiel: http://ec2-54-245-102-172.us-west-2.compute.amazonaws.com/haproxy?stats.

  4. Fügen Sie die URL aus dem vorherigen Schritt in Ihren Browser ein und verwenden Sie den Benutzernamen und das Passwort, die Sie angegeben haben, als Sie den Layer erstellt haben, um die Statistikseite zu öffnen.