Autoscaling des instances gérées Amazon ECS et placement des tâches - 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.

Autoscaling des instances gérées Amazon ECS et placement des tâches

Les instances gérées Amazon ECS utilisent des algorithmes intelligents pour automatiquement mettre à l’échelle la capacité de votre cluster et répartir les tâches de manière efficace sur l’ensemble de votre infrastructure. Comprendre le fonctionnement de ces algorithmes vous permet d’optimiser les configurations de vos services et de résoudre les problèmes liés aux comportements de placement.

Algorithme de placement des tâches

Les instances gérées Amazon ECS utilisent un algorithme de placement sophistiqué qui équilibre la disponibilité, l’utilisation des ressources et les exigences du réseau lors de la planification des tâches.

Répartition des zones de disponibilité

Par défaut, les instances gérées Amazon ECS donnent la priorité à la disponibilité en répartissant les tâches entre plusieurs zones de disponibilité :

  • Pour les services comportant plusieurs tâches, les instances gérées Amazon ECS garantissent une distribution sur au moins trois instances dans différentes zones de disponibilité lorsque cela est possible

  • Ce comportement permet une tolérance aux pannes, mais peut entraîner une baisse de l’utilisation des ressources par instance

  • La répartition des zones de disponibilité prime sur l’optimisation du bin packing

Comportement de bin packing

Bien que les instances gérées Amazon ECS puissent effectuer du bin packing pour optimiser l’utilisation des ressources, ce comportement est influencé par la configuration de votre réseau :

  • Pour réaliser le bin packing, configurez votre service de manière à utiliser un seul sous-réseau

  • Les configurations à sous-réseaux multiples donnent la priorité à la distribution des zones de disponibilité plutôt qu’à la densité des ressources

  • Le bin packing est plus probable lors du lancement initial du service que lors des événements de mise à l’échelle

Considérations relatives à la densité de l’ENI

Pour les services utilisant le mode réseau awsvpc, les instances gérées Amazon ECS tiennent compte de la densité de l’interface réseau Elastic (ENI) lorsqu’elles prennent des décisions de placement :

  • Chaque tâche en mode awsvpc nécessite une ENI dédiée

  • Les types d’instances ont des limites ENI différentes qui affectent la densité des tâches

  • Les instances gérées Amazon ECS tiennent compte de la disponibilité de l’ENI lors de la sélection des instances cibles

Note

Les calculs de densité d’ENI sont continuellement améliorés afin d’optimiser les décisions de placement.

Logique de décision du fournisseur de capacité

Les fournisseurs de capacité d’instances gérées Amazon ECS prennent des décisions de mise à l’échelle et de placement en fonction de plusieurs facteurs :

Besoins en ressources

Exigences relatives à l’UC, à la mémoire et au réseau pour les tâches en attente

Disponibilité de l’instance

Capacité et utilisation actuelles sur les instances existantes

Contraintes de réseau

Configuration du sous-réseau et disponibilité de l’ENI

Distribution par zone de disponibilité

Maintien de la tolérance aux pannes dans plusieurs zones de disponibilité

Options de configuration

Stratégie de sélection de sous-réseaux

La configuration de votre sous-réseau a un impact significatif sur le comportement de placement des tâches :

Sous-réseaux multiples (par défaut)

Priorise la répartition entre les zones de disponibilité pour une haute disponibilité

Peut entraîner une baisse de l’utilisation des ressources par instance

Recommandé pour les charges de production nécessitant une tolérance aux pannes

Sous-réseau unique

Permet le bin packing pour une meilleure utilisation des ressources

Réduit la tolérance aux pannes en concentrant les tâches dans une seule zone de disponibilité

Adapté au développement ou aux charges de travail optimisées en termes de coûts

Considérations relatives au mode réseau

Le mode réseau que vous choisissez influe sur les décisions de placement :

  • Mode awsvpc : chaque tâche nécessite une ENI dédiée, ce qui limite la densité des tâches par instance

  • Mode host : les tâches utilisent directement le réseau de l’hôte, le placement étant principalement déterminé par la disponibilité des ressources

Considérations concernant l'architecture du processeur

cpuArchitectureCe que vous spécifiez dans votre définition de tâche est utilisé pour placer des tâches sur une architecture spécifique. Si vous ne spécifiez pas decpuArchitecture, Amazon ECS essaiera de placer les tâches sur n'importe quelle architecture de processeur disponible en fonction de la configuration du fournisseur de capacité. Vous pouvez spécifier X86_64 ou ARM64.

Résolution des problèmes de placement des tâches

Modèles de placement courants

La compréhension des modèles de placement attendus permet de distinguer le comportement normal des problèmes potentiels :

Distribution répartie

Tâches réparties sur plusieurs instances avec une utilisation partielle

Comportement normal lors de l’utilisation de plusieurs sous-réseaux

Indique que la disponibilité prime sur l’efficacité des ressources

Placement concentré

Tâches multiples placées sur un nombre réduit d’instances avec un taux d’utilisation plus élevé

Prévu lors de l’utilisation d’une configuration de sous-réseau unique

Peut se produire lors du lancement initial du service

Distribution inégale

Certaines instances sont très utilisées tandis que d’autres restent sous-utilisées

Peut indiquer les limites de l’ENI ou les contraintes de ressources

Envisagez de revoir les types d’instances et la configuration réseau

Optimisation du comportement de placement

Pour optimiser le placement des tâches en fonction de vos besoins spécifiques :

  1. Évaluez vos exigences de disponibilité par rapport à vos besoins d’optimisation des coûts

  2. Choisissez la configuration de sous-réseau appropriée en fonction de vos priorités

  3. Sélectionnez les types d’instances dotés d’une capacité ENI adaptée à votre mode réseau

  4. Surveillez les modèles de placement et ajustez la configuration selon les besoins

Bonnes pratiques

  • Pour les charges de travail de production : utilisez plusieurs sous-réseaux répartis dans différentes zones de disponibilité pour garantir une haute disponibilité, en acceptant le compromis en termes d’utilisation des ressources

  • Pour le développement ou les tests : envisagez une configuration de sous-réseau unique pour optimiser l’utilisation des ressources et réduire les coûts

  • Pour le mode awsvpc : choisissez des types d’instances dotés d’une capacité d’ENI suffisante pour éviter les contraintes de placement

  • Pour optimiser les coûts : surveillez les modèles d’utilisation et ajustez la configuration des services pour équilibrer disponibilité et efficacité

  • Pour résoudre les problèmes : passez en revue la configuration du sous-réseau et le mode réseau lorsque vous étudiez des modèles de placement inattendus