Utiliser un Network Load Balancer pour Amazon ECS - Amazon Elastic Container Service

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 les décisions relatives au 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 TCP connexion avec 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 votre tâche spécifie le port 80 pour un port de NGINX conteneur et le port 0 pour le port hôte, le port hôte est choisi dynamiquement dans la plage de ports éphémères de l'instance de conteneur (par exemple 32768 à 61000 sur la dernière version optimisée pour Amazon). ECS AMI Lorsque la tâche est lancée, le NGINX conteneur est enregistré auprès du Network Load Balancer en tant que combinaison d'ID d'instance et de port, et le trafic est distribué à l'ID d'instance et au 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 a ECS besoin du IAM rôle lié à un service qui fournit les autorisations nécessaires pour enregistrer et désenregistrer des cibles auprès de votre équilibreur de charge lorsque des tâches sont créées et arrêtées. Pour de plus amples informations, veuillez consulter Utilisation de 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 choisir ip comme type de cible, pas 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.

  • 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 copilote AWS CLI ou pour modifier la configuration de l'équilibreur de charge SDK pour le contrôleur de déploiement ECS évolutif uniquement, et non pour le AWS CodeDeploy 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 Elastic Load Balancing mise à jour. 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 modification de la configuration, consultez UpdateServicele 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 sur Amazon ECS.

  • Vos tâches et votre équilibreur de charge doivent être identiquesVPC.

  • 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 CC1CC2,CG1,CG2,CR1,, G1, G2,HI1, M1HS1, M2, M3 et T1. Vous pouvez enregistrer les instances de ces types par adresse IP.