Options de mise en réseau des tâches Amazon ECS pour Fargate - Amazon Elastic Container Service

Options de mise en réseau des tâches Amazon ECS pour Fargate

Par défaut, chaque tâche Amazon ECS sur Fargate reçoit une interface réseau Elastic (ENI) avec une adresse IP privée principale. Lorsque vous utilisez un sous-réseau public, vous pouvez éventuellement attribuer une adresse IP publique à l'ENI de la tâche. Si votre VPC est configuré pour le mode double pile et que vous utilisez un sous-réseau avec un bloc CIDR IPv6, l’ENI de votre tâche reçoit également une adresse IPv6. Une tâche ne peut avoir qu'une seule ENI associée à la fois. Les conteneurs qui appartiennent à la même tâche peuvent également communiquer via l'interface localhost. Pour plus d’informations sur les VPC et les sous-réseaux, consultez la section Fonctionnement d’Amazon VPC dans le Guide de l’utilisateur Amazon VPC.

Pour qu'une tâche sur Fargate puisse extraire une image de conteneur, la tâche doit avoir un routage vers Internet. L'exemple suivant décrit également comment vous pouvez vérifier le routage vers Internet pour votre tâche.

  • Lorsque vous utilisez un sous-réseau public, vous pouvez attribuer une adresse IP publique à l'ENI de la tâche.

  • Lorsque vous utilisez un sous-réseau privé, une passerelle NAT peut être attachée au sous-réseau.

  • Lorsque vous utilisez des images de conteneur hébergées dans Amazon ECR, vous pouvez configurer Amazon ECR pour utiliser un point de terminaison VPC d'interface et l'extraction de l'image se produit sur l'adresse IPv4 privée de la tâche. Pour plus d'informations, consultez Points de terminaison d’un VPC d'interface Amazon ECR (AWS PrivateLink) dans le Guide de l'utilisateur Amazon Elastic Container Registry.

Dans la mesure où chaque tâche obtient sa propre ENI, vous pouvez utiliser des fonctionnalités de mise en réseau telles que les journaux de flux VPC, que vous pouvez utiliser pour surveiller le trafic vers et depuis vos tâches. Pour plus d’informations, consultez la rubrique Journaux de flux VPC dans le Guide de l’utilisateur Amazon VPC.

Vous pouvez également tirer parti de AWS PrivateLink. Vous pouvez configurer un point de terminaison d'interface VPC pour pouvoir accéder aux API d'Amazon ECS via des adresses IP privées. AWS PrivateLink limite l'ensemble du trafic réseau entre votre VPC et Amazon ECS sur le réseau Amazon. Vous n'avez pas besoin d'une passerelle Internet, d'un périphérique NAT ni d'une passerelle privée virtuelle. Pour plus d’informations, consultez la section Points de terminaison de VPC d’interface Amazon ECS (AWS PrivateLink).

Pour des exemples d'utilisation de la ressource NetworkConfiguration avec CloudFormation, voir Exemples de modèles CloudFormation pour Amazon ECS.

Les ENI créées sont entièrement gérées par AWS Fargate. De plus, une politique IAM associée est utilisée pour accorder des autorisations pour Fargate. Pour les tâches utilisant la version 1.4.0 de la plateforme Fargate ou une version ultérieure, la tâche reçoit une seule ENI (appelée ENI de tâche) et tout le trafic réseau passe par cette ENI au sein de votre VPC. Ce trafic est enregistré dans les journaux de flux de votre VPC. Pour les tâches qui utilisent la version 1.3.0 de la plateforme Fargate et les versions antérieures, en plus de l'ENI de la tâche, la tâche reçoit également une ENI distincte détenue par Fargate, qui est utilisée pour certains trafics réseau qui ne sont pas visibles dans les journaux de flux VPC. Le tableau suivant décrit le comportement du trafic réseau et la stratégie IAM requise pour chaque version de plateforme.

