Erste Schritte mit Gateway Load Balancers mithilfe des 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 Balancers mithilfe des AWS CLI

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

In diesem Tutorial implementieren wir ein Inspektionssystem, das einen Gateway Load Balancer und einen Gateway Load Balancer-Endpunkt verwendet.

Übersicht

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

Die Anwendungsserver werden in einem Subnetz (Zielsubnetz) in der Service Consumer-VPC ausgeführt, 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 Service Consumer-VPC gelangt, wird zuerst zum Gateway Load Balancer-Endpunkt und dann zum Zielsubnetz weitergeleitet.

In ähnlicher Weise wird der gesamte Datenverkehr, der die Anwendungsserver (Zielsubnetz) verlässt, zum Gateway Load Balancer-Endpunkt geleitet, bevor er zurück ins Internet geleitet wird. Das folgende Netzwerkdiagramm zeigt visuell, 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 nummerierten Elemente, die darauf folgen, heben die in der vorherigen Abbildung gezeigten Elemente hervor und erläutern sie.

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

  2. Der Datenverkehr wird als Ergebnis von Ingress-Routing an den Gateway Load Balancer-Endpunkt gesendet.

  3. Der Datenverkehr wird an den Gateway Load Balancer gesendet, der den Datenverkehr an eine der Sicherheits-Appliances verteilt.

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

  5. Der Datenverkehr wird an die Anwendungsserver (Zielsubnetz) gesendet.

Datenverkehr von der Anwendung zum Internet (orange Pfeile):
  1. Der Datenverkehr wird als Ergebnis 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 Sicherheits-Appliances verteilt.

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

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

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

Routing

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

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

Die Routingtabelle für das Subnetz mit den Anwendungsservern muss Einträge enthalten, die den gesamten Datenverkehr von den Anwendungsservern zum Gateway Load Balancer-Endpunkt weiterleiten.

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

Die Routingtabelle für das Subnetz mit dem Gateway Load Balancer-Endpunkt muss den Datenverkehr, der von der Inspektion zurückkehrt, an sein endgültiges Ziel weiterleiten. Bei Datenverkehr, der aus dem Internet stammt, stellt die lokale Route sicher, 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.

Ziel 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 von, 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 über mindestens zwei Subnetze für jede Availability Zone verfügt, die Anwendungsserver enthält. Ein Subnetz ist für den Gateway Load Balancer-Endpunkt und das andere für die Anwendungsserver bestimmt.

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

  • Starten Sie mindestens eine Security Appliance-Instanz 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 Ihren Load Balancer, Listener und Zielgruppen zu erstellen und Ihre Security Appliance-Instances als Ziele zu registrieren.

Um einen Gateway Load Balancer zu erstellen und Ziele zu registrieren
  1. Verwenden Sie den create-load-balancerBefehl, um einen Load Balancer des Typs gateway zu erstellen. Sie können ein Subnetz für jede Availability Zone angeben, in der Sie Security Appliance-Instances gestartet haben.

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

    Standardmäßig werden nur IPv4-Adressen unterstützt. Um sowohl IPv4- als auch IPv6-Adressen zu unterstützen, fügen Sie die --ip-address-type dualstack Option hinzu.

    Die Ausgabe enthält den Amazon-Ressourcennamen (ARN) des Load Balancers mit dem im folgenden Beispiel gezeigten Format.

    arn:aws:elasticloadbalancing:us-east-2:123456789012:loadbalancer/gwy/my-load-balancer/1234567890123456
  2. Verwenden Sie den create-target-groupBefehl, um eine Zielgruppe zu erstellen, und geben Sie die Service Provider-VPC 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 mit dem folgenden 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 Listeners mit dem folgenden Format.

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

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

Schritt 2: Erstellen Sie einen Gateway Load Balancer-Endpunkt

Gehen Sie wie folgt vor, um einen Gateway Load Balancer-Endpunkt zu erstellen. Gateway Load Balancer-Endpunkte sind zonal. Wir empfehlen, dass Sie pro Zone einen Gateway Load Balancer-Endpunkt 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 vpc-endpoint-service-configuration Befehl create-, um eine Endpunktdienstkonfiguration 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 --supported-ip-address-types ipv4 ipv6 Option hinzu.

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

  2. Verwenden Sie den vpc-endpoint-service-permissions Befehl modify-, um es Servicenutzern zu ermöglichen, einen Endpunkt für Ihren Service zu erstellen. Ein Service Consumer kann ein Benutzer, eine IAM-Rolle oder AWS-Konto sein. Das folgende Beispiel fügt die Berechtigung für das angegebene Objekt hinzuAWS-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 --ip-address-type dualstack Option hinzu.

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

Schritt 3: Routing konfigurieren

Konfigurieren Sie die Routing-Tabellen für die Service Consumer-VPC wie folgt. Auf diese Weise können die Sicherheitsanwendungen den eingehenden Datenverkehr, der für die Anwendungsserver bestimmt ist, Sicherheitsprüfungen durchführen.

Um das Routing zu konfigurieren
  1. Verwenden Sie den Befehl create-route, um Einträge zur Routing-Tabelle für das Internet-Gateway hinzuzufügen, das den für die Anwendungsserver bestimmten Datenverkehr an den Gateway Load Balancer-Endpunkt weiterleitet.

    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, die den gesamten Datenverkehr von den Anwendungsservern zum Gateway Load Balancer-Endpunkt weiterleiten, einen Eintrag hinzuzufügen.

    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 einen Eintrag für das Subnetz mit dem Gateway Load Balancer-Endpunkt hinzuzufügen, der den gesamten Datenverkehr, der von den Anwendungsservern stammt, 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 dies für jede Subnetz-Routing-Tabelle der Anwendung in jeder Zone.