Erstellen eines Application Load Balancers - Amazon ECS

Erstellen eines Application Load Balancers

In diesem Abschnitt wird das Erstellen eines Application Load Balancer in AWS Management Console erklärt. Weitere Informationen zum Erstellen eines Application Load Balancers mit der AWS CLI finden Sie unter Tutorial: Erstellen eines Application Load Balancers mit der AWS CLI im Benutzerhandbuch zu Application Load Balancer.

In diesem Abschnitt wird das Erstellen eines Application Load Balancer in AWS Management Console erklärt. Weitere Informationen zum Erstellen eines Application Load Balancers mit der AWS CLI finden Sie unter Tutorial: Erstellen eines Application Load Balancers mit der AWS CLI im Benutzerhandbuch zu Application Load Balancer.

Konfigurieren einer Zielgruppe für das Routing

In diesem Abschnitt erstellen Sie eine Zielgruppe für Ihren Load Balancer sowie die Zustandsprüfungskriterien für Ziele, die innerhalb dieser Gruppe registriert sind.

Die einzelnen Zielgruppen werden verwendet, um Anfragen an ein oder mehrere registrierte Ziele weiterzuleiten. Wenn die Bedingung einer Regel erfüllt ist, wird der Datenverkehr an die entsprechende Zielgruppe weitergeleitet.

Ihr Load Balancer verteilt den Datenverkehr zwischen den Zielen, die für seine Zielgruppen registriert sind. Wenn Sie eine Zielgruppe mit einem Amazon-ECS-Service verknüpfen, meldet Amazon ECS Container bei Ihrer Zielgruppe automatisch an und ab. Da Amazon ECS die Zielregistrierung übernimmt, fügen Sie zu diesem Zeitpunkt keine Ziele zu Ihrer Zielgruppe hinzu.

Erstellen einer Zielgruppe

  1. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie im Navigationsbereich unter Load Balancing die Option Target Groups (Zielgruppen) aus.

  3. Wählen Sie Create target group (Zielgruppe erstellen) aus.

  4. Wählen Sie unter Choose a target type (Zieltyp auswählen) den Zieltyp aus.

    Wichtig

    Wenn die Aufgabendefinition Ihres Service den awsvpc-Netzwerkmodus verwendet (der für den Fargate-Starttyp erforderlich ist), müssen Sie IP addresses (IP-Adressen) als Zieltyp auswählen. Dies liegt daran, dass Aufgaben, die den awsvpc-Netzwerkmodus verwenden, einer Elastic-Network-Schnittstelle und nicht einer Amazon-EC2-Instance zugeordnet sind.

  5. Geben Sie im Feld Target group name (Zielgruppenname) einen Namen für die neue Zielgruppe ein. Dieser Name muss für jede Region und jedes Konto eindeutig sein, darf maximal 32 Zeichen lang sein, darf nur alphanumerische Zeichen oder Bindestriche enthalten und darf nicht mit einem Bindestrich beginnen oder enden.

  6. (Optional) Ändern Sie ggf. die Standardwerte im Feld Protocol (Protokoll) und Port nach Bedarf.

  7. Wenn der Zieltyp IP addresses (IP-Adressen) ist, wählen Sie IPv4.

  8. Wählen Sie im Feld VPC eine Virtual Private Cloud (VPC) aus. Beachten Sie, dass für die Zieltypen von IP addresses (IP-Adressen) diejenigen VPCs zur Auswahl stehen, die den IP address type (IP-Adresstyp) unterstützen, den Sie im vorherigen Schritt ausgewählt haben.

  9. (Optional) Übernehmen Sie für Protocol version (Protokollversion) die Standardeinstellung.

  10. (Optional) Behalten Sie im Abschnitt Health checks (Zustandsprüfungen) die Standardeinstellungen bei.

  11. (Optional) Fügen Sie einen oder mehrere Tags wie folgt hinzu:

    1. Erweitern Sie den Abschnitt Tags.

    2. Wählen Sie Add tag.

    3. Geben Sie den Tag-Schlüssel und den Tag-Wert ein.

  12. Wählen Sie Next (Weiter).

  13. Wählen Sie Create target group (Zielgruppe erstellen) aus.

Definieren des Load Balancer

Stellen Sie zunächst grundlegende Konfigurationsinformationen für Ihren Load Balancer bereit, beispielsweise einen Namen, ein Netzwerk und einen Listener.

