Groupes cibles dans VPC Lattice - Amazon VPC Lattice

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.

Groupes cibles dans VPC Lattice

Un groupe cible VPC Lattice est un ensemble de cibles, ou de ressources de calcul, qui exécutent votre application ou votre service. Les cibles peuvent être des instances EC2, des adresses IP, des fonctions Lambda, des équilibreurs de charge d'application ou des pods Kubernetes. Vous pouvez également associer des services existants à vos groupes cibles. Pour plus d'informations sur l'utilisation de Kubernetes avec VPC Lattice, consultez le guide de l'utilisateur du AWS Gateway API Controller.

Chaque groupe cible est utilisé pour acheminer les demandes vers une ou plusieurs cibles enregistrées. Lorsque vous créez une règle d'écoute, vous spécifiez un groupe cible et des conditions. Lorsqu'une condition est remplie, le trafic est transféré au groupe cible correspondant. Vous pouvez créer différents groupes cibles pour les différents types de demandes. Par exemple, créez un groupe cible pour les demandes générales et d'autres groupes cibles pour les demandes qui incluent des conditions de règle spécifiques, telles qu'un chemin ou une valeur d'en-tête.

Un service avec un écouteur, des règles d'écoute et deux groupes cibles.

Vous définissez les paramètres de contrôle de santé de votre service par groupe cible. Chaque groupe cible utilise les paramètres de vérification de l'état par défaut, sauf si vous les remplacez lors de la création du groupe cible ou que vous les modifiez ultérieurement. Une fois que vous avez spécifié un groupe cible dans une règle pour un écouteur, le service surveille en permanence l'état de toutes les cibles enregistrées auprès du groupe cible. Le service achemine les demandes vers les cibles enregistrées qui sont saines.

Pour spécifier un groupe cible dans une règle pour un service listener, le groupe cible doit être associé au même compte que le service.

Les groupes cibles VPC Lattice sont similaires aux groupes cibles fournis par Elastic Load Balancing, mais ils ne sont pas interchangeables.

Configuration du routage

Par défaut, un service achemine les demandes vers ses cibles en utilisant le protocole et le numéro de port que vous avez spécifiés lors de la création du groupe cible. Vous pouvez également remplacer le port utilisé pour l'acheminement du trafic vers une cible lorsque vous l'enregistrez auprès du groupe cible.

Les groupes cible prennent en charge les protocoles et ports suivants :

  • Protocoles : HTTP, HTTPS, TCP

  • Ports : 1 à 65535

Si un groupe cible est configuré avec le protocole HTTPS ou utilise des contrôles de santé HTTPS, les connexions TLS aux cibles utilisent la politique de sécurité de l'écouteur. VPC Lattice établit des connexions TLS avec les cibles à l'aide de certificats que vous installez sur les cibles. VPC Lattice ne valide pas ces certificats. Par conséquent, vous pouvez utiliser des certificats auto-signés ou des certificats qui ont expiré. Le trafic entre VPC Lattice et les cibles est authentifié au niveau des paquets. Il n'est donc pas exposé au risque d' man-in-the-middle attaques ou d'usurpation d'identité, même si les certificats des cibles ne sont pas valides.

Les groupes cibles TCP ne sont pris en charge qu'avec les écouteurs TLS.

Algorithme de routage

Par défaut, l'algorithme de routage Round Robin est utilisé pour acheminer les demandes vers des cibles saines.

Lorsque le service VPC Lattice reçoit une demande, il utilise le processus suivant :

  1. Évalue les règles de l'écouteur par ordre de priorité pour déterminer la règle à appliquer.

  2. Sélectionne une cible dans le groupe cible pour l'action de règle, en utilisant l'algorithme du round robin par défaut. Le routage est effectué indépendamment pour chaque groupe cible, même si une cible est enregistrée avec plusieurs groupes cible.

Si un groupe cible ne contient que des cibles malsaines, les demandes sont acheminées vers toutes les cibles, quel que soit leur état de santé. Cela signifie que si toutes les cibles échouent aux tests de santé en même temps, le service VPC Lattice échoue à s'ouvrir. L'effet du fail-open est d'autoriser le trafic à destination de toutes les cibles, quel que soit leur état de santé, sur la base de l'algorithme du round robin.

Type de cible

Lorsque vous créez un groupe cible, vous spécifiez son type de cible, ce qui détermine le type de cible que vous indiquez lors de l'enregistrement des cibles auprès de ce groupe cible. Après avoir créé un groupe cible, vous ne pouvez pas changer son type.

Les éléments suivants constituent les types de cibles possibles :

INSTANCE

Les cibles sont spécifiées par ID d'instance.

IP

