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.
Augmenter les interfaces réseau des instances de conteneur Linux Amazon ECS
Note
Cette fonction n'est pas disponible sur Fargate.
Chaque tâche qui utilise le mode awsvpc
réseau reçoit sa propre interface Elastic Network (ENI), qui est attachée à l'instance de conteneur qui l'héberge. Le nombre d'interfaces réseau pouvant être associées à une EC2 instance Amazon est limité par défaut, et l'interface réseau principale compte pour une. Par exemple, par défaut, jusqu'à trois c5.large
instances peuvent être ENIs associées. L'interface réseau principale de l'instance compte pour une seule, vous pouvez donc en attacher deux autres ENIs à l'instance. Comme chaque tâche utilisant le mode awsvpc
réseau nécessite unENI, vous ne pouvez généralement exécuter que deux tâches de ce type sur ce type d'instance.
Amazon ECS prend en charge le lancement d'instances de conteneur avec une ENI densité accrue à l'aide des types d' EC2 instances Amazon pris en charge. Lorsque vous utilisez ces types d'instances et que vous activez le paramètre du awsvpcTrunking
compte, d'autres ENIs sont disponibles sur les instances de conteneur récemment lancées. Cette configuration vous permet de placer plus de tâches sur chaque instance de conteneur. Pour utiliser la console afin d'activer la fonctionnalité, voirModification des paramètres du compte Amazon ECS. Pour utiliser le AWS CLI pour activer la fonctionnalité, voirGestion des paramètres du compte Amazon ECS à l'aide du AWS CLI.
Par exemple, une c5.large
instance avec awsvpcTrunking
une ENI limite accrue de douze. L'instance de conteneur a alors une interface réseau principale. Amazon ECS crée et attache une interface réseau « tronc » à l'instance de conteneur. Par conséquent, cette configuration vous permet de lancer dix tâches sur l'instance de conteneur au lieu des deux tâches actuellement possibles.
L'interface réseau « tronc » est entièrement gérée par Amazon ECS et est supprimée lorsque vous résiliez votre instance de conteneur ou lorsque vous annulez son enregistrement dans le cluster. Pour de plus amples informations, veuillez consulter Options de mise en réseau des tâches Amazon ECS pour le type de EC2 lancement.
Considérations
Tenez compte des points suivants lorsque vous utilisez la fonction de ENI jonction.
-
Seules les variantes Linux de l'AMI optimisée pour Amazon ECS, ou d'autres variantes Amazon Linux avec une version
1.28.1
ou une version ultérieure de l'agent de conteneur et une version1.28.1-2
ou une version ultérieure du package ecs-init, prennent en charge les limites accrues. ENI Si vous utilisez la dernière variante Linux des AMI optimisées pour Amazon ECS, ces exigences seront respectées. Les conteneurs Windows ne sont pas pris en charge à l'heure actuelle. -
Seules les nouvelles EC2 instances Amazon lancées après l'activation
awsvpcTrunking
reçoivent les ENI limites augmentées et l'interface réseau de liaison. Les instances lancées avant cette adoption ne reçoivent pas ces fonctionnalités, quelles que soient les actions réalisées. -
Les requêtes IPv4 DNS basées sur les ressources doivent être désactivées sur les EC2 instances Amazon. Pour désactiver cette option, désactivez l'option Activer les requêtes DNS basées sur les ressources IPV4 (enregistrement A) lorsque vous créez une nouvelle instance dans la console Amazon EC2. Pour désactiver cette option à l'aide de AWS CLI, utilisez la commande suivante.
aws ec2 modify-private-dns-name-options --instance-id
i-xxxxxxx
--no-enable-resource-name-dns-a-record --no-dry-run -
EC2 Les instances Amazon situées dans des sous-réseaux partagés ne sont pas prises en charge. Elles ne pourront pas s'enregistrer dans un cluster si elles sont utilisées.
-
Vos tâches doivent utiliser le mode
awsvpc
réseau et le type de EC2 lancement. Les tâches utilisant le type de lancement Fargate ont toujours reçu un message ENI dédié, quel que soit le nombre de tâches lancées. Cette fonctionnalité n'est donc pas nécessaire. -
Vos tâches doivent être lancées dans le même Amazon VPC que votre instance de conteneur. Vos tâches ne parviendront pas à démarrer avec une erreur d'attribut si elles ne sont pas dans le même VPC.
-
Lors du lancement d'une nouvelle instance de conteneur, celle-ci passe à l'état
REGISTERING
tandis que l'Elastic Network Interface (ENI) « tronc » est mise en service pour l'instance. Si l'enregistrement échoue, l'instance passe à l'étatREGISTRATION_FAILED
. Vous pouvez dépanner un échec d'enregistrement en décrivant l'instance de conteneur pour afficher le champstatusReason
qui décrit la raison de l'échec. L'instance de conteneur peut alors être désenregistrée ou résiliée manuellement. Une fois que l'instance de conteneur est désenregistrée ou résiliée avec succès, Amazon ECS supprime le tronc. ENINote
Amazon ECS émet des événements de changement d'état d'instance de conteneur que vous pouvez contrôler pour les instances qui passent à un état
REGISTRATION_FAILED
. Pour de plus amples informations, veuillez consulter Événements de modification de l'état de l'instance de conteneur Amazon ECS. -
Une fois que l'instance de conteneur est résiliée, elle passe à l'état
DEREGISTERING
tandis que la mise en service de l'ENI « tronc » est annulée. L'instance passe alors à l'étatINACTIVE
. -
Si une instance de conteneur dans un sous-réseau public avec les ENI limites augmentées est arrêtée puis redémarrée, l'instance perd son adresse IP publique et l'agent de conteneur perd sa connexion.
-
Lorsque vous l'activez
awsvpcTrunking
, les instances de conteneur reçoivent un élément supplémentaire ENI qui utilise le groupe de sécurité par défaut du VPC et qui est géré par Amazon ECS.Un VPC par défaut est fourni avec un sous-réseau public dans chaque zone de disponibilité, une passerelle Internet et des paramètres permettant la résolution DNS. Le sous-réseau est un sous-réseau public, car la table de routage principale envoie le trafic du sous-réseau destiné à Internet à la passerelle Internet. Pour transformer un sous-réseau par défaut en sous-réseau privé, vous devez supprimer la route 0.0.0.0/0 pointant vers la passerelle Internet. Toutefois, dans ce cas, aucune instance de conteneur exécutée dans ce sous-réseau ne pourra accéder à Internet. Vous pouvez ajouter ou supprimer des règles de groupe de sécurité pour contrôler le trafic entrant et sortant de vos sous-réseaux. Pour plus d'informations, consultez les règles relatives aux groupes de sécurité dans le guide de l'utilisateur d'Amazon Virtual Private Cloud.
Prérequis
Avant de lancer une instance de conteneur avec les ENI limites augmentées, les conditions préalables suivantes doivent être remplies.
-
Le rôle lié à un service pour Amazon ECS doit être créé. Le rôle lié à un service Amazon ECS fournit à 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 de plus amples informations, veuillez consulter 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 compte ou rôle IAM d'instance de conteneur doit activer le paramètre de compte
awsvpcTrunking
. Nous vous recommandons de créer deux rôles d'instance de conteneur (ecsInstanceRole
). Vous pouvez ensuite activer le paramètre duawsvpcTrunking
compte pour un rôle et utiliser ce rôle pour les tâches nécessitant une jonction ENI. Pour plus d'informations sur le rôle d'instance de conteneur, consultezRôle IAM d'instance de conteneur Amazon ECS.
Une fois les conditions requises remplies, vous pouvez lancer une nouvelle instance de conteneur à l'aide de l'un des types d' EC2 instances Amazon pris en charge, et les ENI limites de l'instance seront augmentées. Pour obtenir la liste des types d’instances, consultez Instances prises en charge pour augmenter le nombre d'interfaces réseau de conteneurs Amazon ECS. L'instance de conteneur doit disposer de la version 1.28.1
ou ultérieure de l'agent de conteneur et de la version 1.28.1-2
ou ultérieure du package ecs-init. Si vous utilisez la dernière variante Linux des AMI optimisées pour Amazon ECS, ces exigences seront respectées. Pour de plus amples informations, veuillez consulter Lancement d'une instance de conteneur Amazon ECS Linux.
Important
Les requêtes IPv4 DNS basées sur les ressources doivent être désactivées sur les EC2 instances Amazon. Pour désactiver cette option, assurez-vous que l'option Activer les requêtes DNS basées sur les ressources IPV4 (enregistrement A) est désélectionnée lors de la création d'une nouvelle instance à l'aide de la console Amazon. EC2 Pour désactiver cette option à l'aide de AWS CLI, utilisez la commande suivante.
aws ec2 modify-private-dns-name-options --instance-id
i-xxxxxxx
--no-enable-resource-name-dns-a-record --no-dry-run
Pour afficher vos instances de conteneur avec des ENI limites accrues à l'aide du AWS CLI
Chaque instance de conteneur possède une interface réseau par défaut, appelée interface réseau « tronc ». Utilisez la commande suivante pour répertorier vos instances de conteneur dont ENI les limites sont augmentées en demandant l'ecs.awsvpc-trunk-id
attribut, qui indique qu'il possède une interface réseau de jonction.
-
list-attributes (AWS CLI)
aws ecs list-attributes \ --target-type container-instance \ --attribute-name ecs.awsvpc-trunk-id \ --cluster
cluster_name
\ --regionus-east-1
-
Obtenir la ECSAttribute liste (AWS Tools for Windows PowerShell)
Get-ECSAttributeList -TargetType container-instance -AttributeName ecs.awsvpc-trunk-id -Region
us-east-1