Action Flux de trafic avec les versions 1.3.0 et antérieures de la plateforme Linux Flux de trafic avec la version 1.4.0 de la plateforme Linux Flux de trafic avec la version 1.0.0 de la plateforme Windows Autorisation IAM
Récupération des informations d'identification de connexion Amazon ECR ENI Fargate ENI de tâche ENI de tâche Rôle IAM d'exécution de tâche
Extraction d'image ENI de tâche ENI de tâche ENI de tâche Rôle IAM d'exécution de tâche
Envoi de journaux via un pilote de journal ENI de tâche ENI de tâche ENI de tâche Rôle IAM d'exécution de tâche
Envoi de journaux via FireLens pour Amazon ECS ENI de tâche ENI de tâche ENI de tâche Rôle IAM de tâche
Récupération de secrets à partir de Secrets Manager ou de Systems Manager ENI Fargate ENI de tâche ENI de tâche Rôle IAM d'exécution de tâche
Trafic du système de fichiers Amazon EFS Non disponible ENI de tâche ENI de tâche Rôle IAM de tâche
Trafic d'application ENI de tâche ENI de tâche ENI de tâche Rôle IAM de tâche

Considérations

Tenez compte des éléments suivants lorsque vous utilisez le réseau de tâches.

  • Le rôle lié à un service Amazon ECS service est requis pour fournir à Amazon ECS les autorisations nécessaires pour effectuer des appels vers d'autres services AWS en votre nom. Ce rôle est généré lorsque vous créez un cluster, ou si vous créez ou mettez à jour un service dans la AWS Management Console. Pour de plus amples 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 de la AWS CLI :

    aws iam create-service-linked-role --aws-service-name ecs.amazonaws.com
  • Amazon ECS remplit le nom d'hôte de la tâche avec un nom d'hôte DNS fourni par Amazon lorsque les options enableDnsHostnames et enableDnsSupport sont 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.

  • Vous pouvez uniquement spécifier jusqu'à 16 sous-réseaux et 5 groupes de sécurité pour awsVpcConfiguration. Pour plus d'informations, veuillez consulter la rubrique AwsVpcConfiguration dans le Guide de référence des API Amazon Elastic Container Service.

  • Vous ne pouvez pas détacher ou modifier manuellement les ENI créées et attachées par Fargate. 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.

  • Si un sous-réseau VPC est mis à jour pour modifier l'ensemble d'options DHCP qu'il utilise, vous ne pouvez pas également appliquer ces modifications aux tâches existantes qui utilisent le VPC. Démarrez de nouvelles tâches, qui recevront le nouveau paramètre pour migrer en douceur tout en testant la nouvelle modification, puis arrêtez les anciennes, si aucune restauration n'est requise.

  • Ce qui suit s’applique aux tâches exécutées sur la version de plateforme Fargate 1.4.0 ou ultérieure pour Linux ou 1.0.0 pour Windows. Les tâches lancées dans des sous-réseaux à double pile reçoivent une adresse IPv4 et une adresse IPv6. Les tâches lancées dans des sous-réseaux IPv6 uniquement ne reçoivent qu’une adresse IPv6.

  • Pour les tâches utilisant la version 1.4.0 de la plateforme ou ultérieure pour Linux ou 1.0.0 pour Windows, les ENI de tâche prennent en charge les trames jumbo. Les interfaces réseau sont configurées avec une unité de transmission maximale (MTU), qui correspond à la taille de la charge utile la plus élevée possible dans une seule trame. Plus la MTU est importante, plus la charge utile de l'application peut s'intégrer dans une seule trame. Cela réduit les frais généraux par trame et augmente l'efficacité. La prise en charge des trames jumbo limite la surcharge lorsque le chemin réseau entre votre tâche et la destination prend en charge les trames jumbo.

  • Les services comportant des tâches qui utilisent Fargate ne prennent en charge que les équilibreurs de charge Application Load Balancer et Network Load Balancer. L'équilibreur de charge Classic Load Balancer n'est pas pris en charge. Lorsque vous créez des groupes cibles pour ces services, vous devez choisir le type de cible ip, et non instance. Pour de plus amples informations, consultez Use load balancing to distribute Amazon ECS service traffic.

