Amazon EC2
Cloud AWS
Elastic Load Balancing : Mise en route
Haute disponibilité

Haute disponibilité

Elastic Load Balancing répartit automatiquement le trafic entre plusieurs cibles – les instances Amazon EC2, les conteneurs et les adresses IP – dans une seule zone de disponibilité ou plusieurs zones de disponibilité.

Vérifications de l'état de santé

Vérifications de l'état de santé

Elastic Load Balancing peut détecter les cibles défectueuses, arrêter d'envoyer du trafic vers ces dernières, puis répartir la charge entre les autres cibles saines.

Fonctionnalités de sécurité

Caractéristiques de sécurité

Utilisez Amazon Virtual Private Cloud (Amazon VPC) pour créer et gérer des groupes de sécurité associés à des équilibreurs de charge afin de définir des options supplémentaires de mise en réseau et de sécurité. Vous pouvez également créer un équilibreur de charge interne (sans interface Internet).

Terminaison TLS

Terminaison TLS

Elastic Load Balancing permet la gestion intégrée des certificats et du décryptage SSL, vous donnant la possibilité de gérer les paramètres SSL de l'équilibreur de charge de manière centralisée et décharger votre application des tâches gourmandes en CPU.

Equilibrage de la charge avec la couche 4 ou 7

Equilibrage de la charge avec la couche 4 ou 7

Vous pouvez équilibrer la charge HTTP/HTTPS des applications pour des fonctionnalités spécifiques de la couche 7 ou opter pour un équilibrage de charge utilisant la couche 4 uniquement pour les applications qui reposent sur le protocole TCP.

Surveillance des opérations

Surveillance des opérations

Elastic Load Balancing permet l'intégration aux métriques Amazon CloudWatch et le suivi de requêtes afin de surveiller les performances de vos applications en temps réel.

Vous pouvez choisir l'équilibreur de charge adapté en fonction des besoins de votre application. Si vous avez besoin d'une gestion flexible des applications, nous vous recommandons d'utiliser un équilibreur de charge d'application. Si vous avez besoin de performances extrêmes et d'une adresse IP statique pour votre application, nous vous recommandons d'utiliser un équilibreur de charge du réseau. Si vous disposez d'une application qui a été conçue dans le réseau EC2-Classic, vous devez utiliser un équilibreur de charge classique.

Fonctionnalité

Equilibreur de charge d'application

Equilibreur de charge du réseau

Equilibreur de charge classique

Protocoles

HTTP, HTTPS

TCP

TCP, SSL, HTTP, HTTPS

Plates-formes

VPC

VPC

EC2-Classic, VPC

Vérifications de l'état

Métriques CloudWatch

Journalisation

Basculement zonal

Drainage de la connexion (délai d'annulation d'enregistrement)

Equilibrage de charge sur plusieurs ports de la même instance

 

WebSockets

 

Adresses IP en tant que cibles
 

Protection contre la suppression de l'équilibreur de charge

 

Routage basé sur le chemin d'accès

 

 

Routage basé sur l'hôte

 

 

Native HTTP/2

 

 

Délai d'inactivité des connexions configurable
 

Equilibrage de charge entre zones

 

Transfert de la charge SSL

 

Extension SNI (Server Name Indication)    

Sessions permanentes

 

Chiffrement de serveur principal

 

IP statique

 

 

Adresse IP Elastic

 

 

