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.
Application Load Balancers
Un équilibreur de charge constitue le point de contact unique pour les clients. Les clients envoient des demandes à l'équilibreur de charge, qui les envoie à des cibles, telles que EC2 des instances. Pour configurer votre équilibreur de charge, vous créez des groupes cible et vous enregistrez ensuite les cibles auprès de vos groupes cible. Vous créez également des écouteurs pour rechercher les demandes de connexion des clients, et des règles d'écouteur pour acheminer les demandes des clients vers les cibles dans un ou plusieurs groupes cible.
Pour de plus amples informations, consultez la section Fonctionnement d'Elastic Load Balancing, dans le Guide de l'utilisateur Elastic Load Balancing.
Table des matières
Sous-réseaux pour votre équilibreur de charge
Lorsque vous créez un Application Load Balancer, vous devez activer les zones contenant vos cibles. Pour activer une zone, spécifiez un sous-réseau dans la zone. Elastic Load Balancing crée un nœud d'équilibreur de charge dans chaque zone que vous spécifiez.
Considérations
-
Votre équilibreur de charge est plus efficace si vous vous assurez que chaque zone activée contient au moins une cible enregistrée.
-
Si vous enregistrez des cibles dans une zone mais que vous n'activez pas la zone, ces cibles enregistrées ne reçoivent pas le trafic de l'équilibreur de charge.
-
Si vous activez plusieurs zones pour votre équilibreur de charge, les zones doivent être du même type. Par exemple, vous ne pouvez pas activer à la fois une zone de disponibilité et une zone locale.
-
Vous pouvez spécifier un sous-réseau qui a été partagé avec vous.
Application Load Balancers prennent en charge les types de sous-réseaux suivants.
Types de sous-réseaux
Sous-réseaux de la zone de disponibilité
Vous devez sélectionner au moins deux sous-réseaux de zone de disponibilité. Les restrictions suivantes s'appliquent :
-
Chaque sous-réseau doit appartenir à une zone de disponibilité différente.
-
Pour que votre équilibreur de charge puisse évoluer correctement, vérifiez que chaque sous-réseau de zone de disponibilité de votre équilibreur de charge dispose d'un bloc d'adresses CIDR avec au moins un masque de bits
/27
(par exemple,10.0.0.0/27
) et au moins huit adresses IP libres par sous-réseau. Ces huit adresses IP sont nécessaires pour permettre à l'équilibreur de charge de monter en puissance si nécessaire. Votre équilibreur de charge utilise ces adresses IP pour établir des connexions avec les cibles. Sans eux, votre Application Load Balancer pourrait rencontrer des difficultés lors des tentatives de remplacement de nœuds, ce qui le ferait entrer dans un état d'échec.Remarque : si le sous-réseau d'un Application Load Balancers manque d'adresses IP utilisables lors d'une tentative de mise à l'échelle, l'Application Load Balancer fonctionnera avec une capacité insuffisante. Pendant cette période, les anciens nœuds continueront à desservir le trafic, mais la tentative de mise à l'échelle bloquée peut provoquer des erreurs ou des délais d'attente de 5xx lors de la tentative d'établissement d'une connexion.
Sous-réseaux de zone locale
Vous pouvez spécifier un ou plusieurs sous-réseaux de zone locale. Les fonctions Kafka suivantes ne sont pas prises en charge :
-
Fonctions Lambda en tant que cibles
-
Authentification TLS mutuelle
-
Sessions permanentes
-
AWS WAF intégration
Sous-réseaux Outpost
Vous pouvez spécifier un seul sous-réseau Outpost. Les restrictions suivantes s'appliquent :
-
Vous devez avoir installé et configuré un Outpost dans votre centre de données sur site. Vous devez avoir une connexion réseau fiable entre votre Outpost et sa région AWS . Pour plus d’informations, consultez le Guide de l’utilisateur AWS Outposts.
-
L'équilibreur de charge nécessite deux instances
large
sur l'Outpost pour les nœuds de l'équilibreur de charge. Les types d'instance pris en charge sont indiqués dans le tableau suivant. L'équilibreur de charge se met à l'échelle selon les besoins, en redimensionnant les nœuds taille par taille (delarge
àxlarge
, puisxlarge
à2xlarge
, puis2xlarge
à4xlarge
). Après avoir redimensionné les nœuds à la plus grande taille d'instance, si vous avez besoin de capacité supplémentaire, l'équilibreur de charge ajoute des instances4xlarge
en tant que nœuds d'équilibreur de charge. Si vous ne disposez pas d'une capacité d'instance suffisante ou d'adresses IP disponibles pour mettre à l'échelle l'équilibreur de charge, celui-ci signale un événement à AWS Health Dashboard et l'état de l'équilibreur de charge estactive_impaired
. -
Vous pouvez enregistrer des cibles par ID d'instance ou par adresse IP. Si vous enregistrez des cibles dans la AWS région pour l'avant-poste, elles ne sont pas utilisées.
-
Les fonctions Kafka suivantes ne sont pas prises en charge :
-
AWS Global Accelerator intégration
-
Fonctions Lambda en tant que cibles
-
Authentification TLS mutuelle
-
Sessions permanentes
-
Authentification de l'utilisateur
-
AWS WAF intégration
-
Un Application Load Balancer peut être déployé sur des instances c5/c5d, m5/m5d ou r5/r5d d'un Outpost. Le tableau suivant indique la taille et le volume EBS par type d'instance que l'équilibreur de charge peut utiliser sur un Outpost :
Type et taille de l'instance | Volume EBS (Go) |
---|---|
c5/c5d | |
large | 50 |
xlarge | 50 |
2xlarge | 50 |
4xlarge | 100 |
m5/m5d | |
large | 50 |
xlarge | 50 |
2xlarge | 100 |
4xlarge | 100 |
r5/r5d | |
large | 50 |
xlarge | 100 |
2xlarge | 100 |
4xlarge | 100 |
Groupes de sécurité d'équilibreur de charge
Un groupe de sécurité sert de pare-feu pour contrôler le trafic autorisé vers et depuis votre équilibreur de charge. Vous pouvez choisir les ports et protocoles pour autoriser à la fois le trafic entrant et sortant.
Les règles des groupes de sécurité associés à votre équilibreur de charge doivent autoriser le trafic dans les deux sens sur les ports d'écouteur et de surveillance de l'état. Chaque fois que vous ajoutez un écouteur à un équilibreur de charge ou que vous mettez à jour le port de vérification de l'état d'un groupe cible, vous devez passer en revue vos règles de groupe de sécurité pour vérifier qu'elles autorisent le trafic sur le nouveau port dans les deux sens. Pour de plus amples informations, veuillez consulter Règles recommandées.
États d'un équilibreur de charge
Un équilibreur de charge peut avoir l'un des états suivants :
provisioning
-
L'équilibreur de charge est en cours de mise en place.
active
-
L'équilibreur de charge est entièrement mis en place et prêt à acheminer le trafic.
active_impaired
-
L'équilibreur de charge achemine le trafic mais ne dispose pas des ressources dont il a besoin pour se mettre à l'échelle.
failed
-
L'équilibreur de charge n'a pas pu être configuré.
Attributs de l'équilibreur de charge
Vous pouvez configurer votre Application Load Balancer en modifiant ses attributs. Pour de plus amples informations, veuillez consulter Modifier les attributs de l'équilibreur de charge.
Les attributs de l'équilibreur de charge sont les suivants :
access_logs.s3.enabled
-
Indique si les journaux d'accès stockés dans Amazon S3 sont activés. L’argument par défaut est
false
. access_logs.s3.bucket
-
Le nom du compartiment Amazon S3 pour les journaux d'accès. Cet attribut est obligatoire si les journaux d'accès sont activés. Pour de plus amples informations, veuillez consulter Activer les journaux d'accès.
access_logs.s3.prefix
-
Le préfixe pour l'emplacement dans le compartiment Amazon S3.
client_keep_alive.seconds
-
La valeur keepalive du client, en secondes. La valeur par défaut est de 3 600 secondes.
deletion_protection.enabled
-
Indique si la protection contre la suppression est activée. L’argument par défaut est
false
. idle_timeout.timeout_seconds
-
Valeur de délai d'inactivité, en secondes. Le durée par défaut est 60 secondes.
ipv6.deny_all_igw_traffic
-
Bloque l'accès de la passerelle Internet (IGW) à l'équilibreur de charge, empêchant les accès non prévus à votre équilibreur de charge interne via une passerelle Internet. Il est défini sur
false
pour les équilibreurs de charge accessibles sur Internet et surtrue
pour les équilibreurs de charge internes. Cet attribut n'empêche pas l'accès à Internet non IGW (par exemple, via le peering, AWS Direct Connect Transit Gateway ou). AWS VPN routing.http.desync_mitigation_mode
-
Détermine la manière dont l'équilibreur de charge gère les demandes susceptibles de présenter un risque pour la sécurité de votre application. Les valeurs possibles sont
monitor
,defensive
etstrictest
. L’argument par défaut estdefensive
. routing.http.drop_invalid_header_fields.enabled
-
Indique si les en-têtes HTTP avec des champs d'en-tête non valides sont supprimés par l'équilibreur de charge (
true
), ou acheminés vers des cibles (false
). L’argument par défaut estfalse
. Elastic Load Balancing exige que les noms d'en-têtes HTTP valides soient conformes à l'expression régulière[-A-Za-z0-9]+
, comme décrit dans le registre des noms de champs HTTP. Chaque nom est composé de caractères alphanumériques ou traits d'union. Sélectionneztrue
si vous voulez que les en-têtes HTTP non conformes à ce modèle soient supprimés des demandes. routing.http.preserve_host_header.enabled
-
Indique si l'Application Load Balancer doit préserver l'en-tête
Host
dans la demande HTTP et l'envoyer aux cibles sans aucune modification. Les valeurs possibles sonttrue
etfalse
. La valeur par défaut estfalse
. routing.http.x_amzn_tls_version_and_cipher_suite.enabled
-
Indique si les deux en-têtes (
x-amzn-tls-version
etx-amzn-tls-cipher-suite
), qui contiennent des informations sur la version et la suite de chiffrement TLS négociées, sont ajoutés à la requête du client avant de l'envoyer à la cible. L'en-têtex-amzn-tls-version
contient des informations sur la version du protocole TLS négociée avec le client, et l'en-têtex-amzn-tls-cipher-suite
contient des informations sur la suite de chiffrement négociée avec le client. Les deux en-têtes sont au format OpenSSL. Les valeurs possibles pour l'attribut sonttrue
etfalse
. L’argument par défaut estfalse
. routing.http.xff_client_port.enabled
-
Indique si l'en-tête
X-Forwarded-For
doit conserver le port source utilisé par le client pour se connecter à l'équilibreur de charge. Les valeurs possibles sonttrue
etfalse
. La valeur par défaut estfalse
. routing.http.xff_header_processing.mode
-
Vous permet de modifier, de conserver ou de supprimer l'en-tête
X-Forwarded-For
dans la requête HTTP avant que l'Application Load Balancer ne l'envoie à la cible. Les valeurs possibles sontappend
,preserve
etremove
. L’argument par défaut estappend
.-
Si la valeur est
append
, l'Application Load Balancer ajoute l'adresse IP du client (du dernier saut) à l'en-têteX-Forwarded-For
dans la requête HTTP avant de l'envoyer aux cibles. -
Si la valeur est
preserve
, l'Application Load Balancer conserve l'en-têteX-Forwarded-For
dans la requête HTTP et l'envoie aux cibles sans aucune modification. -
Si la valeur est
remove
, l'Application Load Balancer supprime l'en-têteX-Forwarded-For
dans la requête HTTP avant de l'envoyer aux cibles.
-
routing.http2.enabled
-
Indique si HTTP/2 est activée. L’argument par défaut est
true
. waf.fail_open.enabled
-
Indique s'il faut autoriser un équilibreur de charge AWS WAF activé à acheminer les demandes vers des cibles s'il n'est pas en mesure de les transmettre à. AWS WAF Les valeurs possibles sont
true
etfalse
. La valeur par défaut estfalse
.
Note
L'attribut routing.http.drop_invalid_header_fields.enabled
a été introduit pour offrir une protection contre la désynchronisation HTTP. L'attribut routing.http.desync_mitigation_mode
a été ajouté pour fournir une protection plus complète contre la désynchronisation HTTP pour vos applications. Vous n'êtes pas obligé d'utiliser les deux attributs et vous pouvez choisir l'un ou l'autre, en fonction des exigences de votre application.
Type d’adresse IP
Vous pouvez définir les types d'adresses IP que les clients peuvent utiliser pour accéder à vos équilibreurs de charge internes et connectés à Internet.
Les équilibreurs de charge d'application prennent en charge les types d'adresses IP suivants :
ipv4
-
Les clients doivent se connecter à l'équilibreur de charge à l'aide d' IPv4 adresses (par exemple, 192.0.2.1).
dualstack
-
Les clients peuvent se connecter à l'équilibreur de charge en utilisant à la fois IPv4 des adresses (par exemple, 192.0.2.1) et des IPv6 adresses (par exemple, 2001:0 db 8:85 a 3:0:0:8 a2e : 0370:7334).
dualstack-without-public-ipv4
-
Les clients doivent se connecter à l'équilibreur de charge à l'aide d' IPv6 adresses (par exemple, 2001:0 db 8:85 a 3:0:0:8 a2e : 0370:7334).
Considérations
-
L'équilibreur de charge communique avec les cibles en fonction du type d'adresse IP du groupe cible.
-
Lorsque vous activez le mode double pile pour l'équilibreur de charge, Elastic Load Balancing fournit un enregistrement DNS AAAA pour l'équilibreur de charge. Les clients qui communiquent avec l'équilibreur de charge à l'aide d' IPv4 adresses résolvent l'enregistrement DNS A. Les clients qui communiquent avec l'équilibreur de charge à l'aide d' IPv6 adresses résolvent l'enregistrement DNS AAAA.
-
L'accès à vos équilibreurs de charge internes à double pile via la passerelle Internet est bloqué pour empêcher tout accès Internet non prévu. Toutefois, cela n'empêche pas l'accès à Internet hors IGW (par exemple via le peering, Transit Gateway ou). AWS Direct Connect AWS VPN
-
Application Load Balancer est uniquement prise en charge IPv4 lors de la connexion à un fournisseur d'identité (IdP) ou à un point de terminaison Amazon Cognito. Sans IPv4 adresse publique, l'équilibreur de charge ne peut pas terminer le processus d'authentification, ce qui entraîne des erreurs HTTP 500.
Pour de plus amples informations, veuillez consulter Mettez à jour les types d'adresses IP de votre Application Load Balancer.
Pools d'adresses IP IPAM
Un pool d'adresses IP IPAM est un ensemble de plages d'adresses IP contiguës (ou CIDRs) au sein d'Amazon VPC IP Address Manager (IPAM). L'utilisation de pools d'adresses IP IPAM avec votre Application Load Balancer vous permet d'organiser IPv4 vos adresses en fonction de vos besoins en matière de routage et de sécurité. Les pools d'adresses IP IPAM doivent d'abord être créés dans IPAM avant de pouvoir être utilisés par votre Application Load Balancer. Pour plus d'informations, voir Transférer vos adresses IP à l'IPAM.
Considérations
-
Les pools d'adresses IP IPAM ne sont pas compatibles avec les équilibreurs de charge internes ou le Dualstack sans type d'adresse IP publique IPv4.
-
Vous ne pouvez pas supprimer une adresse IP d'un pool d'adresses IP IPAM si celui-ci est actuellement utilisé par un équilibreur de charge.
-
Lors de la transition vers un autre pool d'adresses IP IPAM, les connexions existantes sont interrompues en fonction de la durée de conservation du client HTTP de l'équilibreur de charge.
-
Les pools d'adresses IP IPAM peuvent être partagés entre plusieurs comptes. Pour plus d'informations, voir Configurer les options d'intégration pour votre IPAM
Les pools d'adresses IP IPAM vous permettent d'intégrer une partie ou la totalité de vos plages d' IPv4 adresses publiques AWS et de les utiliser avec vos équilibreurs de charge d'application. Grâce à un meilleur contrôle de l'attribution des adresses IP, vous pouvez gérer et appliquer plus efficacement les politiques et les contrôles de sécurité, tout en réduisant les coûts. Aucuns frais supplémentaires ne sont associés à l'utilisation de pools d'adresses IP IPAM avec vos équilibreurs de charge d'application. Toutefois, des frais peuvent être associés à l'IPAM en fonction du niveau utilisé. Pour plus d'informations, consultez la tarification d'Amazon VPC
Votre pool d'adresses IP IPAM est toujours priorisé lors du lancement d' EC2 instances et d'équilibreurs de charge d'application, et lorsque vos adresses IP ne sont plus utilisées, elles redeviennent immédiatement disponibles. S'il n'y a plus d'adresses IP assignables dans votre pool d'adresses IP IPAM, des adresses IP AWS gérées sont attribuées. AWS les adresses IP gérées entraînent des frais supplémentaires. Pour ajouter des adresses IP supplémentaires, vous pouvez ajouter de nouvelles plages d'adresses IP à un pool d'adresses IP IPAM existant.
Connexions de l'équilibreur de charge
Lors du traitement d'une demande, l'équilibreur de charge maintient deux connexions : une connexion avec le client et une connexion avec une cible. La connexion entre l'équilibreur de charge et le client est également appelée connexion frontale. La connexion entre l'équilibreur de charge et la cible est également appelée connexion principale.
Equilibrage de charge entre zones
Avec les Application Load Balancers, la répartition de charge entre zones est activé par défaut et ne peut pas être modifié au niveau de l'équilibreur de charge. Pour plus d'informations, consultez Équilibrage de charge entre zones dans le Guide de l'utilisateur Elastic Load Balancing.
Il est possible de désactiver la répartition de charge entre zones au niveau du groupe cible. Pour de plus amples informations, veuillez consulter Désactiver la répartition de charge entre zones.
Nom du DNS
Chaque Application Load Balancer reçoit un nom de système de noms de domaine (DNS) par défaut avec la syntaxe suivante : name
- id
.elb. region
.amazonaws.com. Par exemple, my-load-balancer -1234567890abcdef. elb.us-east-2.amazonaws.com.
Si vous préférez utiliser un nom DNS plus facile à mémoriser, vous pouvez créer un nom de domaine personnalisé et l'associer au nom DNS de votre Application Load Balancer. Lorsqu'un client fait une demande à l'aide de ce nom de domaine personnalisé, le serveur DNS la résout avec le nom DNS de votre Application Load Balancer.
Tout d'abord, enregistrez un nom de domaine auprès d'un bureau d'enregistrement de noms de domaine accrédité. Utilisez ensuite votre service DNS, tel que votre bureau d'enregistrement de domaines, pour créer un enregistrement DNS afin d'acheminer les demandes vers votre Application Load Balancer. Pour plus d'informations, consultez la documentation de votre service DNS. Par exemple, si vous utilisez Amazon Route 53 comme service DNS, vous créez un enregistrement d'alias qui pointe vers votre Application Load Balancer. Pour de plus amples informations, consultez Acheminement du trafic vers un équilibreur de charge ELB dans le Guide du développeur Amazon Route 53.
L'Application Load Balancer possède une adresse IP par zone de disponibilité activée. Il s'agit des adresses IP des nœuds Application Load Balancer. Le nom DNS de l'Application Load Balancer correspond à ces adresses. Supposons, par exemple, que le nom de domaine personnalisé de votre Application Load Balancer soit. example.applicationloadbalancer.com
Utilisez la nslookup commande dig ou suivante pour déterminer les adresses IP des nœuds Application Load Balancer.
Linux ou Mac
$
dig +short
example.applicationloadbalancer.com
Windows
C:\>
nslookup
example.applicationloadbalancer.com
L'Application Load Balancer possède des enregistrements DNS pour ses nœuds. Vous pouvez utiliser des noms DNS avec la syntaxe suivante pour déterminer les adresses IP des nœuds Application Load Balancer : az
name
- id
.elb. region
.amazonaws.com.
Linux ou Mac
$
dig +short
us-east-2b.my-load-balancer-1234567890abcdef.elb.us-east-2.amazonaws.com
Windows
C:\>
nslookup
us-east-2b.my-load-balancer-1234567890abcdef.elb.us-east-2.amazonaws.com