Équilibrer un ECS service Amazon entre les zones de disponibilité - 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.

Équilibrer un ECS service Amazon entre les zones de disponibilité

Pour aider vos applications à atteindre une haute disponibilité, nous vous recommandons de configurer vos services multitâches pour qu'ils s'exécutent sur plusieurs zones de disponibilité. Pour les services dont la première stratégie de placement est de répartir les zones de disponibilité, AWS faites de votre mieux pour répartir uniformément les tâches de service entre les zones de disponibilité disponibles. Cependant, il peut arriver que le nombre de tâches exécutées dans une zone de disponibilité ne soit pas le même que dans d'autres zones de disponibilité, par exemple après une interruption de zone de disponibilité. Pour remédier à ce déséquilibre des tâches, vous pouvez activer la fonction de rééquilibrage des zones de disponibilité. Grâce au rééquilibrage des zones de disponibilité, Amazon surveille ECS en permanence la répartition des tâches entre les zones de disponibilité pour chacun de vos services. Lorsqu'Amazon ECS détecte une répartition inégale des tâches, il prend automatiquement des mesures pour rééquilibrer la charge de travail entre les zones de disponibilité. Cela implique de lancer de nouvelles tâches dans les zones de disponibilité comportant le moins de tâches et de terminer des tâches dans les zones de disponibilité surchargées. Cette redistribution garantit qu'aucune zone de disponibilité ne devienne un point de défaillance, ce qui contribue à maintenir la disponibilité globale de vos applications conteneurisées. Le processus de rééquilibrage automatisé élimine le besoin d'intervention manuelle, accélérant ainsi le temps de rétablissement après un événement.

Voici un aperçu du processus de rééquilibrage des zones de disponibilité :

  1. Amazon ECS commence à surveiller un service une fois qu'il a atteint l'état stable et examine le nombre de tâches exécutées dans chaque zone de disponibilité.

  2. Amazon ECS effectue les opérations suivantes lorsqu'il détecte un déséquilibre dans le nombre de tâches exécutées dans chaque zone de disponibilité :

    • Envoie un événement de service indiquant que le rééquilibrage de la zone de disponibilité commence.

    • Démarre les tâches dans les zones de disponibilité ayant le plus petit nombre de tâches en cours d'exécution

    • Arrête les tâches dans les zones de disponibilité ayant le plus grand nombre de tâches en cours d'exécution.

    • Le planificateur attend que les tâches nouvellement démarrées soient terminées HEALTHY et RUNNING avant de les arrêter dans la zone de disponibilité surdimensionnée.

    • Envoie un événement de service avec le résultat du rééquilibrage de la zone de disponibilité.

Le rééquilibrage des zones de disponibilité prend en charge les types Fargate et LaunchEC2. Pour Fargate, ECS Amazon redistribuera automatiquement les tâches entre les zones de disponibilité disponibles afin de maintenir l'équilibre. Pour le type de EC2 lancement, Amazon ECS rééquilibre les tâches entre les instances de conteneur existantes dans la mesure du possible, en respectant les stratégies et les contraintes de placement que vous avez définies. Cependant, il est ECS impossible de fournir de nouvelles instances dans des zones de disponibilité sous-utilisées dans le cadre du processus de rééquilibrage, ce qui limite le rééquilibrage aux instances de conteneur existantes.

Le rééquilibrage des zones de disponibilité fonctionne dans les configurations suivantes :

  • Services qui utilisent la Replica stratégie

  • Services qui spécifient la répartition de la zone de disponibilité comme première stratégie de placement des tâches, ou qui ne spécifient pas de stratégie de placement.

Vous ne pouvez pas utiliser le rééquilibrage des zones de disponibilité avec des services répondant à l'un des critères suivants :

  • Utilise la Daemon stratégie

  • Utilise le type de EXTERNAL lancement (ECSN'importe où)

  • Utilise 100 % pour la maximumPercent valeur

  • Utilise un Classic Load Balancer

  • Utilise attribute:ecs.availability-zone la contrainte de placement des tâches

Stratégies de placement et contraintes de placement avec rééquilibrage des zones de disponibilité

Les stratégies de placement déterminent la manière dont Amazon ECS sélectionne les instances de conteneur et les zones de disponibilité pour la fin du placement des tâches. Les contraintes de placement des tâches sont des règles qui déterminent si une tâche est autorisée à s'exécuter sur une instance de conteneur spécifique. Pour le type de EC2 lancement, vous pouvez utiliser des stratégies de placement et des contraintes de placement en conjonction avec le rééquilibrage des zones de disponibilité. Toutefois, pour que le rééquilibrage des zones de disponibilité fonctionne, la stratégie de placement des écarts de zone de disponibilité doit être la première stratégie spécifiée. Le rééquilibrage des zones de disponibilité est compatible avec différentes combinaisons de stratégies de placement. Par exemple, vous pouvez créer une stratégie qui répartit d'abord les tâches de manière uniforme entre les zones de disponibilité, puis regroupe les tâches en fonction de la mémoire au sein de chaque zone de disponibilité. Dans ce cas, le rééquilibrage des zones de disponibilité fonctionne car la stratégie de spread des zones de disponibilité est spécifiée en premier. Il est important de noter que le rééquilibrage des zones de disponibilité ne fonctionnera pas si la première stratégie du tableau de stratégies de placement n'est pas un composant de spread des zones de disponibilité. Cette exigence garantit que l'objectif principal de la distribution des tâches est de maintenir l'équilibre entre les zones de disponibilité, ce qui est crucial pour une haute disponibilité. Pour plus d'informations sur les stratégies et les contraintes de placement de tâches, consultezComment Amazon ECS place les tâches sur les instances de conteneur.

L'exemple suivant répartit les tâches de manière uniforme entre les zones de disponibilité, puis regroupe les tâches en fonction de la mémoire au sein de chaque zone de disponibilité. Le rééquilibrage des zones de disponibilité est compatible avec le service car c'est la spread stratégie qui prime.

"placementStrategy": [ { "field": "attribute:ecs.availability-zone", "type": "spread" }, { "field": "memory", "type": "binpack" } ]

Activation du rééquilibrage des zones de disponibilité

Vous devez activer le rééquilibrage des zones de disponibilité pour les services nouveaux et existants.

Vous pouvez activer et désactiver le rééquilibrage des zones de disponibilité à l'aide de la console ou du AWS CLI. APIs