Conservation de l'adresse IP source

 

 

  • Application Load Balancer

    L'Application Load Balancer fonctionne au niveau de la requête (couche 7), en acheminant le trafic vers les destinataires – les instances EC2, les conteneurs et les adresses IP en fonction du contenu de la requête. Idéal pour l'équilibrage de charge avancé du trafic HTTP et HTTPS, l'Application Load Balancer assure un routage de requête avancé pour les architectures d'application modernes, notamment les microservices modernes et les applications basées sur des conteneurs. L'Application Load Balancer simplifie et améliore la sécurité de votre application, en veillant à ce que les derniers chiffrements et protocoles SSL/TLS soient utilisés en permanence.

    Equilibrage de la charge avec la couche 7
    Vous pouvez équilibrer la charge HTTP/HTTPS des applications et utiliser des fonctionnalités spécifiques de la couche 7, telles que les en-têtes X-Forwarded-For.

    Prise en charge du protocole HTTPS
    Un équilibreur de charge d'application prend en charge la terminaison HTTPS entre les clients et le programme d'équilibrage de charge. Les Application Load Balancers permettent également de gérer les certificats SSL via AWS Identity and Access Management (IAM) et AWS Certificate Manager afin de prédéfinir des politiques de sécurité.

    Extension SNI (Server Name Indication)
    SNI (Server Name Indication) est une extension au protocole TLS grâce auquel un client indique le nom d'hôte auquel se connecter au démarrage de l'acceptation TLS. L'équilibreur de charge peut présenter plusieurs certificats via le même auditeur sécurisé, ce qui lui permet de prendre en charge plusieurs sites Web sécurisés à l'aide d'un seul auditeur sécurisé. Les équilibreurs de charge d'application prennent également en charge un algorithme de sélection de certificat intelligent avec SNI. Si le nom d'hôte indiqué par un client correspond à plusieurs certificats, l'équilibreur de charge détermine le meilleur certificat à utiliser d'après plusieurs facteurs, dont les capacités du client.

    Adresses IP en tant que cibles
    Vous pouvez équilibrer les charges de n'importe quelle application hébergée dans AWS ou en local en utilisant les adresses IP des backends de l'application comme cibles. Cela permet d'équilibrer la charge vers un backend d'application hébergée sur n'importe quelle adresse IP ou n'importe quelle interface sur une instance. Chaque application hébergée sur la même instance peut disposer d'un groupe de sécurité et utiliser le même port. Vous pouvez également utiliser les adresses IP comme cibles pour équilibrer la charge d'applications hébergées en local (via une connexion Direct Connect ou VPN), sur des VPC appairés et EC2 Classic (avec ClassicLink). La possibilité d'équilibrer la charge sur AWS et sur des ressources locales simplifie migration vers le cloud, le passage au cloud et le basculement vers le cloud.

    Haute disponibilité
    Avec un équilibreur de charge d'application, vous devez spécifier plusieurs zones de disponibilité. Vous pouvez distribuer le trafic entrant sur vos cibles dans plusieurs zones de disponibilité. Un Application Load Balancer met automatiquement à l'échelle sa capacité de gestion des requêtes en réponse au trafic applicatif entrant.

    Caractéristiques de sécurité
    Lorsque vous utilisez Amazon Virtual Private Cloud (Amazon VPC), vous pouvez créer et gérer des groupes de sécurité associés à Elastic Load Balancing afin de définir des options supplémentaires de mise en réseau et de sécurité. Vous pouvez configurer un équilibreur de charge d'application de sorte qu'il dispose d'un accès Internet ou créer un programme d'équilibrage de charge sans adresses IP publiques afin de l'utiliser comme un équilibreur de charge interne (sans accès Internet).

    Routage basé sur le contenu
    Si votre application se compose de services individuels, un Application Load Balancer peut acheminer une requête en se basant sur le contenu de celle-ci.

            Routage basé sur l'hôte
            Vous pouvez acheminer une requête client basée sur le champ hôte de l'en-tête HTTP, ce qui vous permet de l'acheminer vers plusieurs domaines depuis le même équilibreur de charge.

            Routage basé sur le chemin d'accès
            Vous pouvez acheminer une requête client basée sur le chemin d'accès URL de l'en-tête HTTP.

    Prise en charge des applications conteneurisées
    L'Application Load Balancer offre une meilleure prise en charge des conteneurs grâce à un équilibrage de charge sur plusieurs ports sur une seule instance Amazon EC2. L'intégration profonde à Amazon EC2 Container Service (ECS) offre un conteneur entièrement géré. ECS vous permet de spécifier un port dynamique lors de la définition de tâches ECS, en attribuant au conteneur un port non utilisé lorsqu'il est programmé sur l'instance EC2. Le planificateur ECS ajoute automatiquement la tâche à l'équilibreur de charge via ce port.

    Prise en charge du protocole HTTP/2
    HTTP/2 est une nouvelle version du protocole HyperText Transfer Protocol (HTTP), qui utilise une connexion unique et multiplexée pour autoriser l'envoi de plusieurs requêtes sur la même connexion. Ce protocole compresse également les données de l'en-tête avant de les envoyer au format binaire et prend en charge les connexions TLS vers les clients.

    Prise en charge de WebSockets
    WebSockets permet à un serveur d'échanger des messages en temps réel avec des utilisateurs finaux, sans que ces derniers n'aient à demander une mise à jour au serveur (ou à l'interroger). Le protocole WebSockets fournit des canaux de communication bidirectionnels entre un client et un serveur, via une connexion TCP de longue durée.

    Prise en charge IPv6 natif
    Les Application Load Balancers prennent en charge le protocole Internet version 6 (IPv6) natif dans un VPC. Cela permet aux clients de se connecter à l'équilibreur de charge d'application via IPv4 ou IPv6.

    Sessions permanentes
    Les sessions permanentes désignent un mécanisme, qui permet d'acheminer les requêtes d'un même client vers la même cible. L'Application Load Balancer prend en charge les sessions permanentes à l'aide des cookies générés par l'équilibreur de charge. Si vous autorisez les sessions permanentes, la même cible reçoit la requête et peut utiliser le cookie pour retrouver le contexte de la session. La permanence est définie au niveau du groupe cible.

    Vérifications de l'état de santé
    Un équilibreur de charge d'application achemine uniquement le trafic vers des cibles saines. Cet équilibreur de charge d'application vous permet d'avoir un meilleur aperçu de l'état de santé de vos applications, et ce, de deux manières : (1) grâce à des améliorations des vérifications de l'état de santé, qui vous permettent de configurer des codes d'erreur détaillés à partir de 200-499. Ces vérifications vous permettent de surveiller l'état de santé de chacun de vos services derrière le programme d'équilibrage de charge, et (2) grâce à de nouvelles mesures qui vous donnent un aperçu du trafic pour chacun des services s'exécutant sur une instance EC2.

    Surveillance des opérations
    Amazon CloudWatch indique les mesures de l'équilibreur de charge d'application, telles que le nombre de requêtes, le nombre d'erreurs, les types d'erreurs et la latence des demandes.

    Journalisation
    Vous pouvez utiliser la fonctionnalité Journaux d'accès pour enregistrer toutes les requêtes envoyées à votre programme d'équilibrage de charge, puis stocker ces journaux dans Amazon S3 afin de pouvoir les analyser ultérieurement. Les journaux sont compressés et possèdent une extension de fichier GZIP. Les journaux compressés permettent d'économiser à la fois de l'espace de stockage et de la bande passante de transfert, et ils sont une aide précieuse pour le diagnostic des défaillances d'applications et l'analyse du trafic Web.

    Vous pouvez utiliser AWS CloudTrail pour enregistrer les appels d'API d'équilibreur de charge d'application effectués sur votre compte et générer les fichiers journaux. L'historique des appels d'API vous permet de réaliser des analyses de sécurité, de suivre les modifications de ressources et d'assurer l'audit de conformité.

    Protection contre la suppression
    Vous pouvez activer une protection contre la suppression sur un équilibreur de charge d'application, afin d'éviter qu'il soit supprimé par accident.

    Traçabilité des requêtes
    Application Load Balancer injecte un nouvel en-tête HTTP d'identifiant personnalisé, « X-Amzn-Trace-Id », dans toutes les requêtes en provenance de l'équilibreur de charge. La traçabilité des requêtes vous permet de suivre une requête à partir de son identifiant unique tandis qu'elle transite par les différents services qui composent vos sites web et vos applications distribuées. Cet identifiant de suivi unique peut être utilisé pour identifier des problèmes de performance ou de temporisation dans votre stack d'application à l'échelle d'une requête individuelle.

    Pare-feu de l'application Web
    Vous pouvez à présent utiliser AWS WAF pour protéger vos applications Web sur vos Application Load Balancers. AWS WAF est un pare-feu d'application Web qui vous aide à protéger vos applications Web contre les codes malveillants les plus répandus pouvant affecter la disponibilité, compromettre la sécurité ou consommer de manière excessive les ressources de votre application.

  • Network Load Balancer

    Le Network Load Balancer fonctionne au niveau de la connexion (couche 4), en acheminant les connexions vers les destinataires – les instances Amazon EC2, les conteneurs et les adresses IP en fonction des données du protocole IP. Idéal pour l'équilibrage de la charge du trafic TCP, le Network Load Balancer peut traiter des millions de requêtes par seconde tout en maintenant une latence extrêmement basse. Le Network Load Balancer est optimisé pour gérer le trafic soudain et volatil tout en utilisant une seule adresse IP statique par zone de disponibilité. Il est intégré à d'autres services AWS fréquemment utilisés tels qu'Auto Scaling, Amazon EC2 Container Service (ECS) et Amazon CloudFormation.

    Equilibrage de charge en fonction de la connexion
    Vous pouvez équilibrer la charge de trafic TCP en acheminant les connexions vers les destinataires – les instances Amazon EC2, les microservices et conteneurs, et les adresses IP.

    Haute disponibilité
    Un Network Load Balancer est hautement disponible. Il accepte le trafic entrant issu des clients et le répartit entre les destinataires au sein de la même zone de disponibilité. L'équilibreur de charge surveille également l'état de ses destinataires enregistrés et veille à n'acheminer le trafic qu'aux destinataires sains. Lorsque l'équilibreur de charge détecte un destinataire non sain, il cesse d'acheminer du trafic vers ce dernier et redirige le trafic vers les destinataires sains restants. Si tous les destinataires au sein d'une zone de disponibilité particulière sont en mauvais état, mais que vous en avez configurés dans une autre zone de disponibilité, le Network Load Balancer procède à un basculement automatique pour acheminer le trafic vers les destinataires sains figurant dans l'autre zone.

    Débit élevé
    Le Network Load Balancer est conçu pour s'adapter à l'évolution du trafic et peut équilibrer la charge de millions de requêtes par seconde. Il peut également gérer le trafic soudain et volatil.

    Faible latence
    Le Network Load Balancer offre des latences extrêmement basses pour les applications sensibles à la latence.

    Conservation de l'adresse IP source
    Le Network Load Balancer conserve l'adresse IP source côté client en permettant au back-end de voir l'adresse IP du client. Celle-ci peut ensuite être utilisée par les applications en vue d'un traitement ultérieur.

    Prise en charge des adresses IP statiques
    Le Network Load Balancer fournit automatiquement une adresse IP statique par zone de disponibilité (sous-réseau) qui peut être utilisée par les applications en tant qu'adresse IP front-end de l'équilibreur de charge.

    Prise en charge des adresses IP Elastic
    Le Network Load Balancer vous donne également la possibilité d'attribuer une adresse IP Elastic par zone de disponibilité (sous-réseau), vous fournissant ainsi votre propre adresse IP fixe.

    Vérifications de l'état de santé
    Le Network Load Balancer prend en charge les vérifications de l'état de la cible du réseau et de l'application. L'état au niveau du réseau dépend de la réponse globale de votre cible au trafic normal. Si la cible devient incapable de répondre aux nouvelles connexions ou y répond trop lentement, l'équilibreur de charge la marque comme indisponible. Les vérifications de l'état au niveau de l'application peuvent également être utilisées pour une analyse approfondie. En détectant régulièrement une URL spécifique sur une cible donnée, l'équilibreur peut intégrer l'état de l'application. Pour un diagnostic rapide et un débogage efficace, il est également possible de profiter d'une visibilité complète sur les vérifications de l'état et sur la raison potentielle de leur défaillance grâce à des « codes de motif » dans l'API de Network Load Balancer et les métriques Amazon CloudWatch associées aux vérifications de l'état de la cible.

    Basculement DNS
    Si aucune cible saine n'est enregistrée auprès du Network Load Balancer ou si les nœuds de ce dernier dans une zone donnée sont défectueux, Amazon Route 53 dirige le trafic vers les nœuds de l'équilibreur de charge situés dans d'autres zones de disponibilité.

    Intégration à Amazon Route 53
    Si votre Network Load Balancer ne répond pas, l'intégration à Route 53 retire du service l'adresse IP de l'équilibreur de charge indisponible et dirige le trafic vers un autre Network Load Balancer situé dans une région différente.

    Intégration aux services AWS
    Le Network Load Balancer est intégré à d'autres services AWS, tels qu'Auto Scaling, Amazon EC2 Container Service (ECS), AWS CloudFormation, AWS CodeDeploy et AWS Config.

    Connexions TCP de longue durée
    Le Network Load Balancer prend en charge les connexions TCP de longue durée qui sont idéales pour les applications de type WebSocket.

    Prise en charge centralisée de l'API
    Le Network Load Balancer utilise la même API que l'Application Load Balancer. Cela vous permet de travailler avec des groupes cibles et des vérifications de l'état, et d'équilibrer la charge sur plusieurs ports de la même instance Amazon EC2 pour prendre en charge les applications en conteneurs.

    Surveillance et vérification robuste
    Amazon CloudWatch communique les métriques des Network Load Balancers. CloudWatch fournit des métriques telles que le nombre de flux actifs, le nombre d'hôtes sains, le nombre de nouveaux flux, le nombre d'octets traités, etc. Le Network Load Balancer est également intégré à AWS CloudTrail. CloudTrail suit les appels d'API vers le Network Load Balancer.

    Journalisation avancée
    Vous pouvez utiliser la fonctionnalité des journaux de flux pour enregistrer toutes les requêtes envoyées à votre équilibreur de charge. Les journaux de flux collectent des informations sur le trafic IP circulant vers et depuis les interfaces réseau de votre VPC. Les données des journaux de flux sont stockées à l'aide d'Amazon CloudWatch Logs.

    Isolation zonale
    Le Network Load Balancer est conçu pour les architectures d'application situées dans une seule zone. En cas de défaillance d'une zone de disponibilité, un basculement est automatiquement effectué vers d'autres zones de disponibilité saines. Bien que nous recommandions aux clients de configurer l'équilibreur de charge et les cibles dans plusieurs zones de disponibilité pour assurer une haute disponibilité, le Network Load Balancer peut être activé dans une seule zone de disponibilité pour prendre en charge des architectures nécessitant une isolation zonale.

    Equilibrage de charge avec les adresses IP comme cibles
    Vous pouvez équilibrer les charges de n'importe quelle application hébergée dans AWS ou en local en utilisant les adresses IP des backends de l'application comme cibles. Cela permet d'équilibrer la charge vers un backend d'application hébergée sur n'importe quelle adresse IP ou n'importe quelle interface sur une instance. Chaque application hébergée sur la même instance peut disposer d'un groupe de sécurité et utiliser le même port. Vous pouvez également utiliser les adresses IP comme cibles pour équilibrer la charge d'applications hébergées en local (via une connexion Direct Connect) et sur EC2-Classic (avec ClassicLink). La possibilité d'équilibrer la charge sur AWS et sur des ressources locales simplifie la migration vers le cloud, le passage au cloud et le basculement vers le cloud.

  • Classic Load Balancer

    L'équilibreur de charge classique fournit un équilibre de charge de base entre plusieurs instances Amazon EC2 et fonctionne au niveau des requêtes et des connexions. L'équilibreur de charge classique est adapté pour les applications créées dans le réseau EC2-Classic. Nous recommandons l'Application Load Balancer pour la couche 7 et le Network Load Balancer pour la couche 4 lors de l'utilisation de Virtual Private Cloud (VPC).

    Haute disponibilité
    Vous pouvez distribuer le trafic entrant sur vos différentes instances Amazon EC2 dans une seule zone de disponibilité ou sur plusieurs zones de disponibilité. Le Classic Load Balancer met automatiquement à l'échelle sa capacité de gestion des requêtes en réponse au trafic applicatif entrant.

    Vérifications de l'état de santé
    Le Classic Load Balancer peut détecter l'état des instances Amazon EC2. Quand il détecte des instances EC2 en mauvais état, il n'achemine plus le trafic vers ces instances et répartit la charge sur les autres instances saines.

    Caractéristiques de sécurité
    Lorsque vous utilisez Amazon Virtual Private Cloud (VPC), vous pouvez créer et gérer des groupes de sécurité associés au Classic Load Balancer afin de définir des options supplémentaires de mise en réseau et de sécurité. Vous pouvez également créer un équilibreur de charge classique sans adresse IP publique, que vous utiliserez uniquement en interne (sans interface Internet).

    Transfert de la charge SSL
    Le Classic Load Balancer prend en charge la terminaison SSL et permet, notamment, de décharger les instances applicatives en prenant en charge le décryptage SSL. Il permet également la gestion centralisée des certificats SSL et le cryptage sur les instances back-end avec une authentification par clé publique facultative. Par ailleurs, la prise en charge flexible des cryptogrammes vous permet de contrôler les cryptogrammes et protocoles présentés par le programme d'équilibrage de charge aux clients.

    Sessions permanentes
    Le Classic Load Balancer permet d'associer durablement des sessions utilisateur à des instances Amazon EC2 spécifiques à l'aide de cookies. Le trafic est alors toujours acheminé vers les mêmes instances tant que l'utilisateur continue d'utiliser votre application.

    Prise en charge IPv6
    Le Classic Load Balancer prend en charge les protocoles Internet versions 4 et 6 (IPv4 et IPv6) pour les réseaux EC2-Classic.

    Equilibrage de la charge avec la couche 4 ou 7
    Vous pouvez équilibrer la charge HTTP/HTTPS des applications et utiliser des fonctionnalités spécifiques de la couche 7, telles que l'en-tête X-Forwarded et les sessions permanentes. Vous pouvez également opter pour un équilibrage de charge utilisant la couche 4 uniquement pour les applications qui reposent sur le protocole TCP.

    Surveillance des opérations
    Les mesures des équilibreurs de charge classiques, telles que le nombre de requêtes et leur temps de latence, sont indiquées par Amazon CloudWatch.

    Journalisation
    Utilisez la fonctionnalité Journaux d'accès pour enregistrer toutes les requêtes envoyées à votre programme d'équilibrage de charge, puis stocker ces journaux dans Amazon S3 afin de pouvoir les analyser ultérieurement. Ces journaux sont une aide précieuse pour le diagnostic des défaillances d'applications et l'analyse du trafic Web. Vous pouvez utiliser AWS CloudTrail pour enregistrer les appels d'API de Classic Load Balancer effectués sur votre compte et générer les fichiers journaux. L'historique des appels d'API vous permet de réaliser des analyses de sécurité, de suivre les modifications de ressources et d'assurer l'audit de conformité.