Zustand der Zielgruppe - Elastic Load Balancing

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.

Zustand der Zielgruppe

Standardmäßig gilt eine Zielgruppe als fehlerfrei, solange sie mindestens ein fehlerfreies Ziel hat. Wenn Sie eine große Flotte haben, reicht es nicht aus, nur ein fehlerfreies Ziel zu haben, das den Datenverkehr bereitstellt. Stattdessen können Sie eine Mindestanzahl oder einen Prozentsatz von Zielen angeben, die fehlerfrei sein müssen, und angeben, welche Aktionen der Load Balancer ergreift, wenn die fehlerfreien Ziele unter den angegebenen Schwellenwert fallen. Dies verbessert die Verfügbarkeit.

Maßnahmen bei fehlerhaftem Zustand

Sie können fehlerhafte Schwellenwerte für die folgenden Aktionen konfigurieren:

  • DNSFailover — Wenn die fehlerfreien Ziele in einer Zone unter den Schwellenwert fallen, markieren wir die IP-Adressen des Load Balancer-Knotens für die Zone in als fehlerhaft. DNS Wenn Clients den DNS Namen des Load Balancers auflösen, wird der Datenverkehr daher nur an fehlerfreie Zonen weitergeleitet.

  • Routing-Failover – Wenn die fehlerfreien Ziele in einer Zone unter den Schwellenwert fallen, sendet der Load Balancer den Datenverkehr an alle Ziele, die für den Load-Balancer-Knoten verfügbar sind, einschließlich fehlerhafter Ziele. Dies erhöht die Wahrscheinlichkeit, dass eine Client-Verbindung erfolgreich ist, insbesondere wenn Ziele vorübergehend die Integritätsprüfungen nicht bestehen, und verringert das Risiko, dass die fehlerfreien Ziele überlastet werden.

Anforderungen und Überlegungen

  • Dieses Feature kann nicht für Zielgruppen verwendet werden, bei denen das Ziel eine Lambda-Funktion ist. Wenn der Application Load Balancer das Ziel eines Network Load Balancer oder Global Accelerators ist, konfigurieren Sie keinen Schwellenwert für DNS ein Failover.

  • Wenn Sie beide Arten von Schwellenwerten für eine Aktion angeben (Anzahl und Prozentsatz), ergreift der Load Balancer die Aktion, wenn einer der Schwellenwerte überschritten wird.

  • Wenn Sie Schwellenwerte für beide Aktionen angeben, muss der Schwellenwert für das DNS Failover größer oder gleich dem Schwellenwert für das Routing-Failover sein, sodass das Failover entweder mit oder vor dem DNS Routing-Failover erfolgt.

  • Wenn Sie den Schwellenwert als Prozentsatz angeben, berechnen wir den Wert dynamisch auf der Grundlage der Gesamtzahl der Ziele, die bei den Zielgruppen registriert sind.

  • Die Gesamtzahl der Ziele hängt davon ab, ob zonenübergreifendes Load Balancing deaktiviert oder aktiviert ist. Wenn zonenübergreifendes Load Balancing deaktiviert ist, sendet jeder Knoten Datenverkehr nur an die Ziele in seiner eigenen Zone, was bedeutet, dass die Schwellenwerte für die Anzahl der Ziele in jeder aktivierten Zone separat gelten. Wenn zonenübergreifende Load Balancing aktiviert ist, sendet jeder Knoten Datenverkehr an alle aktivierten Ziele, was bedeutet, dass die angegebenen Schwellenwerte für die Gesamtanzahl der Ziele in allen aktivierten Zonen gelten.

  • Beim DNS Failover entfernen wir die IP-Adressen für die fehlerhaften Zonen aus dem Hostnamen für den Load Balancer. DNS Der lokale DNS Client-Cache kann diese IP-Adressen jedoch so lange enthalten, bis das time-to-live (TTL) im DNS Datensatz abläuft (60 Sekunden).

  • Wenn ein DNS Failover auftritt, wirkt sich dies auf alle Zielgruppen aus, die dem Load Balancer zugeordnet sind. Stellen Sie sicher, dass Sie in Ihren verbleibenden Zonen über genügend Kapazität verfügen, um diesen zusätzlichen Datenverkehr zu bewältigen, insbesondere wenn das zonenübergreifende Load Balancing deaktiviert ist.

  • Wenn beim DNS Failover alle Load Balancer-Zonen als fehlerhaft eingestuft werden, leitet der Load Balancer Traffic an alle Zonen weiter, auch an die fehlerhaften Zonen.

  • Neben der Frage, ob es genügend fehlerfreie Ziele gibt, die zu einem DNS Failover führen könnten, gibt es noch andere Faktoren, wie z. B. den Zustand der Zone.

