Premiers pas avec Gateway Load Balancers à l’aide de AWS CLI - Elastic Load Balancing

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Premiers pas avec Gateway Load Balancers à l’aide de AWS CLI

Gateway Load Balancers facilite le déploiement, la mise à l’échelle et la gestion des appareils virtuels tiers, tels que les appareils de sécurité.

Dans le cadre de ce tutoriel, nous allons implémenter un système d’inspection à l’aide d’un Gateway Load Balancer et d’un point de terminaison Gateway Load Balancer.

Présentation

Un point de terminaison Gateway Load Balancer est un point de terminaison VPC qui fournit une connectivité privée entre les appareils virtuels du fournisseur de services VPC et les serveurs d'applications du VPC consommateur de services. L'équilibreur de charge Gateways Load Balancer est déployé dans le même VPC que les appareils virtuels. Ces appareils sont enregistrés en tant que groupe cible de l'équilibreur de charge Gateway Load Balancer.

Les serveurs d'applications s'exécutent dans un sous-réseau (sous-réseau de destination) du VPC consommateur de services, tandis que le point de terminaison Gateway Load Balancer se trouve dans un autre sous-réseau du même VPC. Tout le trafic entrant dans le VPC du consommateur du service par la passerelle Internet est d'abord acheminé vers le point de terminaison d'équilibreur de charge de passerelle, puis acheminé vers le sous-réseau de destination.

De même, tout le trafic quittant les serveurs d'applications (sous-réseau de destination) est acheminé vers le point de terminaison Gateway Load Balancer avant d'être réacheminé vers Internet. Le schéma de réseau suivant est une représentation visuelle de la manière dont un point de terminaison Gateway Load Balancer est utilisé pour accéder à un service de point de terminaison.

Utilisation d’un point de terminaison Gateway Load Balancer pour accéder à un service de point de terminaison

Les éléments numérotés qui suivent, mettent en évidence et expliquent ceux affichés sur l’image précédente.

Trafic depuis Internet vers l’application (flèches bleues) :
  1. Le trafic entre dans le VPC du consommateur du service via la passerelle Internet.

  2. Le trafic est envoyé au point de terminaison Gateway Load Balancer à la suite du routage d’entrée.

  3. Le trafic est envoyé au Gateway Load Balancer qui distribue le trafic vers un des appareils de sécurité.

  4. Le trafic est renvoyé au point de terminaison Gateway Load Balancer après avoir été inspecté par l’appareil de sécurité.

  5. Le trafic est envoyé aux serveurs d'applications (sous-réseau de destination).

Trafic de l’application vers Internet (flèches oranges) :
  1. Le trafic est envoyé au point de terminaison Gateway Load Balancer à la suite du routage par défaut configuré sur le sous-réseau du serveur d’application.

  2. Le trafic est envoyé au Gateway Load Balancer qui distribue le trafic vers un des appareils de sécurité.

  3. Le trafic est renvoyé au point de terminaison Gateway Load Balancer après avoir été inspecté par l’appareil de sécurité.

  4. Le trafic est envoyé à la passerelle Internet en fonction de la configuration de la table de routage.

  5. Le trafic est redirigé vers Internet.

Routage

La table de routage de la passerelle Internet doit comporter une entrée qui achemine le trafic destiné aux serveurs d'applications vers le point de terminaison Gateway Load Balancer. Pour spécifier le point de terminaison Gateway Load Balancer, utilisez l'ID du point de terminaison d'un VPC. L’exemple suivant montre les routages pour une configuration dualstack.

Destination Cible
CIDR IPv4 VPC Local
CIDR IPv6 VPC Local
CIDR IPv4 du sous-réseau 1 vpc-endpoint-id
CIDR IPv6 du sous-réseau 1 vpc-endpoint-id

La table de routage du sous-réseau avec les serveurs d’application doit comporter des entrées qui acheminent tout le trafic des serveurs d'applications vers le point de terminaison Gateway Load Balancer.

Destination Cible
CIDR IPv4 VPC Local
CIDR IPv6 VPC Local
0.0.0.0/0 vpc-endpoint-id
::/0 vpc-endpoint-id

La table de routage du sous-réseau avec le point de terminaison Gateway Load Balancer doit acheminer le trafic qui revient de l’inspection à sa destination finale. Pour le trafic provenant d'Internet, l’acheminement local s’assure qu’il atteigne les serveurs d'applications. Pour le trafic provenant des serveurs d'applications, ajoutez des entrées qui acheminent tout le trafic à la passerelle Internet.

Destination Cible
CIDR IPv4 VPC Local
CIDR IPv6 VPC Local
0.0.0.0/0 internet-gateway-id
::/0 internet-gateway-id

Prérequis

  • Installez l'AWS CLI ou passez à la version actuelle de l'AWS CLI si vous utilisez une version qui ne prend pas en charge les Gateway Load Balancers. Pour plus d'informations, consultez Installation d'AWS Command Line Interface dans le Guide de l'utilisateur AWS Command Line Interface.

  • Assurez-vous que le VPC du consommateur du service comporte au moins deux sous-réseaux pour chaque zone de disponibilité qui contient les serveurs d’applications. Un sous-réseau est destiné au point de terminaison Gateway Load Balancer et l'autre aux serveurs d’applications.

  • Assurez-vous que le VPC du fournisseur du service comporte au moins deux sous-réseaux pour chaque zone de disponibilité qui contient les instances de l’appareil de sécurité. Un sous-réseau est destiné au Gateway Load Balancer et l’autre aux instances.

  • Lancez au moins une instance d'appareil de sécurité dans chaque sous-réseau d'appareil de sécurité du VPC du fournisseur du service. Les groupes de sécurité de ces instances doivent autoriser le trafic UDP sur le port 6081.

