Bonnes pratiques relatives aux paramètres de 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.

Bonnes pratiques relatives aux paramètres de service Amazon ECS

Pour éviter toute interruption de service des applications, 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 contenants sont sains.

  3. Arrêtez les vieux 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 numéro :

  • minimumHealthyPercent: 100 % (par défaut)

    Limite inférieure du nombre de tâches de votre service qui doivent rester RUNNING inchangées pendant un déploiement. Il s'agit d'un pourcentage de l'entier desiredCount arrondi à l'entier supérieur le plus proche. Ce paramètre vous permet de déployer sans utiliser de capacité de cluster supplémentaire.

  • maximumPercent: 200 % (par défaut)

    Limite supérieure du nombre de tâches de votre service autorisées dans l'PENDINGétat RUNNING ou lors d'un déploiement. Il s'agit d'un pourcentage de l'entier desiredCount arrondi à l'entier inférieur le plus proche.

Exemple : options de configuration par défaut

Prenons l'exemple du service suivant qui comporte six tâches, déployé dans un cluster pouvant accueillir huit tâches au total. Les options de configuration du service par défaut n'autorisent pas le déploiement à moins 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.

  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 minimumHealthyPercent valeur sur 50 %.

Prenons l'exemple du service suivant qui comporte six tâches, déployé 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.

    Trois tâches correspondant à cette minimumHealthyPercent valeur sont toujours en cours d'exécution.

  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 les dernières nouvelles tâches.

    Il y a six nouvelles tâches.

Exemple : modifier l'espace libre du cluster

Vous pouvez également ajouter de l'espace libre pour exécuter des tâches supplémentaires.

Prenons l'exemple du service suivant qui comporte six tâches, déployé 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,

    Trois tâches existent déjà.

  3. Le planificateur lance six nouvelles tâches.

    Il y a les 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 %