Überwachen

Informationen zur Überwachung des Gesundheitszustands Ihrer Zielgruppen finden Sie unter CloudWatch Kennzahlen zur Zielgruppengesundheit.

Beispiel

Im folgenden Beispiel wird veranschaulicht, wie Zustandseinstellungen für Zielgruppen angewendet werden.

Szenario
  • Ein Load Balancer, der zwei Availability Zones, A und B, unterstützt

  • Jede Availability Zone enthält 10 registrierte Ziele

  • Die Zielgruppe hat die folgenden Zustandseinstellungen für Zielgruppen:

    • DNSAusfallsicherung: 50%

    • Routing-Failover – 50 %

  • Sechs Ziele fallen in der Availability Zone B aus

Wenn zonenübergreifendes Load Balancing deaktiviert ist
  • Der Load-Balancer-Knoten in jeder Availability Zone kann Datenverkehr nur an die 10 Ziele in seiner Availability Zone senden.

  • In der Availability Zone A gibt es 10 fehlerfreie Ziele, sodass der erforderliche Prozentsatz fehlerfreier Ziele erreicht wird. Der Load Balancer verteilt weiterhin den Datenverkehr zwischen den 10 fehlerfreien Zielen.

  • In der Availability Zone B gibt es nur 4 fehlerfreie Ziele, was 40 % der Ziele für den Load-Balancer-Knoten in Availability Zone B entspricht. Da dies weniger ist als der erforderliche Prozentsatz fehlerfreier Ziele, ergreift der Load Balancer die folgenden Aktionen:

    • DNSFailover — Availability Zone B ist in als fehlerhaft markiert. DNS Da Clients den Load-Balancer-Namen nicht in den Load-Balancer-Knoten in Availability Zone B auflösen können und Availability Zone A fehlerfrei ist, senden Clients neue Verbindungen zur Availability Zone A.

    • Routing-Failover – Wenn neue Verbindungen explizit an Availability Zone B gesendet werden, verteilt der Load Balancer den Datenverkehr an alle Ziele in Availability Zone B, einschließlich der fehlerhaften Ziele. Dadurch werden Ausfälle bei den verbleibenden fehlerlosen Zielen verhindert.

Wenn zonenübergreifendes Load Balancing aktiviert ist
  • Jeder Load-Balancer-Knoten kann Datenverkehr an alle 20 registrierten Ziele in beiden Availability Zones senden.

  • Es gibt 10 fehlerfreie Ziele in Availability Zone A und 4 fehlerfreie Ziele in Availability Zone B, also insgesamt 14 fehlerfreie Ziele. Das sind 70 % der Ziele für die Load-Balancer-Knoten in beiden Availability Zones, wodurch der erforderliche Prozentsatz fehlerfreier Ziele erreicht wird.

  • Der Load Balancer verteilt den Datenverkehr zwischen den 14 fehlerfreien Zielen in beiden Availability Zones.

Ändern der Zustandseinstellungen der Zielgruppe

Sie können die Zustandseinstellungen für Ihre Zielgruppe wie folgt ändern.

So ändern Sie die Zustandseinstellungen für eine Zielgruppe mithilfe der Konsole
  1. Öffnen Sie die EC2 Amazon-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie im Navigationsbereich unter Load Balancing die Option Load Balancer aus.

  3. Wählen Sie den Namen der Zielgruppe aus, um deren Detailseite zu öffnen.

  4. Klicken Sie auf der Registerkarte Attribute auf Bearbeiten.

  5. Überprüfen Sie, ob zonenübergreifendes Load Balancing aktiviert oder deaktiviert ist. Aktualisieren Sie diese Einstellung nach Bedarf, um sicherzustellen, dass Sie über genügend Kapazität verfügen, um den zusätzlichen Datenverkehr zu bewältigen, falls eine Zone ausfällt.

  6. Erweitern Sie die Anforderungen an den Zustand der Zielgruppe.

  7. Wir empfehlen, dass Sie als Konfigurationstyp die Option Einheitliche Konfiguration wählen, wodurch für beide Aktionen derselbe Schwellenwert festgelegt wird.

  8. Führen Sie für Anforderungen für fehlerfreie Zustände einen der folgenden Schritte aus:

    • Wählen Sie Mindestanzahl fehlerfreier Ziele aus und geben Sie dann eine Zahl zwischen 1 und der maximalen Anzahl von Zielen für Ihre Zielgruppe ein.

    • Wählen Sie Mindestprozentsatz fehlerfreier Ziele und geben Sie dann eine Zahl zwischen 1 und 100 ein.

  9. Wählen Sie Änderungen speichern.

