Konfigurieren eines Network Load Balancers - AWS Elastic Beanstalk

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.

Konfigurieren eines Network Load Balancers

Wenn Sie enable load balancing (Load Balancing aktivieren), ist in der AWS Elastic Beanstalk-Umgebung ein Elastic-Load-Balancing-Load-Balancer vorhanden, mit dem der Datenverkehr auf die Instances in der Umgebung verteilt wird. Elastic Load Balancing unterstützt verschiedene Load Balancer-Typen. Weitere Informationen dazu finden Sie im Elastic Load Balancing-Benutzerhandbuch. Elastic Beanstalk kann einen Load Balancer für Sie erstellen oder Sie einen von Ihnen erstellten freigegebenen Load Balancer angeben lassen.

Dieses Thema beschreibt die Konfiguration eines Network Load Balancers, den Elastic Beanstalk erstellt und Ihrer Umgebung zuweist. Weitere Informationen zur Konfiguration aller Load Balancer-Typen, die Elastic Beanstalk unterstützt, finden Sie unter Load Balancer Ihrer Elastic-Beanstalk-Umgebung.

Anmerkung

Sie können den Typ des Load Balancer, den Ihre Umgebung verwendet, nur während der Erstellung der Umgebung wählen. Sie können Einstellungen ändern, um das Verhalten des Load Balancer Ihrer laufenden Umgebung zu verwalten, Sie können allerdings seinen Typ nicht ändern.

Einführung

Mit einem Network Load Balancer akzeptiert der standardmäßige Listener TCP-Anfragen auf Port 80 und leitet sie an die Instances in Ihrer Umgebung weiter. Sie können Zustandsprüfungsverhalten konfigurieren, den Listener-Port konfigurieren oder einen Listener zu einem anderen Port hinzufügen.

Anmerkung

Im Gegensatz zu einem Classic Load Balancer oder einem Application Load Balancer kann ein Network Load Balancer keine HTTP- oder HTTPS-Listener der Anwendungsschicht (Schicht 7) haben. Er unterstützt nur TCP-Listener auf Transportebene (Ebene 4). HTTP- und HTTPS-Datenverkehr kann über TCP an Ihre Umgebung weitergeleitet werden. Um sichere HTTPS-Verbindungen zwischen Web-Clients und Ihrer Umgebung aufzubauen, installieren Sie ein selbstsigniertes Zertifikat auf den Instances in der Umgebung und konfigurieren Sie die Instances so, dass sie auf dem entsprechenden Port (typischerweise Port 443) überwachen und HTTPS-Verbindungen beenden. Die Konfiguration variiert je nach Plattform. Detaillierte Anweisungen finden Sie unter Konfigurieren Ihrer Anwendung, um HTTPS-Verbindungen auf der Instance zu beenden. Anschließend konfigurieren Sie Network Load Balancer so, dass ein Listener hinzugefügt wird, der einem Prozess zugeordnet wird, der auf dem entsprechenden Port überwacht.

Ein Network Load Balancer unterstützt aktive Zustandsprüfungen. Diese Prüfungen basieren auf Nachrichten an den Stamm-Pfad (/). Darüber hinaus unterstützt ein Network Load Balancer passive Zustandsprüfungen. Er erkennt automatisch fehlerhafte Backend-Instances und leitet den Datenverkehr nur an stabile Instances.

Network Load Balancer mit der Elastic Beanstalk-Konsole konfigurieren

Sie können die Elastic Beanstalk-Konsole verwenden, um die Listener und Prozesse eines Network Load Balancers während der Erstellung der Umgebung oder später (wenn Ihre Umgebung bereits ausgeführt wird) zu konfigurieren.