Utilisation d'un VPC en mode double pile

Lorsque vous utilisez un VPC en mode double pile, vos tâches peuvent communiquer via IPv4, IPv6 ou les deux. Les adresses IPv4 et IPv6 sont indépendantes les unes des autres et vous devez 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, veuillez consulter la rubrique Migration vers IPv6 dans le Guide de l'utilisateur Amazon VPC.

Si les conditions suivantes sont réunies, des tâches Amazon ECS sur Fargate sont attribuées à une adresse IPv6 :

  • Le paramètre de votre compte Amazon ECS dualStackIPv6 est activé (enabled) pour que le principal IAM lance vos tâches dans la région dans laquelle vous les lancez. Ce paramètre ne peut être modifié qi^à l’aide de l’API ou de l’AWS CLI. Vous avez la possibilité d’activer ce paramètre pour un principal IAM spécifique sur votre compte ou pour l’ensemble de votre compte en définissant les paramètres par défaut de votre compte. Pour de plus amples informations, consultez Accès aux fonctionnalités d’Amazon ECS avec les paramètres du compte.

  • Votre VPC et votre sous-réseau sont activés pour 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.

  • Votre sous-réseau est activé pour l’attribution automatique d’adresses IPV6. Pour plus d'informations sur la configuration de votre sous-réseau, veuillez consulter Modifier l'attribut d'adressage IPv6 de votre sous-réseau dans le Guide de l'utilisateur Amazon VPC.

  • La tâche ou le service utilise la version de plateforme 1.4.0 Fargate ou une version ultérieure pour Linux.

Si vous configurez votre VPC avec une passerelle Internet ou une passerelle Internet sortante uniquement, les tâches Amazon ECS sur Fargate auxquelles une adresse IPv6 est attribuée peuvent accéder à Internet. Les passerelles NAT ne sont pas nécessaires. Pour plus d'informations, veuillez consulter les rubriques Passerelles Internet et Passerelle Internet en sortie uniquement dans le Guide de l'utilisateur Amazon VPC.

Utilisation d’un VPC en mode IPv6 uniquement

Dans une configuration IPv6 uniquement, vos tâches Amazon ECS communiquent exclusivement via IPv6. Pour configurer des VPC et des sous-réseaux pour une configuration IPv6 uniquement, vous devez ajouter un bloc d’adresse CIDR IPv6 au VPC et créer des sous-réseaux qui incluent uniquement un bloc d’adresse CIDR IPv6. Pour plus d’informations, consultez les sections Ajout du support IPv6 à votre VPC et Création d’un sous-réseau dans le Guide de l’utilisateur Amazon VPC. Vous devez également mettre à jour les tables de routage avec des cibles IPv6 et configurer les groupes de sécurité avec des règles IPv6. Pour plus d’informations, consultez les sections Configuration des tables de routage et Configuration des règles des groupes de sécurité dans le Guide de l’utilisateur Amazon VPC.