Um die Gesundheitseinstellungen für Zielgruppen zu ändern, verwenden Sie AWS CLI

Verwenden Sie den modify-target-group-attributesBefehl. Im folgenden Beispiel wird der Schwellenwert für den fehlerfreien Zustand für beide Aktionen mit einem fehlerhaften Zustand auf 50 % festgelegt.

aws elbv2 modify-target-group-attributes \ --target-group-arn arn:aws:elasticloadbalancing:region:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 \ --attributes Key=target_group_health.dns_failover.minimum_healthy_targets.percentage,Value=50 \ Key=target_group_health.unhealthy_state_routing.minimum_healthy_targets.percentage,Value=50

Verwenden Sie Route DNS 53-Failover für Ihren Load Balancer

Wenn Sie Route 53 verwenden, um DNS Abfragen an Ihren Load Balancer weiterzuleiten, können Sie den DNS Failover für Ihren Load Balancer auch mithilfe von Route 53 konfigurieren. In einer Failover-Konfiguration prüft Route 53 die Integrität der Zielgruppen für den Load Balancer, um zu ermitteln, ob diese verfügbar sind. Wenn keine funktionsfähigen Ziele für den Load Balancer registriert sind oder der Load Balancer selbst fehlerhaft ist, leitet Route 53 den Datenverkehr an eine andere verfügbare Ressource, z. B. einen fehlerfreien Load Balancer oder eine statische Website in Amazon S3, weiter.

Beispiel: Sie haben eine Webanwendung www.example.com und möchten, dass redundante Instances hinter zwei Load Balancers in verschiedenen Regionen laufen. Sie möchten, dass der Datenverkehr in erster Linie auf den Load Balancer in einer Region weitergeleitet wird, und der Load Balancer in der anderen Region soll bei Ausfällen als Sicherung dienen. Wenn Sie DNS Failover konfigurieren, können Sie Ihre primären und sekundären (Backup-) Load Balancer angeben. Route 53 leitet den Datenverkehr direkt zum primären Load Balancer, und wenn dieser nicht verfügbar ist, wird der Datenverkehr zum sekundären Load Balancer geleitet.

Verwenden von „Zielintegrität auswerten“
  • Wenn die Option „Zielintegrität auswerten“ für einen Aliaseintrag für einen Application Load Balancer auf Yes festgelegt ist, wertet Route 53 die Integrität der durch den alias target-Wert angegebenen Ressource aus. Für einen Application Load Balancer verwendet Route 53 die mit dem Load Balancer verknüpften Zustandsprüfungen für Zielgruppen.

  • Wenn alle Zielgruppen in einem Application Load Balancer fehlerfrei sind, markiert Route 53 den Aliaseintrag als fehlerfrei. Wenn eine Zielgruppe mindestens ein gesundes Ziel enthält, ist die Zustandsprüfung für die Zielgruppe erfolgreich. Route 53 gibt dann Datensätze gemäß Ihrer Routing-Richtlinie zurück. Wenn die Failover-Routing-Richtlinie verwendet wird, gibt Route 53 den primären Datensatz zurück.

  • Wenn eine der Zielgruppen in einem Application Load Balancer fehlerhaft ist, besteht der Aliaseintrag die Route-53-Zustandsprüfung (Fail-Open) nicht. Bei Verwendung von „Zielintegrität auswerten“ würde dies die Failover-Routing-Richtlinie nicht erfüllen.

  • Wenn alle Zielgruppen in einem Application Load Balancer leer sind (keine Ziele), betrachtet Route 53 den Datensatz als fehlerhaft (Fail-Open). Bei Verwendung von „Zielintegrität auswerten“ würde dies die Failover-Routing-Richtlinie nicht erfüllen.

Weitere Informationen finden Sie unter Configuring DNS Failover im Amazon Route 53 Developer Guide.