Augmenter les interfaces réseau des instances de conteneur Amazon ECS Linux - 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.

Augmenter les interfaces réseau des instances de conteneur Amazon ECS Linux

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. Parce que chaque tâche utilisant le mode awsvpc réseau nécessite un ENI, 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 conteneurs avec une augmentation ENI densité à l'aide des types d'EC2instances 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é, voirModifier les paramètres ECS du compte Amazon. Pour utiliser le AWS CLI pour activer la fonctionnalité, voirGérer les paramètres ECS du compte Amazon à l'aide du AWS CLI.

Par exemple, une c5.large instance dont la awsvpcTrunking valeur est augmentée ENI limite de douze. L'instance de conteneur aura l'interface réseau principale et 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 de liaison est entièrement gérée par Amazon ECS et est supprimée lorsque vous résiliez ou désenregistrez votre instance de conteneur du cluster. Pour de plus amples informations, veuillez consulter Options de mise en réseau des ECS tâches Amazon pour le type de EC2 lancement.

Considérations

Tenez compte des points suivants lorsque vous utilisez le ENI fonction de jonction.

  • Seules les variantes Linux du package ECS optimisé pour AmazonAMI, ou les autres variantes Amazon Linux dotées d'une version 1.28.1 ou d'une version ultérieure de l'agent de conteneur et d'une version 1.28.1-2 ou d'une version ultérieure du package ecs-init, prennent en charge l'augmentation ENI limites. Si vous utilisez la dernière variante Linux de l'Amazon ECS -optimizedAMI, ces exigences seront satisfaites. 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 l'augmentation ENI les limites et l'interface réseau principale. Les instances lancées avant cette adoption ne reçoivent pas ces fonctionnalités, quelles que soient les actions réalisées.

  • Les IPv4 DNS requêtes 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 DNS demandes basées sur les ressources IPV4 (enregistrement A) lorsque vous créez une nouvelle instance dans la console AmazonEC2. 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
  • EC2Les 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 fait l'objet d'un ENI quel que soit le nombre de lancements, cette fonctionnalité n'est donc pas nécessaire.

  • Vos tâches doivent être lancées sur le même Amazon VPC que votre instance de conteneur. Vos tâches ne démarreront pas par une erreur d'attribut si elles ne sont pas identiquesVPC.

  • 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'état REGISTRATION_FAILED. Vous pouvez dépanner un échec d'enregistrement en décrivant l'instance de conteneur pour afficher le champ statusReason 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 a été désenregistrée ou résiliée avec succès, Amazon ECS supprimera le tronc ENI.

    Note

    Amazon ECS émet des événements de changement d'état des instances de conteneur que vous pouvez surveiller pour détecter les instances qui passent à un REGISTRATION_FAILED état. Pour de plus amples informations, veuillez consulter Événements de modification de l'état d'une instance de ECS conteneur Amazon.

  • 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'état INACTIVE.

  • Si une instance de conteneur dans un sous-réseau public avec l'augmentation ENI les limites sont arrêtées puis redémarrées, l'instance perd son adresse IP publique et l'agent de conteneur perd sa connexion.

  • Lorsque vous l'activezawsvpcTrunking, les instances de conteneur reçoivent un ENI qui utilise le groupe VPC de sécurité par défaut et est géré par AmazonECS.

Prérequis

Avant de lancer une instance de conteneur avec l'augmentation ENI limites, les prérequis suivants doivent être remplis.

  • Le rôle lié à un service pour Amazon ECS doit être créé. Le rôle ECS lié à un service Amazon donne à Amazon ECS l'autorisation de 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 de 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 votre IAM rôle d'instance de conteneur doit activer le paramètre du awsvpcTrunking compte. Nous vous recommandons de créer deux rôles d'instance de conteneur (ecsInstanceRole). Vous pouvez ensuite activer le paramètre du awsvpcTrunking compte pour un rôle et utiliser ce rôle pour les tâches nécessitant une ENI agrégation. Pour plus d'informations sur le rôle d'instance de conteneur, consultezIAMRôle de l'instance de ECS conteneur Amazon.

Une fois les conditions requises remplies, vous pouvez lancer une nouvelle instance de conteneur à l'aide de l'un des types d'EC2instance Amazon pris en charge, et l'instance bénéficiera de l'augmentation ENI limites. Pour obtenir la liste des types d’instances, consultez Instances prises en charge pour augmenter le nombre d'interfaces réseau de ECS conteneurs Amazon. 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 de l'Amazon ECS -optimizedAMI, ces exigences seront satisfaites. Pour de plus amples informations, veuillez consulter Lancement d'une instance de conteneur Amazon ECS Linux.

Important

Les IPv4 DNS requêtes 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 DNS demandes 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 une augmentation ENI limites avec le 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 avec une augmentation ENI limites en interrogeant l'ecs.awsvpc-trunk-idattribut, ce qui indique qu'il possède une interface réseau principale.

  • list-attributes (AWS CLI)

    aws ecs list-attributes \ --target-type container-instance \ --attribute-name ecs.awsvpc-trunk-id \ --cluster cluster_name \ --region us-east-1
  • Obtenez- ECSAttributeList (AWS Tools for Windows PowerShell)

    Get-ECSAttributeList -TargetType container-instance -AttributeName ecs.awsvpc-trunk-id -Region us-east-1