Erste Schritte mit Gateway Load Balancern unter Verwendung der AWS CLI - 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.

Erste Schritte mit Gateway Load Balancern unter Verwendung der AWS CLI

Gateway Load Balancers erleichtern die Bereitstellung, Skalierung und Verwaltung virtueller Appliances von Drittanbietern, wie z. B. Sicherheits-Appliances.

In diesem Tutorial werden wir ein Inspektionssystem mit einem Gateway Load Balancer und einem Gateway Load Balancer-Endpunkt implementieren.

Übersicht

Ein Gateway Load Balancer-Endpunkt ist ein VPC-Endpunkt, der private Konnektivität zwischen virtuellen Appliances in der Serviceanbieter-VPC und Anwendungsservern in der Service-Consumer-VPC bereitstellt. Der Gateway Load Balancer wird in der gleichen VPC wie die virtuellen Appliances bereitgestellt. Diese Appliances werden als Zielgruppe des Gateway Load Balancers registriert.

Die Anwendungsserver laufen in einem Subnetz (Ziel-Subnetz) in der Service-Consumer-VPC, während sich der Gateway Load Balancer-Endpunkt in einem anderen Subnetz derselben VPC befindet. Der gesamte Datenverkehr, der über das Internet-Gateway in die VPC des Service-Konsumenten gelangt, wird zunächst an den Gateway Load Balancer-Endpunkt und dann an das Ziel-Subnetz weitergeleitet.

Ebenso wird der gesamte Datenverkehr, der die Anwendungsserver (Ziel-Subnetz) verlässt, an den Gateway Load Balancer-Endpunkt weitergeleitet, bevor er zurück ins Internet geleitet wird. Das folgende Netzwerkdiagramm veranschaulicht, wie ein Gateway Load Balancer-Endpunkt für den Zugriff auf einen Endpunktdienst verwendet wird.


    Verwenden eines Gateway Load Balancer-Endpunkts für den Zugriff auf einen Endpunktdienst

Die folgenden nummerierten Punkte heben die in der vorangehenden Abbildung gezeigten Elemente hervor und erläutern sie.

Verkehr vom Internet zur Anwendung (blaue Pfeile):
  1. Der Datenverkehr gelangt über das Internet-Gateway in die Service-Verbraucher-VPC.

  2. Der Verkehr wird als Ergebnis des Ingress-Routings an den Gateway Load Balancer-Endpunkt gesendet.

  3. Der Datenverkehr wird an den Gateway Load Balancer gesendet, der den Datenverkehr an eine der Security Appliances weiterleitet.

  4. Der Datenverkehr wird an den Gateway Load Balancer-Endpunkt zurückgesendet, nachdem er von der Security Appliance geprüft wurde.

  5. Der Verkehr wird an die Anwendungsserver (Ziel-Subnetz) gesendet.

Verkehr von der Anwendung zum Internet (orangefarbene Pfeile):
  1. Der Datenverkehr wird aufgrund der im Subnetz des Anwendungsservers konfigurierten Standardroute an den Gateway Load Balancer-Endpunkt gesendet.

  2. Der Datenverkehr wird an den Gateway Load Balancer gesendet, der den Datenverkehr an eine der Security Appliances weiterleitet.

  3. Der Datenverkehr wird an den Gateway Load Balancer-Endpunkt zurückgesendet, nachdem er von der Security Appliance geprüft wurde.

  4. Der Datenverkehr wird basierend auf der Routing-Tabellenkonfiguration an das Internet-Gateway gesendet.

  5. Der Datenverkehr wird zurück ins Internet geleitet.

Routing

Die Routing-Tabelle des Internet-Gateways muss einen Eintrag enthalten, der den für die Anwendungsserver bestimmten Datenverkehr an den Gateway Load Balancer-Endpunkt weiterleitet. Um den Gateway Load Balancer-Endpunkt anzugeben, verwenden Sie die ID des VPC-Endpunkts. Das folgende Beispiel zeigt die Routen für eine Dualstack-Konfiguration.

Bestimmungsort Ziel
VPC – IPv4 CIDR Local
VPC – IPv6 CIDR Local
Subnetz-1-IPv4-CIDR vpc-endpoint-id
Subnetz-1-IPv6-CIDR vpc-endpoint-id

Die Routing-Tabelle für das Subnetz mit den Anwendungsservern muss Einträge enthalten, die den gesamten Verkehr von den Anwendungsservern zum Gateway Load Balancer-Endpunkt leiten.

Bestimmungsort Ziel
VPC – IPv4 CIDR Local
VPC – IPv6 CIDR Local
0.0.0.0/0 vpc-endpoint-id
::/0 vpc-endpoint-id