Les cibles sont des adresses IP.

LAMBDA

La cible est une fonction Lambda.

ALB

La cible est un Application Load Balancer.

Considérations
  • Lorsque le type de cible estIP, vous devez spécifier les adresses IP des sous-réseaux du VPC pour le groupe cible. Si vous devez enregistrer des adresses IP en dehors de ce VPC, créez un groupe cible de type ALB et enregistrez les adresses IP auprès de l'Application Load Balancer.

  • Lorsque le type de cible estIP, vous ne pouvez pas enregistrer de points de terminaison VPC ou d'adresses IP routables publiquement.

  • Lorsque le type de cible estLAMBDA, vous pouvez enregistrer une seule fonction Lambda. Lorsque le service reçoit une demande pour la fonction Lambda, il invoque la fonction Lambda. Si vous souhaitez enregistrer plusieurs fonctions lambda dans un service, vous devez utiliser plusieurs groupes cibles.

  • Lorsque le type de cible estALB, vous pouvez enregistrer un seul Application Load Balancer interne en tant que cible d'un maximum de deux services VPC Lattice. Pour ce faire, enregistrez l'Application Load Balancer auprès de deux groupes cibles distincts, utilisés par deux services VPC Lattice différents. En outre, l'Application Load Balancer ciblé doit disposer d'au moins un écouteur dont le port correspond au port du groupe cible.

  • Pour enregistrer une tâche ECS en tant que cible, utilisez le type de ALB cible et enregistrez l'Application Load Balancer pour votre service Amazon ECS. Pour plus d'informations, consultez Répartition de charge des services dans le Guide du développeur Amazon Elastic Container Service.

  • Pour enregistrer un pod EKS en tant que cible, utilisez le AWS Gateway API Controller, qui obtient les adresses IP du service Kubernetes.

  • Si le protocole du groupe cible est TCP, les seuls types de cibles pris en charge sont INSTANCE etIP.

Type d’adresse IP

Lorsque vous créez un groupe cible avec un type de cible deIP, vous pouvez spécifier un type d'adresse IP pour le groupe cible. Cela indique le type d'adresses que l'équilibreur de charge utilise pour envoyer des demandes et des contrôles de santé aux cibles. Les valeurs possibles sont IPv4 et IPv6. La valeur par défaut est IPV4.

Considérations
  • Si vous créez un groupe cible avec un type d'adresse IP deIPv6, le VPC que vous spécifiez pour le groupe cible doit avoir une plage d'adresses IPv6.

  • Les adresses IP que vous enregistrez auprès d'un groupe cible doivent correspondre au type d'adresse IP du groupe cible. Par exemple, vous ne pouvez pas enregistrer une adresse IPv6 auprès d'un groupe cible si son type d'adresse IP estIPv4.

  • Les adresses IP que vous enregistrez auprès d'un groupe cible doivent se situer dans la plage d'adresses IP du VPC que vous avez spécifié pour le groupe cible.

Version du protocole

Par défaut, les services envoient des demandes aux cibles à l'aide du protocole HTTP/1.1. Vous pouvez utiliser la version du protocole pour envoyer des demandes à des cibles via HTTP/2 ou gRPC.

Le tableau suivant résume le résultat pour les combinaisons du protocole de demande et de la version du protocole du groupe cible.

Protocole de demande Version du protocole Résultat
HTTP/1.1 HTTP/1.1 Réussite
HTTP/2 HTTP/1.1 Réussite
gRPC HTTP/1.1 Erreur
HTTP/1.1 HTTP/2 Erreur
HTTP/2 HTTP/2 Réussite
gRPC HTTP/2 Succès si les cibles prennent en charge gRPC
HTTP/1.1 gRPC Erreur
HTTP/2 gRPC Succès si une demande POST
gRPC gRPC Réussite
Considérations relatives à la version du protocole gRPC
  • Le seul protocole d'écouteur pris en charge est le HTTPS.

  • Les seuls types de cibles pris en charge sont INSTANCE et IP.

  • Le service analyse les demandes gRPC et achemine les appels gRPC vers les groupes cibles appropriés en fonction du package, du service et de la méthode.

  • Vous ne pouvez pas utiliser les fonctions Lambda comme cibles.

Considérations relatives à la version du protocole HTTP/2
  • Le seul protocole d'écouteur pris en charge est le HTTPS. Vous pouvez choisir HTTP ou HTTPS pour le protocole du groupe cible.

  • Les seules règles d'écoute prises en charge sont les réponses directes et fixes.

  • Les seuls types de cibles pris en charge sont INSTANCE et IP.

  • Le service prend en charge le streaming depuis les clients. Le service ne prend pas en charge le streaming vers les cibles.