Elastic Load Balancing Lastenausgleichsebene - 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.

Elastic Load Balancing Lastenausgleichsebene

Wichtig

Der AWS OpsWorks Stacks Dienst hat am 26. Mai 2024 das Ende seiner Lebensdauer erreicht und wurde sowohl für neue als auch für bestehende Kunden deaktiviert. Wir empfehlen Kunden dringend, ihre Workloads so bald wie möglich auf andere Lösungen zu migrieren. Wenn Sie Fragen zur Migration haben, wenden Sie sich an das AWS Support Team auf AWS re:POST oder über den AWS Premium-Support.

Elastic Load Balancing funktioniert etwas anders als eine AWS OpsWorks Stacks-Ebene. Anstatt eine Ebene zu erstellen und ihr Instances hinzuzufügen, verwenden Sie die Elastic Load Balancing Balancing-Konsole oder API, um einen Load Balancer zu erstellen und ihn dann an einen vorhandenen Layer anzuhängen. Elastic Load Balancing verteilt nicht nur den Traffic auf die Instances des Layers, sondern macht auch Folgendes:

  • Erkennt fehlerhafte Amazon EC2 EC2-Instances und leitet den Datenverkehr an die verbleibenden fehlerfreien Instances weiter, bis die fehlerhaften Instances wiederhergestellt wurden.

  • Er skaliert als Reaktion auf den eingehenden Datenverkehr automatisch die Kapazität zur Anforderungsbearbeitung.

  • Wenn Sie die Funktion Connection Draining aktivieren, schickt der Load Balancer keine neuen Anforderungen mehr an fehlerhafte oder abgemeldete Instances, sondern hält die Verbindung bis zu einem festgelegten Zeitüberschreitungswert aufrecht, damit die Instances laufende Anforderungen abschließen können.

Nachdem Sie einen Load Balancer an eine Ebene angehängt haben, geht Stacks wie folgt vor: AWS OpsWorks

  • Meldet alle derzeit registrierten Instances ab.

  • Registriert automatisch die Instances der Ebene, einschließlich last- und zeitbasierter Instances, wenn sie online gehen, und meldet sie automatisch wieder ab, wenn sie offline gehen.

  • Startet automatisch das Routing von Anfragen an registrierte Instances in ihren Availability Zones.

Wenn Sie die Funktion zum Entleeren von Verbindungen des Load Balancers aktiviert haben, können Sie angeben, ob AWS OpsWorks Stacks sie unterstützt. Wenn Sie die Unterstützung für Verbindungsabbau aktivieren (Standardeinstellung), führt AWS OpsWorks Stacks nach dem Herunterfahren einer Instanz Folgendes aus:

  • Meldet die Instance vom Load Balancer ab.

    Der Load Balancer sendet keine neuen Anforderungen mehr und startet den Verbindungsausgleich.

  • Verzögert das Auslösen eines Shutdown-Lebenszyklusereignisses bis der Load Balancer den Verbindungsausgleich abgeschlossen hat.

Wenn Sie die Unterstützung für Verbindungsverlust nicht aktivieren, löst AWS OpsWorks Stacks das Shutdown-Ereignis aus, sobald die Instance heruntergefahren wird, auch wenn die Instance immer noch mit dem Load Balancer verbunden ist.

Um Elastic Load Balancing mit einem Stack zu verwenden, müssen Sie zunächst mithilfe der Elastic Load Balancing-Konsole, CLI oder API einen oder mehrere Load Balancer in derselben Region erstellen. Dabei sollten Sie Folgendes beachten:

  • Sie können einem Layer nur einen Load Balancer anfügen.

  • Jeder Load Balancer ist nur für einen Layer zuständig.

  • AWS OpsWorks Stacks unterstützt den Application Load Balancer nicht. Sie können Classic Load Balancer nur mit AWS OpsWorks Stacks verwenden.