So konfigurieren Sie einen Network Load Balancer in der Elastic Beanstalk-Konsole während der Erstellung der Umgebung:
  1. Öffnen Sie die Elastic-Beanstalk-Konsole und wählen Sie in der Liste Regions (Regionen) Ihre AWS-Region aus.

  2. Wählen Sie im Navigationsbereich Environments (Umgebungen) aus.

  3. Wählen Sie Create a new environment (Neue Umgebung erstellen), um mit der Erstellung Ihrer Umgebung zu beginnen.

  4. Wählen Sie auf der Hauptseite des Assistenten zuerst Configure more options (Weitere Optionen konfigurieren) und dann Create environment (Umgebung erstellen) aus.

  5. Wählen Sie die Konfigurationsvoreinstellung High availability (Hohe Verfügbarkeit) aus.

    Alternativ können Sie in der Konfigurationskategorie Capacity (Kapazität) einen Umgebungstyp mit Load balanced (Lastenverteilung) konfigurieren. Details hierzu finden Sie unter Capacity (Kapazität).

  6. Wählen Sie in der Konfigurationskategorie Load Balancer die Option Edit (Bearbeiten) aus.

  7. Wählen Sie die Option Network Load Balancer aus, falls sie nicht bereits ausgewählt ist.

    Elastic Load Balancing-Konfigurationsseite – Auswahl des Load Balancer-Typs
  8. Nehmen Sie alle Konfigurationsänderungen am Network Load Balancer vor, die für Ihre Umgebung erforderlich sind.

  9. Wählen Sie Save (Speichern) aus und nehmen Sie dann alle weiteren Konfigurationsänderungen für Ihre Umgebung vor.

  10. Wählen Sie Create environment (Umgebung erstellen) aus.

So konfigurieren Sie den Network Load Balancer einer laufenden Umgebung in der Elastic Beanstalk-Konsole:
  1. Öffnen Sie die Elastic-Beanstalk-Konsole und wählen Sie in der Liste Regions (Regionen) Ihre AWS-Region aus.

  2. Wählen Sie im Navigationsbereich Environments (Umgebungen) aus und wählen Sie dann in der Liste den Namen Ihrer Umgebung aus.

    Anmerkung

    Wenn Sie viele Umgebungen haben, verwenden Sie die Suchleiste, um die Umgebungsliste zu filtern.

  3. Wählen Sie im Navigationsbereich Configuration (Konfiguration) aus.

  4. Wählen Sie in der Konfigurationskategorie Load Balancer die Option Edit (Bearbeiten) aus.

    Anmerkung

    Ist in der Konfigurationskategorie Load balancer die Schaltfläche Edit (Bearbeiten) nicht vorhanden, verfügt Ihre Umgebung über keinen Load Balancer. Informationen zur Einrichtung finden Sie unter Ändern des Umgebungstyps.

  5. Nehmen Sie die Konfigurationsänderungen am Network Load Balancer vor, die Ihre Umgebung erfordert.

  6. Wählen Sie unten auf der Seite die Option Apply (Anwenden) aus, um die Änderungen zu speichern.

Network Load Balancer-Einstellungen

Listener

Verwenden Sie diese Liste, um Listener für Ihren Load Balancer anzugeben. Jeder Listener leitet den eingehenden Client-Datenverkehr eines bestimmten Ports an einen Prozess auf Ihren Instances weiter. Anfänglich wird in der Liste der Standard-Listener angezeigt, der eingehenden Datenverkehr auf Port 80 an einen Prozess mit der Bezeichnung default (Standard) weiterleitet, der Port 80 überwacht.

Network Load Balancer-Konfiguration – Listener-Liste
So konfigurieren Sie einen vorhandenen Listener
  1. Aktivieren Sie das Kontrollkästchen neben seinem Tabelleneintrag und wählen Sie dann Actions (Aktionen), Edit (Bearbeiten) aus.

  2. Verwenden Sie das Dialogfeld Network Load Balancer listener, um die Einstellungen zu bearbeiten, und wählen Sie dann Save (Speichern) aus.

So fügen Sie einen Listener hinzu
  1. Wählen Sie Add listener (Listener hinzufügen) aus.

  2. Konfigurieren Sie im Dialogfeld Network Load Balancer listener die erforderlichen Einstellungen und wählen Sie dann Add (Hinzufügen) aus.

Verwenden Sie das Dialogfeld Network Load Balancer listener, um den Port zu konfigurieren, dessen Datenverkehr der Listener überwachen soll, und um den Prozess auszuwählen, an den Sie den Datenverkehr weiterleiten möchten (der durch den Port angegeben wird, den der Prozess überwacht).

Dialogfeld für Network Load Balancer-Listener

Prozesse