Die Routing-Tabelle für das Subnetz mit dem Gateway Load Balancer-Endpunkt muss den Verkehr, der von der Prüfung zurückkommt, an sein endgültiges Ziel leiten. Bei Datenverkehr, der aus dem Internet stammt, sorgt die lokale Route dafür, dass er die Anwendungsserver erreicht. Fügen Sie für den Datenverkehr, der von den Anwendungsservern stammt, Einträge hinzu, die den gesamten Datenverkehr an das Internet-Gateway weiterleiten.

Bestimmungsort Ziel
VPC – IPv4 CIDR Local
VPC – IPv6 CIDR Local
0.0.0.0/0 internet-gateway-id
::/0 internet-gateway-id

Voraussetzungen

  • Installieren Sie die AWS CLI oder aktualisieren Sie auf die aktuelle Version der AWS CLI, wenn Sie eine Version verwenden, die Gateway Load Balancers nicht unterstützt. Weitere Informationen finden Sie unter Installieren der AWS Command Line Interface im AWS Command Line Interface-Leitfaden.

  • Stellen Sie sicher, dass die Service Consumer-VPC mindestens zwei Subnetze für jede Availability Zone hat, die Anwendungsserver enthält. Ein Subnetz ist für den Gateway Load Balancer-Endpunkt, das andere für die Anwendungsserver.

  • Stellen Sie sicher, dass die VPC des Dienstanbieters über mindestens zwei Subnetze für jede Availability Zone verfügt, die Security Appliance Instances enthält. Ein Subnetz ist für den Gateway Load Balancer, das andere für die Instances.

  • Starten Sie mindestens eine Security Appliance Instance in jedem Security Appliance-Subnetz in der Service Provider-VPC. Die Sicherheitsgruppen für diese Instances müssen UDP-Verkehr auf Port 6081 zulassen.

Schritt 1: Erstellen Sie einen Gateway Load Balancer und registrieren Sie Ziele

Gehen Sie wie folgt vor, um Ihre Load Balancer-, Listener- und Zielgruppen zu erstellen und um Ihre Security Appliance Instances als Ziele zu registrieren.

So erstellen Sie einen Gateway Load Balancer und registrieren Ziele
  1. Verwenden Sie den Befehl create-load-balancer, um einen Load Balancer des Typs gateway. Sie können für jede Verfügbarkeitszone, in der Sie Security Appliance Instances gestartet haben, ein Subnetz angeben.

    aws elbv2 create-load-balancer --name my-load-balancer --type gateway --subnets provider-subnet-id

    In der Standardeinstellung werden nur IPv4-Adressen unterstützt. Um sowohl IPv4- als auch IPv6-Adressen zu unterstützen, fügen Sie die Option --ip-address-type dualstack hinzu.

    Die Ausgabe enthält den Amazon Resource Name (ARN) des Load Balancers in dem im folgenden Beispiel gezeigten Format.

    arn:aws:elasticloadbalancing:us-east-2:123456789012:loadbalancer/gwy/my-load-balancer/1234567890123456
  2. Verwenden Sie den Befehl create-target-group, um eine Zielgruppe zu erstellen, und geben Sie die VPC des Dienstanbieters an, in der Sie Ihre Instances gestartet haben.

    aws elbv2 create-target-group --name my-targets --protocol GENEVE --port 6081 --vpc-id provider-vpc-id

    Die Ausgabe enthält den ARN der Zielgruppe in folgendem Format.

    arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/0123456789012345
  3. Verwenden Sie den Befehl register-targets, um Ihre Instances bei Ihrer Zielgruppe zu registrieren.

    aws elbv2 register-targets --target-group-arn targetgroup-arn --targets Id=i-1234567890abcdef0 Id=i-0abcdef1234567890
  4. Verwenden Sie den Befehl create-listener, um einen Listener für Ihren Load Balancer mit einer Standardregel zu erstellen, die Anfragen an Ihre Zielgruppe weiterleitet.

    aws elbv2 create-listener --load-balancer-arn loadbalancer-arn --default-actions Type=forward,TargetGroupArn=targetgroup-arn

    Die Ausgabe enthält den ARN des Listener in folgendem Format.

    arn:aws:elasticloadbalancing:us-east-2:123456789012:listener/gwy/my-load-balancer/1234567890123456/abc1234567890123
  5. (Optional) Sie können den Zustand der registrierten Ziele für Ihre Zielgruppe mit dem folgenden Befehl describe-target-health überprüfen.

    aws elbv2 describe-target-health --target-group-arn targetgroup-arn

Schritt 2: Erstellen eines Gateway Load Balancer-Endpunkts

Gehen Sie wie folgt vor, um einen Gateway Load Balancer-Endpunkt zu erstellen. Gateway Load Balancer Endpunkte sind zonal. Es wird empfohlen, einen Gateway Load Balancer-Endpunkt pro Zone zu erstellen. Weitere Informationen finden Sie unter Zugriff auf virtuelle Appliances über AWS PrivateLink.