Das bedeutet, dass Sie für jede Ebene in jedem Stack, den Sie ausgleichen möchten, einen separaten Elastic Load Balancing Load Balancer erstellen und ihn nur für diesen Zweck verwenden müssen. Es wird empfohlen, jedem Elastic Load Balancing Load Balancer, den Sie mit AWS OpsWorks Stacks verwenden möchten, einen eindeutigen Namen zuzuweisen, z. B. MyStack 1- RailsLayer -ELB, um zu vermeiden, dass ein Load Balancer für mehr als einen Zweck verwendet wird.

Wichtig

Wir empfehlen, neue Elastic Load Balancing Load Balancer für Ihre AWS OpsWorks Stacks-Layer zu erstellen. Wenn Sie sich dafür entscheiden, einen vorhandenen Elastic Load Balancing Load Balancer zu verwenden, sollten Sie zunächst sicherstellen, dass er nicht für andere Zwecke verwendet wird und keine angehängten Instances hat. Nachdem der Load Balancer an die Ebene angehängt wurde, werden alle vorhandenen Instances OpsWorks entfernt und der Load Balancer so konfiguriert, dass er nur die Instances der Ebene verarbeitet. Es ist zwar technisch möglich, die Elastic Load Balancing Balancing-Konsole oder API zu verwenden, um die Konfiguration eines Load Balancers zu ändern, nachdem er an eine Ebene angehängt wurde, aber Sie sollten dies nicht tun, da die Änderungen nicht dauerhaft sind.

So fügen Sie einem Layer einen Elastic Load Balancing Load Balancer hinzu
  1. Falls Sie dies noch nicht getan haben, verwenden Sie die Elastic Load Balancing Balancing-Konsole, API oder CLI, um einen Load Balancer in der Region des Stacks zu erstellen. Wenn Sie einen Load Balancer erstellen, führen Sie die folgenden Schritte aus:

    • Stellen Sie sicher, dass Sie eine Zustandsprüfung für den Ping-Pfad angeben, der für Ihre Anwendung geeignet ist.

      Das Standard-Ping-Pfad ist /index.html. Wenn Ihre Anwendung index.html nicht umfasst, müssen Sie einen entsprechenden Ping-Pfad angeben oder die Zustandsprüfung schlägt fehl.

    • Wenn Sie die Funktion Connection Draining verwenden möchten, stellen Sie sicher, dass die Funktion aktiviert ist und einen geeigneten Zeitüberschreitungswert hat.

    Weitere Informationen finden Sie unter Elastic Load Balancing.

  2. Erstellen Sie den Layer, für den ein Verbindungausgleich erfolgen soll oder bearbeiten Sie die Netzwerk-Einstellungen eines vorhandenen Layers.

    Anmerkung

    Sie können keinen Load Balancer anfügen, wenn Sie einen benutzerspezifischen Layer erstellen. Sie müssen die Layer-Einstellungen bearbeiten.

  3. Wählen Sie unter Elastic Load Balancing den Load Balancer aus, den Sie an den Layer anhängen möchten, und geben Sie an, ob AWS OpsWorks Stacks Connection Draining unterstützen sollen.

Nachdem Sie einen Load Balancer an eine Ebene angehängt haben, löst AWS OpsWorks Stacks ein Configure-Lifecycle-Ereignis auf den Instances des Stacks aus, um sie über die Änderung zu informieren. AWS OpsWorks Stacks löst auch ein Configure-Ereignis aus, wenn Sie einen Load Balancer trennen.

Anmerkung

Nach dem Booten einer Instanz führt AWS OpsWorks Stacks die Setup- und Deploy-Rezepte aus, mit denen Pakete installiert und Anwendungen bereitgestellt werden. Nachdem diese Rezepte abgeschlossen sind, befindet sich die Instance im Online-Status und AWS OpsWorks Stacks registriert die Instance bei Elastic Load Balancing. AWS OpsWorks Stacks löst auch ein Configure-Ereignis aus, nachdem die Instance online gegangen ist. Das bedeutet, dass die Elastic Load Balancing Balancing-Registrierung und die Configure-Rezepte gleichzeitig ausgeführt werden können und die Instance möglicherweise registriert wird, bevor die Configure-Rezepte abgeschlossen sind. Um sicherzustellen, dass ein Rezept abgeschlossen ist, bevor eine Instance bei Elastic Load Balancing registriert wird, sollten Sie das Rezept zu den Lifecycle-Ereignissen Setup oder Deploy des Layers hinzufügen. Weitere Informationen finden Sie unter Ausführen von Rezepten.