Ein Listener ist ein Prozess, der Verbindungsanfragen überprüft. Er wird mit einem Protokoll und einem Port für Frontend-Verbindungen (Client zu Load Balancer) sowie einem Protokoll und einem Port für Backend-Verbindungen (Load Balancer zu Backend-Instance) konfiguriert. In diesem Beispiel konfigurieren Sie einen Listener, der HTTP-Anforderungen an Port 80 annimmt und sie über HTTP an die Container in Ihren Aufgaben an Port 80 sendet.

So konfigurieren Sie Load Balancer und Listener

  1. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.

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

  3. Klicken Sie auf Create Load Balancer.

  4. Wählen Sie unter Application Load Balancer Create (Erstellen) aus.

  5. Führen Sie unter Basic configuration (Grundlegende Konfiguration) die folgenden Schritte aus:

    1. Geben Sie im Feld Load balancer name (Name der Lastenverteilung) einen Namen für Ihren Load Balancer ein. Beispiel, my-alb. Der Name Ihres Application Load Balancers muss innerhalb Ihrer Gruppe von Application Load Balancers und Network Load Balancers für die Region eindeutig sein. Namen dürfen maximal 32 Zeichen lang sein und dürfen nur alphanumerische Zeichen und Bindestriche enthalten. Sie dürfen nicht mit einem Bindestrich oder mit internal- beginnen oder enden.

    2. Wählen Sie für Scheme (Schema) entweder Internet-facing (Mit dem Internet verbunden) oder Internal (Intern) aus. Ein mit dem Internet verbundener Load Balancer leitet Anfragen von Clients über das Internet an Ziele weiter. Ein interner Load Balancer leitet Anforderungen an Ziele unter Verwendung privater IP-Adressen weiter.

    3. Wählen Sie für IP address type (IP-Adresstyp) IPv4 oder Dualstack aus. Verwenden Sie IPv4, wenn Ihre Clients IPv4-Adressen verwenden, um mit dem Load Balancer zu kommunizieren. Wählen Sie Dualstack, wenn Ihre Clients sowohl IPv4- als auch IPv6-Adressen verwenden, um mit dem Load Balancer zu kommunizieren.

  6. Führen Sie unter Network mapping (Netzwerk-Mapping) einen der folgenden Schritte aus:

    1. Wählen Sie für VPC dieselbe VPC aus, die Sie für die Container-Instances verwendet haben, auf denen Sie Ihren Service ausführen möchten.

    2. Aktivieren Sie für Mappings das Kontrollkästchen für die Availability Zones, die Sie für Ihren Load Balancer verwenden möchten. Wenn es nur ein Subnetz für diese Availability Zone gibt, ist es ausgewählt. Wenn es mehr als ein Subnetz für diese Availability Zone gibt, wählen Sie eines der Subnetze aus. Sie können nur ein Subnetz pro Availability Zone auswählen. Die Subnetzkonfiguration Ihres Load Balancers muss alle Availability Zones enthalten, in denen sich Ihre Container-Instances befinden.

  7. Gehen Sie unter Security groups (Sicherheitsgruppen) wie folgt vor:

    Für die Security groups (Sicherheitsgruppen) können Sie eine vorhandene Sicherheitsgruppe auswählen oder eine neue erstellen.

    Die Sicherheitsgruppe für Ihren Load Balancer ermöglicht die Kommunikation mit registrierten Zielen sowohl auf dem Listener-Port als auch auf dem Zustandsprüfungs-Port. Die Konsole kann eine Sicherheitsgruppe für Ihren Load Balancer mit Regeln erstellen, die diese Kommunikation zulassen. Sie können auch eine Sicherheitsgruppe erstellen und diese stattdessen auswählen. Informationen zum Erstellen einer Sicherheitsgruppe finden Sie unter Sicherheitsgruppen für Ihren Application Load Balancer in Elastic Load Balancing Application Load Balancers.

    (Optional) Um eine neue Sicherheitsgruppe für Ihren Load Balancer zu erstellen, wählen Sie Create a new security group (Neue Sicherheitsgruppe erstellen) aus.

  8. Gehen Sie unter Listeners and routing (Listener und Routing) wie folgt vor:

    Der Standard-Listener akzeptiert HTTP-Datenverkehr auf Port 80. Sie können das Standardprotokoll und den standardmäßigen Port beibehalten. Wählen Sie für Default action (Standardaktion) die von Ihnen erstellte Zielgruppe aus. Sie können optional Add listener (Listener hinzufügen) auswählen, um einen weiteren Listener hinzuzufügen (z. B. einen HTTPS-Listener).

    Wenn Sie einen HTTPS-Listener erstellen, konfigurieren Sie die erforderliche

    Wenn Sie HTTPS für Ihre Load Balancer-Listener verwenden, müssen Sie ein SSL-Zertifikat auf dem Load Balancer bereitstellen. Der Load Balancer verwendet dieses Zertifikat, um die Verbindung zu beenden und Anfragen von Clients zu entschlüsseln, bevor er sie an die Ziele sendet. Gehen Sie unter Secure listener settings (Sichere Listener-Einstellungen) wie folgt vor:

    1. Wählen Sie im Feld Select policy eine vordefinierte Sicherheitsrichtlinie aus. Einzelheiten zu Sicherheitsrichtlinien finden Sie unter Sicherheitsrichtlinien in Elastic Load Balancing Application Load Balancers.

    2. Führen Sie für Standard-SSL-Zertifikat einen der folgenden Schritte aus:

      • Wenn Sie ein Zertifikat mit AWS Certificate Manager erstellt oder importiert haben, wählen Sie From ACM (Von ACM) aus und wählen Sie dann das Zertifikat aus.

      • Wenn Sie ein Zertifikat mit IAM hochgeladen haben, wählen Sie From IAM (Von IAM) und dann das Zertifikat aus.

      • Wenn Sie ein Zertifikat in ACM oder IAM importieren möchten, geben Sie einen Zertifikatsnamen ein. Fügen Sie dann den PEM-kodierten privaten Schlüssel und den Text ein.

  9. (Optional) Sie können Add-On-Services wie AWS Global Accelerator verwenden, um einen Beschleuniger zu erstellen und den Load Balancer dem Beschleuniger zuzuordnen. Der Beschleunigername kann bis zu 64 Zeichen lang sein. Erlaubte Zeichen sind a-z, A-Z, 0-9, . und - (Bindestrich). Nachdem der Beschleuniger erstellt wurde, können Sie die AWS Global Accelerator-Konsole verwenden, um ihn zu verwalten.

  10. (Optional) Markieren Sie Ihren Application Load Balancer. Führen Sie im Bereich Tag and create (Markieren und erstellen) die folgenden Schritte aus

    1. Erweitern Sie den Abschnitt Tags.

    2. Wählen Sie Add tag.

    3. Geben Sie den Tag-Schlüssel und den Tag-Wert ein.

  11. Überprüfen Sie Ihre Konfiguration und wählen Sie Create load balancer (Load Balancer erstellen) aus.

