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.
Allouer une interface réseau pour une tâche Amazon ECS
Les fonctions de mise en réseau des tâches fournies par le mode réseau awsvpc
attribuent aux tâches Amazon ECS les mêmes propriétés de mise en réseau que les instances Amazon EC2. L'utilisation du mode awsvpc
réseau simplifie la mise en réseau des conteneurs, car vous pouvez mieux contrôler la façon dont vos applications communiquent entre elles et avec les autres services au sein de vos VPC. Le mode awsvpc
réseau renforce également la sécurité de vos conteneurs en vous permettant d'utiliser des groupes de sécurité et des outils de surveillance réseau à un niveau plus détaillé dans le cadre de vos tâches. Vous pouvez également utiliser d'autres fonctionnalités réseau d'Amazon EC2, telles que les journaux de flux VPC pour surveiller le trafic en provenance et à destination de vos tâches. De plus, les conteneurs qui appartiennent à la même tâche peuvent communiquer via l'interface localhost
.
La task elastic network interface (ENI) est une fonctionnalité entièrement gérée d'Amazon ECS. Amazon ECS crée l'ENI et l'attache à l'instance Amazon EC2 hôte avec le groupe de sécurité spécifié. La tâche envoie et reçoit le trafic réseau sur l'ENI de la même manière que les instances Amazon EC2 avec leurs interfaces réseau principales. Chaque ENI de tâche se voit attribuer une adresse IPv4 privée par défaut. Si votre VPC est activé pour le mode double pile et que vous utilisez un sous-réseau avec un bloc CIDR IPv6, l'ENI de tâche recevra également une adresse IPv6. Chaque tâche ne peut avoir qu'une seule ENI.
Ces ENI sont visibles dans la console Amazon EC2 de votre compte. Votre compte ne peut pas détacher ou modifier les ENI. L'objectif est d'empêcher la suppression accidentelle de toute ENI associée à une tâche en cours d'exécution. Vous pouvez consulter les informations de pièce jointe ENI pour les tâches dans la console Amazon ECS ou lors du fonctionnement de l'DescribeTasksAPI. Lorsque la tâche s'arrête ou si le service est réduit, l'ENI de la tâche est détachée et supprimée.
Lorsque vous avez besoin d'une densité ENI accrue, utilisez les paramètres du awsvpcTrunking
compte. Amazon ECS crée et attache également une interface réseau « tronc » pour votre instance de conteneur. Le réseau « de jonction » est entièrement géré par Amazon ECS. L'ENI « de jonction » est supprimée lorsque vous résiliez votre instance de conteneur ou lorsque vous annulez son enregistrement dans le cluster Amazon ECS. Pour plus d'informations sur le paramétrage du awsvpcTrunking
compte, consultezPrérequis.
Vous le spécifiez awsvpc
dans le networkMode
paramètre de la définition de la tâche. Pour plus d’informations, consultez Mode réseau.
Ensuite, lorsque vous exécutez une tâche ou créez un service, utilisez le networkConfiguration
paramètre qui inclut un ou plusieurs sous-réseaux dans lesquels placer vos tâches et un ou plusieurs groupes de sécurité à associer à un ENI. Pour plus d’informations, consultez Configuration réseau. Les tâches sont placées sur des instances Amazon EC2 compatibles dans les mêmes zones de disponibilité que ces sous-réseaux et les groupes de sécurité spécifiés sont associés à l'ENI qui est allouée pour la tâche.
Considérations relatives à Linux
Tenez compte des éléments suivants lorsque vous utilisez le système d'exploitation Linux.
-
Si vous utilisez une instance p5.48xlarge en
awsvpc
mode, vous ne pouvez pas exécuter plus d'une tâche sur l'instance. -
Les tâches et les services qui utilisent le mode
awsvpc
réseau nécessitent le rôle lié au service Amazon ECS pour fournir à Amazon ECS les autorisations nécessaires pour passer des appels vers d'autres AWS services en votre nom. Ce rôle est généré automatiquement lorsque vous créez un cluster, ou si vous créez ou mettez à jour un service dans la AWS Management Console. Pour plus d’informations, consultez Utilisation des rôles liés à un service pour Amazon ECS. Vous pouvez également créer le rôle lié à un service à l'aide de la commande suivante : AWS CLIaws iam create-service-linked-role --aws-service-name ecs.amazonaws.com
-
Votre instance Linux Amazon EC2 Linux nécessite une version
1.15.0
ou une version ultérieure de l'agent de conteneur pour exécuter des tâches qui utilisent le mode réseauawsvpc
. Si vous utilisez l'AMI Linux optimisée pour Amazon ECS, votre instance doit également au moins disposer de la version1.15.0-4
du packageecs-init
. -
Amazon ECS remplit le nom d'hôte d'une tâche avec un nom d'hôte DNS (interne) fourni par Amazon lorsque les options
enableDnsHostnames
etenableDnsSupport
sont toutes deux activées sur votre VPC. Si ces options ne sont pas activées, le nom d'hôte DNS de la tâche est un nom d'hôte aléatoire. Pour plus d'informations sur les paramètres DNS d'un VPC, veuillez consulter la rubrique Utilisation de DNS avec votre VPC dans le Guide de l'utilisateur Amazon VPC. -
Les tâches Amazon ECS qui utilisent le mode réseau
awsvpc
reçoivent chacune leur propre interface réseau Elastic (ENI), qui est attachée à l'instance Amazon EC2 qui l'héberge. Il existe un quota par défaut pour le nombre d'interfaces réseau qui peuvent être attachées à une instance Amazon EC2 Linux. L'interface réseau principale est considérée comme une seule pour ce quota. Par exemple, par défaut, une instancec5.large
peut avoir jusqu'à trois ENI pouvant lui être attachées. L'interface réseau principale de l'instance est considérée comme une interface réseau. Vous pouvez attacher deux ENI supplémentaires à l'instance. Dans la mesure où chaque tâche utilisant le mode réseauawsvpc
nécessite une ENI, vous ne pouvez généralement exécuter que deux tâches sur ce type d'instance. Pour plus d'informations sur les limites ENI par défaut pour chaque type d'instance, consultez la section Adresses IP par interface réseau et par type d'instance dans le guide de l'utilisateur Amazon EC2. -
Amazon ECS prend en charge le lancement d'instances Amazon EC2 Linux avec une augmentation de la densité ENI et utilisant des types d'instances pris en charge. Lorsque vous activez le paramètre de compte
awsvpcTrunking
et enregistrez les instances Linux Amazon EC2 à l'aide de ces types d'instance dans votre cluster, ces instances ont des quotas ENI plus élevés. L'utilisation de ces instances avec ce quota plus élevé signifie que vous pouvez placer davantage de tâches sur chaque instance Amazon EC2 Linux. Pour utiliser une densité ENI supérieure avec la fonctionnalité de jonction, vos instances Amazon EC2 doivent utiliser la version1.28.1
ou ultérieure de l'agent de conteneur. Si vous utilisez une AMI optimisée pour Amazon ECS, votre instance doit également au moins disposer de la version1.28.1-2
du packageecs-init
. Pour en savoir plus sur l'acceptation du paramètre de compteawsvpcTrunking
, consultez Accédez aux fonctionnalités d'Amazon ECS avec les paramètres du compte. Pour en savoir plus sur la jonction ENI, consultez Augmentation des interfaces réseau des instances de conteneur Linux Amazon ECS. -
Lors de l'hébergement de tâches qui utilisent le mode réseau
awsvpc
sur les instances Linux Amazon EC2, les ENI de votre tâche ne reçoivent pas d'adresses IP publiques. Pour accéder à Internet, les tâches doivent être lancées dans un sous-réseau privé configuré pour utiliser une passerelle NAT. Pour plus d'informations, veuillez consulter NAT Gateways (Passerelles NAT) dans le Guide de l'utilisateur Amazon VPC. L'accès entrant au réseau doit se faire depuis un VPC avec l'adresse IP privée ou doit transiter par un équilibreur de charge au sein du VPC. Les tâches lancées dans les sous-réseaux publics n'ont pas accès à Internet. -
Amazon ECS reconnaît uniquement les ENI qu'il attache à vos instances Amazon EC2 Linux. Si vous avez associé manuellement des ENI à vos instances, Amazon ECS peut tenter d'ajouter une tâche à une instance qui ne dispose pas de suffisamment de cartes réseau. Cela peut entraîner l'expiration de la tâche et le passage à un état de déprovisionnement, puis à un état d'arrêt. Nous vous recommandons de ne pas attacher manuellement des ENI à vos instances.
-
Les instances Amazon EC2 Linux doivent être enregistrées avec la capacité
ecs.capability.task-eni
pour pouvoir faire l'objet d'un placement des tâches avec le mode réseauawsvpc
. Les instances exécutant la version1.15.0-4
ou une version ultérieure d'ecs-init
sont automatiquement enregistrées avec cet attribut. -
Les ENI créées et attachées à vos instances Amazon EC2 Linux ne peuvent pas être détachées manuellement ni modifiées par votre compte. L'objectif est d'empêcher la suppression accidentelle de toute ENI associée à une tâche en cours d'exécution. Pour libérer les ENI d'une tâche, arrêtez cette dernière.
-
Il existe une limite de 16 sous-réseaux et 5 groupes de sécurité pouvant être spécifiés dans
awsVpcConfiguration
lors de l'exécution d'une tâche ou de la création d'un service qui utilise le mode réseauawsvpc
. Pour plus d'informations, consultez le AwsVpcConfigurationmanuel Amazon Elastic Container Service API Reference. -
Lorsqu'une tâche est démarrée avec le mode réseau
awsvpc
, l'agent de conteneur Amazon ECS crée un conteneurpause
supplémentaire pour chaque tâche avant de démarrer les conteneurs dans la définition de tâche. Il configure ensuite l'espace de noms réseau dupause
conteneur en exécutant les plugins amazon-ecs-cni-pluginsCNI. L'agent démarre ensuite le reste des conteneurs dans la tâche afin qu'ils partagent la pile réseau du conteneur pause
. Cela signifie que tous les conteneurs d'une tâche peuvent être adressés par les adresses IP de l'ENI et qu'ils peuvent communiquer entre eux via l'interfacelocalhost
. -
Les services avec des tâches qui utilisent le mode réseau
awsvpc
prennent uniquement en charge Application Load Balancer et Network Load Balancer. Lorsque vous créez des groupes cibles pour ces services, vous devez choisirip
comme type de cible. N'utilisez pasinstance
. En effet, les tâches qui utilisent le mode réseauawsvpc
sont associées à une ENI, et non à une instance Amazon EC2 Linux. Pour plus d’informations, consultez Utiliser l'équilibrage de charge pour distribuer le trafic du service Amazon ECS. -
Si votre VPC est mis à jour pour modifier le jeu d'options DHCP qu'il utilise, vous ne pouvez pas appliquer ces modifications aux tâches existantes. Commencez de nouvelles tâches en leur appliquant ces modifications, vérifiez qu'elles fonctionnent correctement, puis arrêtez les tâches existantes afin de modifier ces configurations réseau en toute sécurité.
Considérations relatives à Windows
Voici quelques points à prendre en compte lorsque vous utilisez le système d'exploitation Windows :
-
Les instances de conteneur utilisant l'AMI Windows Server 2016 optimisée pour Amazon ECS ne peuvent pas héberger des tâches qui utilisent le mode réseau
awsvpc
. Si vous disposez d'un cluster qui contient des AMI Windows Server 2016 optimisées pour Amazon ECS et des AMI Windows qui prennent en charge le mode réseauawsvpc
, les tâches qui utilisent le mode réseauawsvpc
ne sont pas lancées sur les instances Windows 2016 Server. Elles sont plutôt lancées sur des instances qui prennent en charge le mode réseauawsvpc
. -
Votre instance Windows Amazon EC2 nécessite une version
1.57.1
ou une version ultérieure de l'agent de conteneur pour utiliser CloudWatch les métriques pour les conteneurs Windows qui utilisent le modeawsvpc
réseau. -
Les tâches et les services qui utilisent le mode
awsvpc
réseau nécessitent le rôle lié au service Amazon ECS pour fournir à Amazon ECS les autorisations nécessaires pour passer des appels vers d'autres AWS services en votre nom. Ce rôle est généré automatiquement lorsque vous créez un cluster, ou si vous créez ou mettez à jour un service dans AWS Management Console. Pour plus d’informations, consultez Utilisation des rôles liés à un service pour Amazon ECS. Vous pouvez également créer le rôle lié à un service à l'aide de la commande suivante AWS CLI .aws iam create-service-linked-role --aws-service-name ecs.amazonaws.com
-
Votre instance Amazon EC2 Windows nécessite une version
1.54.0
ou une version ultérieure de l'agent de conteneur pour exécuter des tâches qui utilisent le mode réseauawsvpc
. Lorsque vous amorcez l'instance, vous devez configurer les options requises pour le mode réseauawsvpc
. Pour plus d’informations, consultez Démarrage des instances de conteneur Windows Amazon ECS pour transmettre des données. -
Amazon ECS remplit le nom d'hôte d'une tâche avec un nom d'hôte DNS (interne) fourni par Amazon lorsque les options
enableDnsHostnames
etenableDnsSupport
sont toutes deux activées sur votre VPC. Si ces options ne sont pas activées, le nom d'hôte DNS de la tâche est un nom d'hôte aléatoire. Pour plus d'informations sur les paramètres DNS d'un VPC, veuillez consulter la rubrique Utilisation de DNS avec votre VPC dans le Guide de l'utilisateur Amazon VPC. -
Les tâches Amazon ECS qui utilisent le mode réseau
awsvpc
reçoivent chacune leur propre interface réseau Elastic (ENI), qui est attachée à l'instance Amazon EC2 Windows qui l'héberge. Il existe un quota par défaut pour le nombre d'interfaces réseau pouvant être attachées à une instance Amazon EC2 Windows. L'interface réseau principale est considérée comme une seule pour ce quota. Par exemple, par défaut, une instancec5.large
peut avoir jusqu'à trois ENI qui lui sont attachées. L'interface réseau principale de l'instance compte parmi celles-ci. Vous pouvez attacher deux ENI supplémentaires à l'instance. Dans la mesure où chaque tâche utilisant le mode réseauawsvpc
nécessite une ENI, vous ne pouvez généralement exécuter que deux tâches sur ce type d'instance. Pour plus d'informations sur les limites ENI par défaut pour chaque type d'instance, consultez la section Adresses IP par interface réseau et par type d'instance dans le guide de l'utilisateur Amazon EC2. -
Lors de l'hébergement de tâches qui utilisent le mode réseau
awsvpc
sur les instances Windows Amazon EC2, les ENI de votre tâche ne reçoivent pas d'adresses IP publiques. Pour accéder à Internet, lancez les tâches dans un sous-réseau privé configuré pour utiliser une passerelle NAT. Pour plus d'informations, veuillez consulter NAT Gateways (Passerelles NAT) dans le Guide de l'utilisateur Amazon VPC. L'accès entrant au réseau doit se faire depuis le VPC avec l'adresse IP privée ou doit transiter par un équilibreur de charge au sein du VPC. Les tâches lancées dans les sous-réseaux publics n'ont pas accès à Internet. -
Amazon ECS reconnaît uniquement les ENI qu'il a attachées à votre instance Windows Amazon EC2. Si vous avez associé manuellement des ENI à vos instances, Amazon ECS peut tenter d'ajouter une tâche à une instance qui ne dispose pas de suffisamment de cartes réseau. Cela peut entraîner l'expiration de la tâche et le passage à un état de déprovisionnement, puis à un état d'arrêt. Nous vous recommandons de ne pas attacher manuellement des ENI à vos instances.
-
Les instances Amazon EC2 Windows doivent être enregistrées avec l'interface réseau
ecs.capability.task-eni
pour pouvoir faire l'objet d'un placement des tâches avec le mode réseauawsvpc
. -
Vous ne pouvez pas modifier ou détacher manuellement les ENI créées et attachées à vos instances Windows Amazon EC2. Cela vous évite de supprimer accidentellement une ENI associée à une tâche en cours d'exécution. Pour libérer les ENI d'une tâche, arrêtez cette dernière.
-
Vous pouvez uniquement spécifier jusqu'à 16 sous-réseaux et 5 groupes de sécurité dans
awsVpcConfiguration
, lorsque vous exécutez une tâche ou créez un service qui utilise le mode réseauawsvpc
. Pour plus d'informations, consultez le AwsVpcConfigurationmanuel Amazon Elastic Container Service API Reference. -
Lorsqu'une tâche est démarrée avec le mode réseau
awsvpc
, l'agent de conteneur Amazon ECS crée un conteneurpause
supplémentaire pour chaque tâche avant de démarrer les conteneurs dans la définition de tâche. Il configure ensuite l'espace de noms réseau dupause
conteneur en exécutant les plugins amazon-ecs-cni-pluginsCNI. L'agent démarre ensuite le reste des conteneurs dans la tâche afin qu'ils partagent la pile réseau du conteneur pause
. Cela signifie que tous les conteneurs d'une tâche peuvent être adressés par les adresses IP de l'ENI et qu'ils peuvent communiquer entre eux via l'interfacelocalhost
. -
Les services avec des tâches qui utilisent le mode réseau
awsvpc
prennent uniquement en charge Application Load Balancer et Network Load Balancer. Lorsque vous créez des groupes cibles pour ces services, vous devez choisir le type de cibleip
, et noninstance
. En effet, les tâches qui utilisent le mode réseauawsvpc
sont associées à une ENI, et non à une instance Amazon EC2 Windows. Pour plus d’informations, consultez Utiliser l'équilibrage de charge pour distribuer le trafic du service Amazon ECS. -
Si votre VPC est mis à jour pour modifier le jeu d'options DHCP qu'il utilise, vous ne pouvez pas appliquer ces modifications aux tâches existantes. Commencez de nouvelles tâches en leur appliquant ces modifications, vérifiez qu'elles fonctionnent correctement, puis arrêtez les tâches existantes afin de modifier ces configurations réseau en toute sécurité.
-
Les éléments suivants ne sont pas pris en charge lorsque vous utilisez le mode réseau
awsvpc
dans une configuration Windows EC2 :-
Configuration à double pile
-
IPv6
-
Jonction ENI
-
Utilisation d'un VPC en mode double pile
Lorsque vous utilisez un VPC en mode double pile, vos tâches peuvent communiquer via IPv4 ou IPv6, ou les deux. Les adresses IPv4 et IPv6 sont indépendantes les unes des autres. Vous devez donc configurer le routage et la sécurité dans votre VPC séparément pour IPv4 et IPv6. Pour plus d'informations sur la configuration de votre VPC pour le mode double pile, consultez la rubrique Migration vers IPv6 dans le Guide de l'utilisateur Amazon VPC.
Si vous avez configuré votre VPC avec une passerelle Internet ou une passerelle Internet sortante uniquement, vous pouvez utiliser votre VPC en mode double pile. De ce fait, les tâches auxquelles une adresse IPv6 est attribuée peuvent accéder à Internet via une passerelle Internet ou une passerelle Internet de sortie uniquement. Les passerelles NAT sont facultatives. Pour plus d'informations, veuillez consulter les rubriques Passerelles Internet et Passerelle Internet en sortie uniquement dans le Guide de l'utilisateur Amazon VPC.
Une adresse IPv6 est attribuée aux tâches Amazon ECS si les conditions suivantes sont réunies :
-
L'instance Linux Amazon EC2 hébergeant la tâche utilise la version
1.45.0
ou version ultérieure de l'agent de conteneur. Pour plus d'informations sur la vérification de la version de l'agent utilisée par votre instance et la mise à jour si nécessaire, veuillez consulter Mise à jour de l'agent de conteneur Amazon ECS. -
Le paramètre de compte
dualStackIPv6
est activé. Pour plus d’informations, consultez Accédez aux fonctionnalités d'Amazon ECS avec les paramètres du compte. -
Votre tâche utilise le mode réseau
awsvpc
. -
Votre VPC et votre sous-réseau sont configurés pour IPv6. La configuration inclut les interfaces réseau créées dans le sous-réseau spécifié. Pour plus d'informations sur la configuration de votre VPC pour le mode double pile, veuillez consulter les rubriques Migration vers IPv6 et Modifier l'attribut d'adressage IPv6 de votre sous-réseau dans le Guide de l'utilisateur Amazon VPC.