Verwenden Sie diese Liste, um Prozesse für Ihren Load Balancer anzugeben. Ein Prozess ist ein Ziel für Listener, an das Datenverkehr weitergeleitet wird. Jeder Listener leitet den eingehenden Client-Datenverkehr eines bestimmten Ports an einen Prozess auf Ihren Instances weiter. Anfänglich zeigt die Liste den Standardprozess, der eingehenden Datenverkehr auf Port 80 überwacht.

Network Load Balancer-Konfiguration – Prozessliste

Sie können die Einstellungen eines vorhandenen Prozesses bearbeiten oder einen neuen Prozess hinzufügen. Um mit dem Bearbeiten eines Prozesses auf der Liste zu beginnen oder Prozesse zur Liste hinzuzufügen, verwenden Sie dieselben Schritte, die für die Liste der Listener aufgelistet sind. Das Dialogfeld Environment process (Umgebungsprozess) wird geöffnet.

Einstellungen des Prozess-Dialogfelds für Network Load Balancer-Umgebung

Definition

Verwenden Sie diese Einstellungen zum Definieren des Prozesses: Name und Process port (Prozess-Port) für die Überwachung auf Anforderungen.

Dialogfeldeinstellungen für den Network Load Balancer-Prozess für Name, Listener-Port und Prozess-Port

Zustandsprüfung

Verwenden Sie die folgenden Einstellungen zum Konfigurieren von Zustandsprüfungen für den Prozess:

  • Interval (Intervall) – Der Zeitraum in Sekunden zwischen Zustandsprüfungen einer einzelnen Instance

  • Healthy threshold (Schwellenwert für fehlerfreien Zustand) – Die Anzahl der Zustandsprüfungen, die bestanden sein müssen, bevor Elastic Load Balancing den Zustand der Instance ändert. (Für Network Load Balancer ist Unhealthy threshold (Schwellenwert für fehlerhaften Zustand) eine schreibgeschützte Einstellung, die immer gleich dem Wert des Schwellenwerts für fehlerfreien Zustand ist.)

  • Deregistration delay (Verzögerung der Registrierungsaufhebung) – Die Zeit in Sekunden, die gewartet werden muss, bis aktive Anforderungen abgeschlossen sind, ehe eine Instance abgemeldet wird

Prozess-Dialogfeldeinstellungen für Network Load Balancer-Prozesses für die Zustandsprüfung
Anmerkung

Die Zustandsprüfung für Elastic Load Balancing hat keinen Einfluss auf das Verhalten der Zustandsprüfung der Auto Scaling-Gruppe einer Umgebung. Instances, die eine Elastic Load Balancing Zustandsprüfung nicht bestehen, werden nicht automatisch durch Amazon EC2 Auto Scaling ersetzt, es sei denn, Sie konfigurieren Amazon EC2 Auto Scaling manuell entsprechend. Details dazu finden Sie unter Zustandsprüfungseinstellung für Auto-Scaling.

Weitere Informationen zu Zustandsprüfungen und deren Auswirkungen auf den Gesamtstatus der Umgebung finden Sie unter Grundlegende Zustandsberichte.

Beispiel: Network Load Balancer für eine Umgebung mit End-to-End-Verschlüsselung

In diesem Beispiel erfordert Ihre Anwendung eine End-to-End-Datenverkehrsverschlüsselung. Um Network Load Balancer Ihrer Umgebung so zu konfigurieren, dass er diese Anforderungen erfüllt, konfigurieren Sie den Standardprozess so, dass er Port 443 überwacht, fügen Sie einen Listener zu Port 443 hinzu, der den Datenverkehr an den Standardprozess weiterleitet, und deaktivieren Sie den Standard-Listener.

So konfigurieren Sie den Load Balancer für dieses Beispiel
  1. Konfigurieren Sie den Standardprozess. Wählen Sie den Standardprozess aus und wählen Sie dann für Actions (Aktionen) die Option Edit (Bearbeiten) aus. Für Process port (Prozess-Port) geben Sie 443 ein.

    Network Load Balancer-Konfigurationsbeispiel – Konfiguration des Standardprozesses für Prozess-Port 443
  2. Fügen Sie einen Listener auf Port 443 hinzu. Fügen Sie einen neuen Listener hinzu. Geben Sie für Listener port (Listener-Port) den Wert 443 ein. Stellen Sie bei Process port (Prozess-Port) sicher, dass 443 ausgewählt ist.

    Konfigurationsbeispiel für Network Load Balancer – Hinzufügen eines Listeners für Port 443

    Sie können nun Ihre zusätzlichen Listener auf der Liste sehen.

    Konfigurationsbeispiel für Network Load Balancer – Listener-Liste mit zwei Listenern
  3. Deaktivieren Sie den Listener am Standardport 80. Deaktivieren Sie für den Standard-Listener die Option Enabled (Aktiviert).

    Konfigurationsbeispiel für Network Load Balancer – Deaktivierung des Standard-Listeners

