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.
Utiliser un Network Load Balancer pour Amazon ECS
Un Network Load Balancer prend des décisions de routage au niveau de la couche de transport (TCP/SSL). Il est capable de traiter des millions de requêtes par seconde. Lorsque l'équilibreur de charge reçoit une connexion, il sélectionne une cible depuis le groupe cible pour la règle par défaut à l'aide d'un algorithme de routage du hachage de flux. Il tente d'ouvrir une connexion TCP à la cible sélectionnée sur le port spécifié dans la configuration de l'écouteur. Il transmet la demande sans modifier les en-têtes. Les équilibreurs de charge Network Load Balancer prennent en charge le mappage de port hôte dynamique. Par exemple, si la définition de conteneur de la tâche spécifie le port 80 pour un port de conteneur NGINX et le port 0 pour le port hôte, le port hôte est choisi dynamiquement à partir de la plage de ports éphémères de l'instance de conteneur (par exemple, 32768 à 61000 sur la dernière AMI optimisée pour Amazon ECS). Lorsque la tâche est lancée, le conteneur NGINX est enregistré dans l'équilibreur de charge Network Load Balancer en tant que combinaison d'ID d'instance et de port, et le trafic est réparti vers l'ID d'instance et le port correspondant à ce conteneur. Ce mappage dynamique vous permet d'exécuter plusieurs tâches à partir d'un seul service sur la même instance de conteneur. Pour plus d'informations, veuillez consulter le Guide de l'utilisateur pour les Network Load Balancers.
Pour plus d'informations sur les meilleures pratiques en matière de définition de paramètres afin d'accélérer vos déploiements, consultez :
Tenez compte des points suivants lorsque vous utilisez des équilibreurs de charge réseau avec Amazon ECS :
-
Amazon ECS nécessite le rôle IAM lié au service qui fournit les autorisations nécessaires pour enregistrer et désenregistrer des cibles dans votre équilibreur de charge lors de la création ou de l'arrêt de tâches. Pour de plus amples informations, veuillez consulter Utilisation des rôles liés à un service pour Amazon ECS.
-
Vous ne pouvez pas associer plus de cinq groupes cibles à un service.
-
Pour les services avec des tâches utilisant le mode réseau
awsvpc
, lorsque vous créez un groupe cible pour votre service, vous devez choisirip
comme type de cible, pasinstance
. Cela est dû au fait que les tâches qui utilisent le modeawsvpc
réseau sont associées à une interface réseau élastique, et non à une EC2 instance Amazon. -
La configuration de sous-réseau de votre équilibreur de charge doit inclure toutes les zones de disponibilité dans lesquels résident vos instances de conteneur.
-
Une fois que vous avez créé un service, la configuration de l'équilibreur de charge ne peut pas être modifiée à partir de la AWS Management Console. Vous pouvez utiliser le AWS Copilot AWS CLI ou le SDK pour modifier la configuration de l'équilibreur de charge uniquement pour le contrôleur de déploiement
ECS
évolutif, et non AWS CodeDeploy pour le bleu/vert ou externe. AWS CloudFormation Lorsque vous ajoutez, mettez à jour ou supprimez une configuration d'équilibreur de charge, Amazon ECS lance un nouveau déploiement avec la configuration mise à jour d'Elastic Load Balancing. Cela entraîne l'enregistrement et le désenregistrement des tâches auprès des équilibreurs de charge. Nous vous recommandons de vérifier cela dans un environnement de test avant de mettre à jour la configuration d'Elastic Load Balancing. Pour plus d'informations sur la manière de modifier la configuration, consultez le UpdateServicemanuel Amazon Elastic Container Service API Reference. -
Si une tâche de service ne répond pas aux critères de vérification de l'état de l'équilibreur de charge, la tâche est arrêtée puis redémarrée. Ce processus continue jusqu'à ce que votre service atteigne le nombre souhaité de tâches en cours d'exécution.
-
Lorsque vous utilisez un Gateway Load Balancer configuré avec des adresses IP comme cibles et la préservation de l'adresse IP du client désactivée, les demandes sont considérées comme provenant de l'adresse IP privée du Gateway Load Balancer. Cela signifie que les services associés à un Gateway Load Balancer sont effectivement ouverts au monde dès que vous autorisez les demandes entrantes et les contrôles de santé dans le groupe de sécurité cible.
-
Pour les tâches Fargate, vous devez utiliser la
1.4.0
version de plate-forme (Linux)1.0.0
ou (Windows). -
Si vous rencontrez des problèmes avec l'équilibreur de charge utilisé par vos services, consultez Résolution des problèmes liés aux équilibreurs de charge de service dans Amazon ECS.
-
Lorsque vous utilisez le type de
instance
cible, vos tâches et votre équilibreur de charge doivent se trouver dans le même VPC. Lors de l'utilisation du type deip
cible, la connectivité inter-VPC est prise en charge. -
La préservation de l'adresse IP du client Network Load Balancer est compatible avec les cibles Fargate.
-
Utilisez un groupe cible unique pour chaque service.
L'utilisation du même groupe cible pour plusieurs services peut entraîner des problèmes lors des déploiements de services.
Pour plus d'informations sur la création d'un Network Load Balancer, voir Create a Network Load Balancer dans Network Load Balancers
Important
Si la définition de tâche de votre service utilise le mode réseau awsvpc
(requis pour le type de lancement Fargate), vous devez choisir le type de cible ip
, et non instance
. Cela est dû au fait que les tâches qui utilisent le mode awsvpc
réseau sont associées à une interface réseau élastique, et non à une EC2 instance Amazon.
Vous ne pouvez pas enregistrer des instances par ID d'instance si elles ont les types d'instance suivants : C1 CC1 CC2, CG1, CG2, CR1,, G1, G2, HI1, M1 HS1, M2, M3 et T1. Vous pouvez enregistrer les instances de ces types par adresse IP.