So erstellen Sie einen Gateway-Load-Balancer-Endpunkt
  1. Verwenden Sie den Befehl create-vpc-endpoint-service-configuration, um eine Endpunkt-Service-Konfiguration mit Ihrem Gateway Load Balancer zu erstellen.

    aws ec2 create-vpc-endpoint-service-configuration --gateway-load-balancer-arns loadbalancer-arn --no-acceptance-required

    Um sowohl IPv4- als auch IPv6-Adressen zu unterstützen, fügen Sie die Option --supported-ip-address-types ipv4 ipv6 hinzu.

    Die Ausgabe enthält die Dienst-ID (z. B. vpce-svc-12345678901234567) und den Dienstnamen (z. B. com.amazonaws.vpce.us-east-2.vpce-svc-12345678901234567).

  2. Verwenden Sie den Befehl modify-vpc-endpoint-service-permissions, um Dienstkonsumenten zu erlauben, einen Endpunkt für Ihren Dienst zu erstellen. Ein Dienstkonsument kann ein Benutzer, eine IAM-Rolle oder ein AWS-Konto sein. Das folgende Beispiel fügt die Berechtigung für die angegebene AWS-Konto.

    aws ec2 modify-vpc-endpoint-service-permissions --service-id vpce-svc-12345678901234567 --add-allowed-principals arn:aws:iam::123456789012:root
  3. Verwenden Sie den Befehl create-vpc-endpoint, um den Gateway Load Balancer-Endpunkt für Ihren Dienst zu erstellen.

    aws ec2 create-vpc-endpoint --vpc-endpoint-type GatewayLoadBalancer --service-name com.amazonaws.vpce.us-east-2.vpce-svc-12345678901234567 --vpc-id consumer-vpc-id --subnet-ids consumer-subnet-id

    Um sowohl IPv4- als auch IPv6-Adressen zu unterstützen, fügen Sie die Option --ip-address-type dualstack hinzu.

    Die Ausgabe enthält die ID des Gateway Load Balancer-Endpunkts (z. B. vpce-01234567890abcdef).

Schritt 3: Routing konfigurieren

Konfigurieren Sie die Routing-Tabelle für die Service Consumer VPC wie folgt. Dadurch können die Security Appliances eine Sicherheitsüberprüfung des eingehenden Datenverkehrs durchführen, der für die Anwendungsserver bestimmt ist.

So konfigurieren Sie das Routing
  1. Verwenden Sie den Befehl create-route, um der Routing-Tabelle für das Internet-Gateway Einträge hinzuzufügen, die den für die Anwendungsserver bestimmten Verkehr an den Gateway Load Balancer-Endpunkt weiterleiten.

    aws ec2 create-route --route-table-id gateway-rtb --destination-cidr-block Subnet 1 IPv4 CIDR --vpc-endpoint-id vpce-01234567890abcdef

    Wenn Sie IPv6 unterstützen, fügen Sie die folgende Route hinzu.

    aws ec2 create-route --route-table-id gateway-rtb --destination-cidr-block Subnet 1 IPv6 CIDR --vpc-endpoint-id vpce-01234567890abcdef
  2. Verwenden Sie den Befehl create-route, um der Routing-Tabelle für das Subnetz mit den Anwendungsservern einen Eintrag hinzuzufügen, der den gesamten Datenverkehr von den Anwendungsservern an den Gateway Load Balancer-Endpunkt leitet.

    aws ec2 create-route --route-table-id application-rtb --destination-cidr-block 0.0.0.0/0 --vpc-endpoint-id vpce-01234567890abcdef

    Wenn Sie IPv6 unterstützen, fügen Sie die folgende Route hinzu.

    aws ec2 create-route --route-table-id application-rtb --destination-cidr-block ::/0 --vpc-endpoint-id vpce-01234567890abcdef
  3. Verwenden Sie den Befehl create-route, um der Routing-Tabelle für das Subnetz mit dem Gateway Load Balancer-Endpunkt einen Eintrag hinzuzufügen, der den gesamten von den Anwendungsservern stammenden Datenverkehr an das Internet-Gateway weiterleitet.

    aws ec2 create-route --route-table-id endpoint-rtb --destination-cidr-block 0.0.0.0/0 --gateway-id igw-01234567890abcdef

    Wenn Sie IPv6 unterstützen, fügen Sie die folgende Route hinzu.

    aws ec2 create-route --route-table-id endpoint-rtb --destination-cidr-block ::/0 --gateway-id igw-01234567890abcdef
  4. Wiederholen Sie diesen Vorgang für jede Anwendungsteilnetz-Routing-Tabelle in jeder Zone.