Network Load Balancer mit der EB CLI konfigurieren

Sie werden von der EB CLI aufgefordert, einen Load Balancer-Typ auszuwählen, wenn Sie eb create ausführen.

$ eb create Enter Environment Name (default is my-app): test-env Enter DNS CNAME prefix (default is my-app): test-env-DLW24ED23SF Select a load balancer type 1) classic 2) application 3) network (default is 1): 3

Sie können auch einen Load Balancer-Typ mit der --elb-type-Option angeben.

$ eb create test-env --elb-type network

Network Load Balancer-Namespaces

Sie finden Einstellungen im Zusammenhang mit Network Load Balancers in den folgenden Namespaces:

  • aws:elasticbeanstalk:environment – Wählen Sie den Load Balancer-Typ für die Umgebung aus. Der Wert für einen Network Load Balancer ist network.

  • aws:elbv2:listener – Konfigurieren Sie Listener für den Network Load Balancer. Diese Einstellungen entsprechen den Einstellungen in aws:elb:listener für Classic Load Balancer.

  • aws:elasticbeanstalk:environment:process – Konfigurieren Sie Zustandsprüfungen und geben Sie den Port und das Protokoll für die Prozesse an, die auf den Instances Ihrer Umgebung ausgeführt werden. Die Port- und Protokolleinstellungen entsprechen den Instance-Port und Instance-Protokoll-Einstellungen in aws:elb:listener für einen Listener auf einem Classic Load Balancer. Zustandsprüfungseinstellungen entsprechen den Einstellungen in den Namespaces aws:elb:healthcheck und aws:elasticbeanstalk:application.

Beispiel
.ebextensions/network-load-balancer.config

Für die ersten Schritte mit einem Network Load Balancer verwenden Sie eine Konfigurationsdatei, um den Load Balancer-Typ auf network festzulegen.

option_settings: aws:elasticbeanstalk:environment: LoadBalancerType: network
Anmerkung

Sie können den Load Balancer-Typ nur während der Umgebungserstellung festlegen.

Beispiel
.ebextensions/nlb-default-process.config

Die folgende Konfigurationsdatei ändert Zustandsprüfungseinstellungen auf dem Standardprozess.

option_settings: aws:elasticbeanstalk:environment:process:default: DeregistrationDelay: '20' HealthCheckInterval: '10' HealthyThresholdCount: '5' UnhealthyThresholdCount: '5' Port: '80' Protocol: TCP
Beispiel .ebextensions/nlb-secure-listener.config

Die folgende Konfigurationsdatei fügt einen Listener für sicheren Datenverkehr auf Port 443 sowie einen entsprechenden Zielprozess hinzu, der Port 443 überwacht.

option_settings: aws:elbv2:listener:443: DefaultProcess: https ListenerEnabled: 'true' aws:elasticbeanstalk:environment:process:https: Port: '443'

Die Option DefaultProcess hat diesen Namen wegen Application Load Balancers, die Nicht-Standard-Listener auf demselben Port für Datenverkehr auf bestimmten Pfaden haben können (siehe Application Load Balancer, um weitere Informationen zu erhalten). Bei einem Network Load Balancer gibt die Option den einzigen Zielprozess für diesen Listener an.

In diesem Beispiel haben wir den Prozess https genannt, da er sicheren (HTTPS) Datenverkehr überwacht. Der Listener sendet den Datenverkehr über das TCP-Protokoll an den Prozess auf dem festgelegten Port, da ein Network Load Balancer nur mit TCP funktioniert. Das ist in Ordnung, da der Netzwerkdatenverkehr für HTTP und HTTPS zusätzlich zu TCP implementiert ist.