Étape 1 : Création d’un Gateway Load Balancer et enregistrement des cibles

Utilisez la procédure suivante pour créer votre équilibreur de charge, votre écouteur et vos groupes cibles, et pour enregistrer vos instances de dispositif de sécurité en tant que cibles.

Pour créer un Gateway Load Balancer et enregistrer les cibles
  1. Utilisez la commande create-load-balancer pour créer un équilibreur de charge de type gateway. Vous pouvez spécifier un sous-réseau pour chaque zone de disponibilité dans laquelle vous avez lancé les instances d’appareil de sécurité.

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

    Par défaut, seules les adresses IPv4 sont prises en charge. Pour prendre en charge les adresses IPv4 et IPv6, ajoutez l’option --ip-address-type dualstack.

    Les données de sortie contiennent l'Amazon Resource Name (ARN) de l'équilibreur de charge, au format indiqué sur l’exemple suivant.

    arn:aws:elasticloadbalancing:us-east-2:123456789012:loadbalancer/gwy/my-load-balancer/1234567890123456
  2. Utilisez la commande create-target-group pour créer un groupe cible, en spécifiant le VPC du fournisseur de services dans lequel vous avez lancé vos instances.

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

    Les données de sortie contiennent l'ARN du groupe cible, au format suivant.

    arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/0123456789012345
  3. Utilisez la commande register-targets pour enregistrer vos instances auprès de votre groupe cible.

    aws elbv2 register-targets --target-group-arn targetgroup-arn --targets Id=i-1234567890abcdef0 Id=i-0abcdef1234567890
  4. Utilisez la commande create-listener pour créer un écouteur pour votre équilibreur de charge avec une règle par défaut qui transfère les demandes à votre groupe cible.

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

    Les données de sortie contiennent l'ARN de l'auditeur, au format suivant.

    arn:aws:elasticloadbalancing:us-east-2:123456789012:listener/gwy/my-load-balancer/1234567890123456/abc1234567890123
  5. (Facultatif) Vous pouvez vérifier l'état de santé des cibles enregistrées pour votre groupe cible en utilisant la commande describe-target-health suivante.

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

Étape 2 : Création d’un point de terminaison Gateway Load Balancer

Utilisez la procédure suivante pour créer un service de point de terminaison Gateway Load Balancer. Les points de terminaison Gateway Load Balancer sont répartis par zone. Nous vous recommandons de créer un point de terminaison Gateway Load Balancer par zone. Pour plus d'informations, veuillez consulter Accès aux appareils virtuels via AWS PrivateLink.

Pour créer un point de terminaison Gateway Load Balancer
  1. Utilisez la commande create-vpc-endpoint-service-configuration pour créer une configuration de service du point de terminaison en utilisant votre Gateway Load Balancer.

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

    Pour prendre en charge les adresses IPv4 et IPv6, ajoutez l’option --supported-ip-address-types ipv4 ipv6.

    La sortie contient l'ID du service (par exemple, vpce-svc-12345678901234567) et le nom du service (par exemple, com.amazonaws.vpce.us-east-2.vpce-svc-12345678901234567).

  2. Utilisez la commande modify-vpc-endpoint-service-permissions pour permettre aux consommateurs du service de créer un point de terminaison sur votre service. Un consommateur du service peut être un utilisateur, un rôle IAM ou Compte AWS. L'exemple suivant ajoute une autorisation pour le Compte AWS spécifié.

    aws ec2 modify-vpc-endpoint-service-permissions --service-id vpce-svc-12345678901234567 --add-allowed-principals arn:aws:iam::123456789012:root
  3. Utilisez la commande create-vpc-endpoint pour créer un point de terminaison Gateway Load Balancer pour votre service.

    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

    Pour prendre en charge les adresses IPv4 et IPv6, ajoutez l’option --ip-address-type dualstack.

    La sortie contient l'ID du point de terminaison Gateway Load Balancer (par exemple, vpce-01234567890abcdef).

Étape 3 : Configuration du routage

Configurez les tables de routage suivantes pour le VPC du consommateur du service, comme suit. Cela permet aux dispositifs de sécurité d'effectuer une inspection de sécurité du trafic entrant destiné aux serveurs d'applications.

Pour configurer le routage
  1. Utilisez la commande create-route pour ajouter des entrées à la table de routage de la passerelle Internet qui achemine le trafic destiné aux serveurs d’applications vers le point de terminaison Gateway Load Balancer.

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

    Si vous prenez en charge l’adresse IPv6, ajoutez le routage suivant.

    aws ec2 create-route --route-table-id gateway-rtb --destination-cidr-block Subnet 1 IPv6 CIDR --vpc-endpoint-id vpce-01234567890abcdef
  2. Utilisez la commande create-route pour ajouter une entrée à la table de routage du sous-réseau avec les serveurs d’applications qui achemine le trafic des serveurs d’applications vers le point de terminaison Gateway Load Balancer.

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

    Si vous prenez en charge l’adresse IPv6, ajoutez le routage suivant.

    aws ec2 create-route --route-table-id application-rtb --destination-cidr-block ::/0 --vpc-endpoint-id vpce-01234567890abcdef
  3. Utilisez la commande create-route pour ajouter une entrée à la table de routage du sous-réseau avec le point de terminaison Gateway Load Balancer qui achemine tout le trafic provenant des serveurs d’applications vers la passerelle Internet.

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

    Si vous prenez en charge l’adresse IPv6, ajoutez le routage suivant.

    aws ec2 create-route --route-table-id endpoint-rtb --destination-cidr-block ::/0 --gateway-id igw-01234567890abcdef
  4. Répétez l'opération pour la table de routage du sous-réseau de chaque application dans chaque zone.