Manchmal ist es sinnvoll, eine Instance von einem Load Balancer zu entfernen. Wenn Sie beispielsweise eine Anwendung aktualisieren, empfehlen wir, dass Sie die Anwendung zunächst für eine einzelne Instance bereitstellen und prüfen, ob sie ordnungsgemäß funktioniert, bevor Sie die Anwendung für alle Instances bereitstellen. In der Regel entfernen Sie die Instance aus dem Load Balancer, sodass sie keine Benutzeranforderungen erhält, bis die Aktualisierung überprüft wurde.

Sie müssen die Elastic Load Balancing Balancing-Konsole oder API verwenden, um eine Online-Instance vorübergehend von einem Load Balancer zu entfernen. Im Folgenden wird beschrieben, wie Sie die Konsole verwenden.

Vorübergehendes Entfernen einer Instance von einem Load Balancer
  1. Öffnen Sie die Amazon EC2 EC2-Konsole und wählen Sie Load Balancers.

  2. Wählen Sie einen geeigneten Load Balancer und öffnen Sie die Registerkarte Instances (Instances).

  3. Wählen Sie Remove from Load Balancer (Vom Load Balancer entfernen) in der Spalte Actions (Aktionen) der Instance aus.

  4. Wenn Sie fertig sind, wählen Sie Edit Instances (Instances bearbeiten) aus und schicken die Instance an den Load Balancer zurück.

Wichtig

Wenn Sie die Elastic Load Balancing-Konsole oder API verwenden, um eine Instance aus einem Load Balancer zu entfernen, müssen Sie sie auch mit Elastic Load Balancing wiederherstellen. AWS OpsWorks Stacks ist sich der Operationen, die Sie mit anderen Servicekonsolen oder APIs ausführen, nicht bewusst und gibt die Instance nicht für Sie an den Load Balancer zurück. Manchmal kann AWS OpsWorks Stacks die Instanz wieder zum ELB hinzufügen, aber dieses Verhalten ist nicht garantiert und tritt nicht in allen Fällen auf.

Sie können mehrere Load Balancer an eine bestimmte Gruppe von Instances anfügen:

Anfügen mehrerer Load Balancer
  1. Verwenden Sie die Elastic Load Balancing Balancing-Konsole, API oder CLI, um eine Reihe von Load Balancern zu erstellen.

  2. Erstellen Sie einen benutzerspezifischen Layer für jeden Load Balancer und fügen Sie einen der Load Balancer an. Sie müssen keine benutzerspezifischen Rezepte für diese Layer implementieren, ein Standard-Layer ist ausreichend.

  3. Fügen Sie die Gruppe der Instances jedem benutzerspezifischen Layer hinzu.

Sie können die Eigenschaften eines Load Balancers überprüfen, indem Sie die Seite "Instances" aufrufen und auf den Namen des entsprechenden Load Balancers klicken.

PHP App Server table showing two online instances with their details and status.

Die Seite ELB (ELB) zeigt die grundlegenden Eigenschaften des Load Balancers an, einschließlich seines DNS-Namens und des Zustandsprüfungsstatus der dazugehörigen Instances. Wenn der Stack in einem VPC ausgeführt wird, zeigt die Seite Subnetze statt der Availability Zones an. Ein grünes Häkchen verweist auf eine funktionierende Instance. Klicken Sie auf den Namen, um über den Load Balancer eine Verbindung mit einem Server herzustellen.

ELB My-Stack-PHP settings showing DNS name, layer, region, and instance status.