Erstellen einer Sicherheitsgruppenregel für Ihre Container-Instances

Nachdem Ihr Application Load Balancer erstellt ist, müssen Sie eine eingehende Regel für Ihre Container-Instance-Sicherheitsgruppe hinzufügen, damit der Datenverkehr vom Load Balancer die Container erreichen kann.

So lassen Sie eingehenden Datenverkehr von Ihrem Load Balancer zu Ihren Container-Instances zu

  1. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie im linken Navigationsbereich Security Groups aus.

  3. Wählen Sie die Sicherheitsgruppe aus, die von Ihren Container-Instances verwendet wird. Wenn Sie Ihre Container-Instances mithilfe des Amazon ECS-Einrichtungsassistenten erstellt haben, lautet die Beschreibung dieser Sicherheitsgruppe möglicherweise ECS Allowed Ports (Zulässige ECS-Ports).

  4. Wählen Sie die Registerkarte Inbound (Eingehend) und anschließend Edit inbound rules (Eingehende Regeln bearbeiten) aus.

  5. Wählen Sie für Type (Typ) die Option All traffic (Gesamter Datenverkehr) aus.

  6. Wählen Sie für Source (Quelle) Custom (Benutzerdefiniert) und dann die Sicherheitsgruppe Application Load Balancer aus. Diese Regel ermöglicht, dass der gesamte Datenverkehr von Ihrem Application Load Balancer die Container in Ihren Aufgaben erreicht, die für Ihren Load Balancer registriert sind.

  7. Wählen Sie Save, um den Vorgang abzuschließen.

Erstellen Sie einen Amazon-ECS-Service

Nachdem der Load Balancer und die Zielgruppe erstellt sind, können Sie beim Erstellen eines Services die Zielgruppe in einer Servicedefinition angeben. Wenn die einzelnen Aufgaben für Ihren Service gestartet sind, wird die in der Servicedefinition angegebene Container- und Port-Kombination bei Ihrer Zielgruppe angemeldet, und der Datenverkehr wird vom Load Balancer zu diesem Container geleitet. Weitere Informationen finden Sie unter Erstellen eines Amazon-ECS-Services.