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.
Votre service Amazon ECS service peut desservir le trafic provenant de plusieurs équilibreurs de charge et exposer plusieurs ports à charge équilibrée en spécifiant plusieurs groupes cibles dans une définition de service.
Pour créer un service spécifiant plusieurs groupes cibles, vous devez créer le service à l'aide de l'API Amazon ECS, du SDK ou d'un AWS CloudFormation modèle. AWS CLI Une fois que le service est créé, vous pouvez afficher le service et les groupes cibles enregistrés auprès de celui-ci avec la AWS Management Console. Vous devez utiliser UpdateService
pour modifier la configuration de l'équilibreur de charge d'un service existant.
Plusieurs groupes cibles peuvent être spécifiés dans une définition de service à l'aide du format suivant. Pour obtenir la syntaxe complète d'une définition de service, consultez Modèle de définition de service.
"loadBalancers":[ { "targetGroupArn":"arn:aws:elasticloadbalancing:
region
:123456789012
:targetgroup/target_group_name_1/1234567890123456
", "containerName":"container_name
", "containerPort":container_port
}, { "targetGroupArn":"arn:aws:elasticloadbalancing:region
:123456789012
:targetgroup/target_group_name_2/6543210987654321
", "containerName":"container_name
", "containerPort":container_port
} ]
Considérations
Les informations suivantes doivent être prises en compte lorsque vous spécifiez plusieurs groupes cibles dans une définition de service.
-
Pour les services qui utilisent un équilibreur Application Load Balancer ou un Network Load Balancer, vous ne pouvez pas attacher plus de cinq groupes cibles à un service.
-
La spécification de plusieurs groupes cibles dans une définition de service n'est prise en charge que dans les conditions suivantes :
-
Le service doit utiliser un équilibreur de charge Application Load Balancer ou un Network Load Balancer.
-
Le service doit utiliser la mise à jour propagée (
ECS
) comme type de contrôleur de déploiement.
-
-
La spécification de plusieurs groupes cibles est prise en charge pour les services contenant des tâches utilisant à la fois les types Fargate et Launch. EC2
-
Lors de la création d'un service qui spécifie plusieurs groupes cibles, le rôle lié à un service Amazon ECS service doit être créé. Le rôle est créé en omettant le paramètre
role
dans les demandes d'API, ou la propriétéRole
dans AWS CloudFormation. Pour de plus amples informations, veuillez consulter Utilisation des rôles liés à un service pour Amazon ECS.
Exemples de définitions de service
Voici quelques exemples de cas d'utilisation pour spécifier plusieurs groupes cibles dans une définition de service. Pour obtenir la syntaxe complète d'une définition de service, consultez Modèle de définition de service.
Disposer d'équilibreurs de charge séparés pour le trafic interne et externe
Dans le cas d'utilisation suivant, un service utilise deux équilibreurs de charge distincts, l'un pour le trafic interne et l'autre pour le trafic Internet, pour le même conteneur et port.
"loadBalancers":[ //Internal ELB { "targetGroupArn":"arn:aws:elasticloadbalancing:
region
:123456789012
:targetgroup/target_group_name_1/1234567890123456
", "containerName":"nginx", "containerPort":8080 }, //Internet-facing ELB { "targetGroupArn":"arn:aws:elasticloadbalancing:region
:123456789012
:targetgroup/target_group_name_2/6543210987654321
", "containerName":"nginx", "containerPort":8080 } ]
Exposition de plusieurs ports à partir du même conteneur
Dans le cas d'utilisation suivant, un service utilise un équilibreur de charge, mais expose plusieurs ports à partir du même conteneur. Par exemple, un conteneur Jenkins expose le port 8080 pour l'interface web Jenkins et le port 50000 pour l'API.
"loadBalancers":[ { "targetGroupArn":"arn:aws:elasticloadbalancing:
region
:123456789012
:targetgroup/target_group_name_1/1234567890123456
", "containerName":"jenkins", "containerPort":8080 }, { "targetGroupArn":"arn:aws:elasticloadbalancing:region
:123456789012
:targetgroup/target_group_name_2/6543210987654321
", "containerName":"jenkins", "containerPort":50000 } ]
Exposer les ports de plusieurs conteneurs
Dans le cas d'utilisation suivant, un service utilise un équilibreur de charge et deux groupes cibles pour exposer les ports de conteneurs distincts.
"loadBalancers":[ { "targetGroupArn":"arn:aws:elasticloadbalancing:
region
:123456789012
:targetgroup/target_group_name_1/1234567890123456
", "containerName":"webserver", "containerPort":80 }, { "targetGroupArn":"arn:aws:elasticloadbalancing:region
:123456789012
:targetgroup/target_group_name_2/6543210987654321
", "containerName":"database", "containerPort":3306 } ]