Pratiques exemplaires relatives aux paramètres d’un service Amazon ECS - 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.

Pratiques exemplaires relatives aux paramètres d’un service Amazon ECS

Pour éviter toute durée d’indisponibilité de l’application, le processus de déploiement est le suivant :

  1. Démarrez les nouveaux conteneurs d’applications tout en maintenant les conteneurs existants en activité.

  2. Vérifiez que les nouveaux conteneurs sont sains.

  3. Arrêtez les anciens conteneurs.

En fonction de la configuration de votre déploiement et de la quantité d’espace libre non réservé dans votre cluster, plusieurs cycles peuvent être nécessaires pour remplacer toutes les anciennes tâches par de nouvelles tâches.

Il existe deux options de configuration de service que vous pouvez utiliser pour modifier le nombre :

  • minimumHealthyPercent : 100 % (par défaut)

    La limite inférieure du nombre de tâches pour lesquelles votre service doit rester dans l’état RUNNING lors d’un déploiement. Cette valeur est exprimée en tant que pourcentage de desiredCount arrondi à la valeur supérieure la plus proche. Ce paramètre vous permet de procéder au déploiement sans avoir recours à une capacité de cluster supplémentaire.

  • maximumPercent : 200 % (par défaut)

    La limite supérieure du nombre de tâches pour votre service autorisées dans l’état RUNNING ou PENDING pendant un déploiement. Cette valeur est exprimée en tant que pourcentage de desiredCount arrondi à la valeur inférieure la plus proche.

Exemple : options de configuration par défaut

Considérons le service suivant qui comporte six tâches, déployées dans un cluster pouvant accueillir huit tâches au total. Les options de configuration de service par défaut ne permettent pas au déploiement d’aller en dessous de 100 % des six tâches souhaitées.

Le processus de déploiement est le suivant :

  1. L’objectif est de remplacer les six tâches.

  2. Le planificateur lance deux nouvelles tâches, car les paramètres par défaut exigent que six tâches soient en cours d’exécution.

    Il existe désormais six tâches existantes et deux nouvelles tâches.

  3. Le planificateur arrête deux des tâches existantes.

    Il existe désormais quatre tâches existantes et deux nouvelles tâches.

  4. Le planificateur lance deux nouvelles tâches supplémentaires.

    Il existe désormais quatre tâches existantes et quatre nouvelles tâches.

  5. Le planificateur arrête deux des tâches existantes.

    Il existe désormais deux tâches existantes et quatre nouvelles.

  6. Le planificateur lance deux nouvelles tâches supplémentaires.

    Il y a maintenant deux tâches existantes et six nouvelles tâches

  7. Le planificateur arrête les deux dernières tâches existantes.

    Il y a désormais six nouvelles tâches.

Dans l’exemple ci-dessus, si vous utilisez les valeurs par défaut pour les options, il y a une attente de 2,5 minutes pour chaque nouvelle tâche qui démarre. En outre, l’équilibreur de charge devra peut-être attendre 5 minutes pour que l’ancienne tâche s’arrête.

Exemple : modifier minimumHealthyPercent

Vous pouvez accélérer le déploiement en définissant la valeur minimumHealthyPercent sur 50 %.

Considérons le service suivant qui comporte six tâches, déployées dans un cluster pouvant accueillir huit tâches au total. Le processus de déploiement est le suivant :

  1. L’objectif est de remplacer six tâches.

  2. Le planificateur arrête trois des tâches existantes.

    Il subsiste trois tâches en cours d’exécution qui correspondent à la valeur de minimumHealthyPercent.

  3. Le planificateur lance cinq nouvelles tâches.

    Il existe trois tâches existantes et cinq nouvelles tâches.

  4. Le planificateur arrête les trois tâches existantes restantes.

    Il y a cinq nouvelles tâches

  5. Le planificateur lance la dernière nouvelle tâche.

    Il y a six nouvelles tâches.

Exemple : modifier l’espace libre du cluster

Vous pouvez également ajouter de l’espace libre afin de pouvoir exécuter des tâches supplémentaires.

Considérons le service suivant qui comporte six tâches, déployées dans un cluster pouvant accueillir dix tâches au total. Le processus de déploiement est le suivant :

  1. L’objectif est de remplacer les tâches existantes.

  2. Le planificateur arrête trois des tâches existantes.

    Il y a trois tâches existantes.

  3. Le planificateur lance six nouvelles tâches.

    Il y a maintenant trois tâches existantes et six nouvelles tâches

  4. Le planificateur arrête les trois tâches existantes.

    Il y a six nouvelles tâches.

Recommandations

Utilisez les valeurs suivantes pour les options de configuration du service lorsque vos tâches sont inactives pendant un certain temps et que leur taux d’utilisation n’est pas élevé.

  • minimumHealthyPercent : 50 %

  • maximumPercent : 200 %