Complete a 3 Question Survey and Earn a re:Post Badge
Help improve AWS Support Official channel in re:Post and share your experience - complete a quick three-question survey to earn a re:Post badge!
Wie richte ich pfadbasiertes Routing auf einem Application Load Balancer ein?
Ich plane mehrere Microservices hinter meinem Application Load Balancer auszuführen. Ich möchte Anfragen anhand des URL-Pfads an bestimmte Zielgruppen weiterleiten.
Kurzbeschreibung
Du kannst einen Application Load Balancer verwenden, um einen Listener mit Regeln zu erstellen, der Anfragen anhand der URL an Zielgruppen weiterleitet. Die Pfadmusterregeln gelten nur für den Pfad der URL und nicht für die Abfrageparameter der URL. Weitere Informationen zu Pfadmustern findest du unter Pfadbedingungen.
Hinweis: Diese Funktion wird für Classic Load Balancer, Network Load Balancer oder Gateway Load Balancer nicht unterstützt.
Gehe wie folgt vor, um pfadbasiertes Routing auf dem Application Load Balancer einzurichten:
- Erstelle eine Zielgruppe.
- Konfiguriere die Listener-Regeln.
Voraussetzungen:
- Starte die Amazon Elastic Compute Cloud (Amazon EC2)-Instances in einer Amazon Virtual Private Cloud (Amazon VPC). Weitere Informationen findest du unter Erste Schritte mit Amazon EC2.
- Überprüfe die Ziel-Sicherheitsgruppen dieser Amazon EC2-Instances ermöglichen den Zugriff auf den Listener-Port und den Zustandsprüfungs-Port.
- Stelle die Anwendung auf den Amazon EC2-Instances bereit, die du bei Zielgruppen registrieren möchtest. Sieh dir zum Beispiel das Tutorial an: Installiere einen LAMP-Server auf Amazon AL2023.
- Erstelle einen Application Load Balancer.
Lösung
Eine Zielgruppe erstellen
Nachdem du die Instances erstellt hast, registriere sie bei einer Zielgruppe. Basierend auf den konfigurierten Listener-Regeln sendet der Application Load Balancer Anfragen an registrierte Ziele, die auf dem von dir angegebenen Port und Protokoll basieren. Du kannst die Portinformationen jedoch überschreiben, wenn du Ziele einzeln registrierst. Weitere Informationen findest du unter Eine Zielgruppe für den Application Load Balancer erstellen.
Angenommen, du hast zwei Dienste, Service A und Service B. Die Anwendungen, auf denen diese Dienste ausgeführt werden, verwenden Port 80. Service A führt eine Anwendung auf dem Pfad /svcA aus, und Service B führt eine Anwendung auf dem Pfad /svcB aus.
- Du erstellst zwei Zielgruppen mit Protokoll als HTTP und Port als 80, für die jeweils eine Anwendung bereitgestellt wird.
- Du registrierst die Amazon EC2-Instance, die Service A ausführt, bei target-group-A. Für diese Zielgruppe kannst du HealthCheckProtocol als HTTP und HealthCheckPath als /svcA festlegen.
- Du registrierst die Amazon EC2-Instance, die Service B ausführt, bei target-group-B. Für diese Zielgruppe kannst du HealthCheckProtocol als HTTP und HealthCheckPath als /svcB festlegen.
Du kannst den Zielgruppen jederzeit Ziele hinzufügen oder aus ihnen entfernen. Weitere Informationen findest du unter Ziele bei der Application Load Balancer-Zielgruppe registrieren.
Nachdem du eine Zielgruppe angegeben hast, überwacht der Load Balancer kontinuierlich den Zustand aller Ziele, die sich in der aktivierten Availability Zone befinden. Der Load Balancer leitet Anfragen an die registrierten Ziele weiter, die fehlerfrei sind. Weitere Informationen findest du unter Zustandsprüfungen für Application Load Balancer-Zielgruppen.
Listener-Regeln konfigurieren
Wenn Sie einen Listener für einen Application Load Balancer erstellen, können Sie zusätzlich zur Standardregel eine oder mehrere Regeln definieren. Eine Regel besteht aus einer Priorität, einer Aktion und einer oder mehreren Bedingungen. Du kannst keine Bedingungen für die Standardregel definieren. Wenn keine der Bedingungen für die definierten Regeln erfüllt sind, wird die Aktion für die Standardregel ausgeführt.
- Weitere Informationen zur Regelpriorität findest du unter Regelpriorität aktualisieren.
- Weitere Informationen zu Regelaktionen findest du unter Regelaktionstypen.
- Weitere Informationen zu Regelbedingungen finden Sie unter Regelbedingungstypen.
Um pfadbasiertes Routing auf einem Application Load Balancer zu implementieren, musst du Listener-Regeln konfigurieren. Konfiguriere eine Regel für jedes Pfadmuster, auf dessen Grundlage du die Anfragen weiterleiten möchtest.
Beispiel für Listener-Regeln
Das folgende Beispiel zeigt Listener-Regeln für Service A und B:
Listener-Regel 1: Wenn die Anfrage-URL-Pfad die Zeichenfolge /svcA enthält, leite die Anfrage an target-group-A weiter. Das machst du, weil target-group-A den Service A enthält, der eine Anwendung auf dem angegebenen Pfad ausführt.
Listener-Regel 2: Wenn die Anfrage-URL-Pfad die Zeichenfolge /svcB enthält, leite diese Anfrage an target-group-B weiter. Dies liegt daran, dass target-group-B den Service B enthält, der eine Anwendung auf dem angegebenen Pfad ausführt.
- Informationen zum Erstellen eines neuen HTTP-Listeners findest du unter Erstellen eines HTTP-Listeners für den Application Load Balancer.
- Informationen zum Erstellen eines neuen HTTPS-Listeners findest du unter Erstellen eines HTTPS-Listeners für den Application Load Balancer.
Führe die folgenden Schritte aus, um die Listener-Regeln mit Bedingungen und Aktionen zu aktualisieren:
- Öffne die Amazon-EC2-Konsole.
- Wähle im Navigationsbereich unter Lastausgleich die Option Load Balancer.
- Wähle den Load Balancer und dann Listeners und Regeln.
- Um den Listener zu aktualisieren, wähle die Registerkarte Listener und Regeln und wähle dann den Text in der Spalte Protocol:Port aus, um die Detailseite für den Listener zu öffnen.
- Wähle auf der Registerkarte Regeln im Abschnitt Listener-Regeln die Regel aus, die du bearbeiten möchtest.
- Wähle Aktionen und dann Regel bearbeiten.
- Wähle Regeln hinzufügen.
- Ändere den Namen und die Tags nach Bedarf. Um weitere Tags hinzuzufügen, wähle Zusätzliche Tags hinzufügen.
- Wähle Weiter.
- Um eine pfadbasierte Regel für /svcA hinzuzufügen, wähle Bedingung hinzufügen, Pfad und gib dann das Pfadmuster /svcA ein. Wähle Bestätigen.
- Wähle Weiter.
- Um eine Weiterleitungsaktion hinzuzufügen, wähle Routing-Aktionen als „An Zielgruppen weiterleiten“ und wähle dann im Menü die Zielgruppe target-group-A.
- Wähle Weiter.
- Wähle die entsprechende Priorität.
- Überprüfe die Angaben und aktualisierten Konfigurationen für die Regel. Wenn du mit der Auswahl zufrieden bist, wähle Änderungen speichern.
Wiederhole die vorherigen Schritte für den Pfad /svcB mit den folgenden Änderungen:
- Gib für Schritt 10 das Pfadmuster /svcB ein.
- Wähle für Schritt 12 die Zielgruppe target-group-B.
Weitere Informationen findest du unter Listener-Regeln für den Application Load Balancer.
**Hinweis:**Pfadbasierte Routing-Regeln suchen nach einer exakten Übereinstimmung. Wenn die Anwendung erfordert, dass Anfragen auf diesen Pfaden weiter weitergeleitet werden, füge einen Platzhalter in die Bedingung für die pfadbasierte Routing-Regel ein. Verwende Pfadmuster, die /svcA* oder /svcB* ähneln, um beim Weiterleiten von Anfragen alle Dokumente auf diesen Pfaden zu berücksichtigen.
Pfadbasiertes Routing testen
Um pfadbasiertes Routing zu testen, kopiere den DNS-Namen des Application Load Balancers in einen Webbrowser und füge dann den URL-Pfad /svcA oder /svcB hinzu.
Angenommen, der Application Load Balancers hat alb-demo-1234567890.us-west-2.elb.amazonaws.com als DNS-Namen.
- http://alb-demo-1234567890.us-west-2.elb.amazonaws.com/svcA muss Service A zurückgeben.
- http://alb-demo-1234567890.us-west-2.elb.amazonaws.com/svcB muss Service B zurückgeben.
Wenn der Application Load Balancer-Listener die Anfrage empfängt, leitet der Listener diese Anfrage basierend auf der Pfadbedingung an die entsprechende Zielgruppe weiter.
Wenn du pfadbasiertes Routing verwendest, kannst du mehrere Microservices hinter einem einzigen Application Load Balancer hosten. Du kannst den Datenverkehr auf der Grundlage von Listener-Regeln und Zielgruppen an jeden Service weiterleiten. Du kannst den Datenverkehr auch auf der Grundlage von Bedingungen wie Host-Header, User-Agent-Header oder Parameterwerte für Abfragen weiterleiten. Weitere Informationen findest du unter Erweitertes Anforderungsrouting für AWS Application Load Balancers.
Ähnliche Informationen
So behebt man fehlgeschlagene Zustandsprüfungen für den Application Load Balancer

Relevanter Inhalt
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor 2 Jahren