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
awsvpcné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 :
-
Évaluez vos exigences de disponibilité par rapport à vos besoins d’optimisation des coûts
-
Choisissez la configuration de sous-réseau appropriée en fonction de vos priorités
-
Sélectionnez les types d’instances dotés d’une capacité ENI adaptée à votre mode réseau
-
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