Les considérations suivantes s'appliquent :

  • Vous pouvez mettre à jour un service Amazon ECS uniquement IPv4 ou à double pile vers une configuration IPv6 uniquement en mettant directement à jour le service pour utiliser des sous-réseaux IPv6 uniquement ou en créant un service parallèle uniquement IPv6 et en utilisant les déploiements bleu-vert Amazon ECS pour transférer le trafic vers le nouveau service. Pour plus d’informations sur les déploiements bleu-vert Amazon ECS, consultez la section Déploiements bleu/vert d'Amazon ECS.

  • Un service Amazon ECS uniquement basé sur IPv6 doit utiliser des équilibreurs de charge à double pile avec des groupes cibles IPv6. Si vous procédez à la migration d’un service Amazon ECS existant qui repose sur un Application Load Balancer ou un Network Load Balancer, vous pouvez créer un équilibreur de charge à double pile et lui transférer le trafic depuis l’ancien équilibreur de charge, ou mettre à jour le type d’adresse IP de l’équilibreur de charge existant.

    Pour plus d’informations sur les Network Load Balancer, consultez les sections Création d’un Network Load Balancer et Mise à jour des types d’adresses IP pour votre Network Load Balancer dans le Guide de l’utilisateur des Network Load Balancer. Pour plus d’informations sur les Application Load Balancer, consultez les sections Création d’un Application Load Balancer et Mise à jour des types d’adresses IP pour votre Application Load Balancer dans le Guide de l’utilisateur des Application Load Balancer.

  • La configuration IPv6 uniquement n’est pas prise en charge sur Windows.

  • Pour que les tâches Amazon ECS dans une configuration IPv6 uniquement puissent communiquer avec des points de terminaison IPv4 uniquement, vous pouvez configurer DNS64 et NAT64 pour la traduction d’adresses réseau de IPv6 vers IPv4. Pour plus d'informations, veuillez consulter la section DNS64 et NAT64 dans le Guide de l'utilisateur Amazon VPC.

  • La configuration IPv6 uniquement est prise en charge sur la version de plateforme Fargate 1.4.0 ou ultérieure.

  • Les charges de travail Amazon ECS dans une configuration IPv6 uniquement doivent utiliser les points de terminaison d’URI d’image à double pile Amazon ECR lors de l’extraction d’images depuis Amazon ECR. Pour plus d’informations, consultez la section Premiers pas avec les requêtes IPv6 dans le Guide de l’utilisateur Amazon Elastic Container Registry.

    Note

    Amazon ECR ne prend pas en charge les points de terminaison VPC d’interface double pile que les tâches d’une configuration IPv6 uniquement peuvent utiliser. Pour plus d’informations, consultez la section Premiers pas avec les requêtes IPv6 dans le Guide de l’utilisateur Amazon Elastic Container Registry.

  • Amazon ECS Exec n’est pas pris en charge dans une configuration IPv6 uniquement.

  • Amazon CloudWatch ne prend pas en charge un point de terminaison FIPS à double pile pouvant être utilisé pour surveiller les tâches Amazon ECS dans une configuration IPv6 uniquement conforme à la norme FIPS-140. Pour plus d’informations sur FIPS-140, consultez la section Norme AWS Fargate Federal Information Processing Standard (FIPS-140).

Régions AWS prenant en charge le mode IPv6 uniquement pour Amazon ECS

Vous pouvez exécuter des tâches dans une configuration IPv6 uniquement dans les Régions AWS suivantes où Amazon ECS est disponible :

  • USA Est (Ohio)

  • USA Est (Virginie du Nord)

  • USA Ouest (Californie du Nord)

  • USA Ouest (Oregon)

  • Afrique (Le Cap)

  • Asie-Pacifique (Hong Kong)

  • Asie-Pacifique (Hyderabad)

  • Asie-Pacifique (Jakarta)

  • Asie-Pacifique (Melbourne)

  • Asie-Pacifique (Mumbai)

  • Asie-Pacifique (Osaka)

  • Asia Pacific (Seoul)

  • Asie-Pacifique (Singapour)

  • Asie-Pacifique (Sydney)

  • Asie-Pacifique (Tokyo)

  • Canada (Centre)

  • Canada-Ouest (Calgary)

  • Chine (Beijing)

  • China (Ningxia)

  • Europe (Francfort)

  • Europe (Londres)

  • Europe (Milan)

  • Europe (Paris)

  • Europe (Espagne)

  • Israël (Tel Aviv)

  • Moyen-Orient (Bahreïn)

  • Moyen-Orient (EAU)

  • Amérique du Sud (São Paulo)

  • AWS GovCloud (US, côte est)

  • AWS GovCloud (US-West)