Mettre à jour un service Amazon ECS à l'aide de la console - 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.

Mettre à jour un service Amazon ECS à l'aide de la console

Vous pouvez mettre à jour un service Amazon ECS à l'aide de la console Amazon ECS. La configuration de service actuelle est préremplie. Vous pouvez modifier la définition de tâche, le nombre de tâches souhaité, la stratégie de fournisseur de capacité, la version de plateforme et la configuration du déploiement, ou toute combinaison de ces éléments.

Pour plus d'informations sur la mise à jour de la configuration de déploiement bleu/vert, veuillez consulter Mettre à jour un déploiement bleu/vert Amazon ECS à l'aide de la console.

Tenez compte des éléments suivants lorsque vous utilisez la console :

Si vous souhaitez arrêter temporairement votre service, définissez les tâches souhaitées sur 0. Ensuite, lorsque vous êtes prêt à démarrer le service, mettez-le à jour avec le nombre de tâches souhaitées d'origine.

Tenez compte des éléments suivants lorsque vous utilisez la console :

  • Vous devez utiliser le AWS Command Line Interface pour mettre à jour un service qui utilise l'un des paramètres suivants :

    • Déploiements bleu/vert

    • Service Discovery : vous pouvez uniquement consulter votre configuration Service Discovery.

    • Stratégie de suivi avec une métrique personnalisée

    • Service de mise à jour : vous ne pouvez pas mettre à jour la configuration du awsvpc réseau ni le délai de grâce du bilan de santé.

    Pour plus d'informations sur la mise à jour d'un service à l'aide du AWS CLI, reportez-vous update-serviceà la section AWS Command Line Interface Référence.

  • Si vous modifiez les ports utilisés par les conteneurs d'une définition de tâche, vous devrez mettre à jour vos groupes de sécurité d'instances de conteneur afin de fonctionner avec les ports mis à jour.

  • Amazon ECS ne met pas automatiquement à jour les groupes de sécurité associés aux équilibreurs de charge Elastic Load Balancing ou aux instances de conteneur Amazon ECS.

  • Si votre service utilise un équilibreur de charge, il n'est pas possible de modifier avec la console la configuration de ce dernier définie pour votre service lorsqu'il a été créé. Vous pouvez plutôt utiliser le SDK AWS CLI ou pour modifier la configuration de l'équilibreur de charge. Pour plus d'informations sur la modification de la configuration, consultez le UpdateServicemanuel Amazon Elastic Container Service API Reference.

  • Si vous mettez à jour la définition de tâche pour le service, le nom et le port de conteneur spécifiés dans la configuration de l'équilibreur de charge doivent rester dans la définition de tâche.

Vous pouvez mettre à jour un service en cours d'exécution pour modifier certains des paramètres de configuration du service, tels que le nombre de tâches gérées par un service, la définition de tâche utilisée par les tâches ou, si vos tâches utilisent le type de lancement Fargate, vous pouvez modifier la version de plateforme utilisée par votre service. Un service utilisant une version de plateforme Linux ne peut pas être mis à jour pour utiliser une version de plateforme Windows et vice versa. Si votre application a besoin de plus de capacité, vous pouvez mettre à l'échelle votre service. Si vous n'utilisez pas toute votre capacité, vous pouvez la réduire, vous pouvez diminuer le nombre de tâches souhaitées dans votre service et libérer des ressources.

Si vous souhaitez utiliser une image de conteneur mise à jour pour vos tâches, vous pouvez créer une nouvelle révision de définition de tâche avec cette image et la déployer sur votre service à l'aide de l'option force new deployment (forcer le nouveau déploiement) dans la console.

Le planificateur de service utilise les paramètres de pourcentage minimum d'instances saines et de pourcentage maximal (dans la configuration de déploiement pour le service) afin de déterminer la stratégie de déploiement.

Si un service utilise le type de déploiement Mise à jour propagée (ECS), le pourcentage minimum d'instances saines représente la limite inférieure pour le nombre de tâches de votre service qui doivent rester à l'état RUNNING lors d'un déploiement, en tant que pourcentage de nombre souhaité de tâches (arrondi au nombre entier supérieur le plus proche). Le paramètre s'applique également à toutes les instances de conteneur ayant l'état DRAINING si le service contient des tâches utilisant le type de lancement EC2. Utilisez ce paramètre pour procéder au déploiement sans avoir recours à une capacité de cluster supplémentaire. Par exemple, si votre service comporte un nombre souhaité de tâches égal à quatre et un pourcentage minimum d'instances saines de 50 pour cent, le planificateur pourra arrêter deux tâches existantes afin de libérer de la capacité de cluster avant de lancer deux nouvelles tâches. Les tâches des services qui n'utilisent pas d'équilibreur de charge sont considérées comme saines si elles ont l'état RUNNING. Les tâches des services qui utilisent un équilibreur de charge sont considérées comme saines si elles se trouvent à l'état RUNNING et si l'instance de conteneur sur laquelle elles sont hébergées est signalée comme saine par l'équilibreur de charge. La valeur par défaut pour le pourcentage minimum d'instances saines est 100 pour cent.

Si un service utilise le type de déploiement Mise à jour propagée (ECS), le paramètre pourcentage maximum représente une limite supérieure du nombre de tâches dans un service autorisées à avoir l'état PENDING, RUNNING ou STOPPING pendant un déploiement, en tant que pourcentage du nombre de tâches souhaité (arrondi à l'entier le plus proche). Le paramètre s'applique également à toutes les instances de conteneur ayant l'état DRAINING si le service contient des tâches utilisant le type de lancement EC2. Utilisez ce paramètre pour définir la taille des lots de déploiement. Par exemple, si votre service a un nombre souhaité de quatre tâches et une valeur de pourcentage maximum de 200 pour cent, le planificateur peut lancer quatre nouvelles tâches avant d'arrêter les quatre tâches plus anciennes. À condition que les ressources de cluster nécessaires à cette opération soient disponibles. La valeur par défaut pour le pourcentage maximal est 200 pour cent.

Lorsque le planificateur de service remplace une tâche pendant une mise à jour, si un équilibreur de charge est utilisé par le service, ce dernier supprime tout d'abord la tâche de l'équilibreur de charge (le cas échéant) et attend que les connexions s'épuisent. Ensuite, l'équivalent de docker stop est émis pour les conteneurs en cours d'exécution dans la tâche. Cela se traduit par un signal SIGTERM et un délai de 30 secondes, après quoi SIGKILL est envoyé et les conteneurs sont arrêtés de force. Si le conteneur gère le signal SIGTERM normalement et s'arrête dans les 30 secondes suivant sa réception, aucun signal SIGKILL n'est envoyé. Le planificateur de service lance et arrête les tâches selon les modalités définies dans vos paramètres de pourcentage minimum d'instances saines et de pourcentage maximal.

Le planificateur de services remplace également les tâches jugées défectueuses après l'échec d'une surveillance de l'état du conteneur ou du groupe cible de l'équilibreur de charge. Ce remplacement dépend des paramètres de définition du service maximumPercent et desiredCount. Si une tâche est marquée comme défectueuse, le planificateur de services lance d'abord une tâche de remplacement. Ensuite, ce qui suit se produit.

  • Si l'état de santé de la tâche de remplacement est égal àHEALTHY, le planificateur de services arrête la tâche défectueuse

  • Si l'état de santé de la tâche de remplacement est UNHEALTHY, le planificateur arrête soit la tâche de remplacement défectueuse, soit la tâche défectueuse existante pour que le nombre total de tâches soit égal à desiredCount.

Si le paramètre maximumPercent empêche le planificateur de démarrer d'abord une tâche de remplacement, le planificateur arrête une par une les tâches défectueuses au hasard pour libérer de la capacité, puis lance une tâche de remplacement. Le processus de démarrage et d'arrêt se poursuit jusqu'à ce que toutes les tâches défectueuses soient remplacées par des tâches saines. Une fois que toutes les tâches défectueuses ont été remplacées et que seules les tâches saines sont en cours d'exécution, si le nombre total de tâches dépasse le desiredCount, les tâches saines sont arrêtées au hasard jusqu'à ce que le nombre total de tâches soit égal à desiredCount. Pour plus d'informations sur maximumPercent et desiredCount, veuillez consulter Paramètres de définition de service (langue française non garantie).

Important

Si vous modifiez les ports utilisés par les conteneurs d'une définition de tâche, vous devez mettre à jour vos groupes de sécurité d'instances de conteneur afin de fonctionner avec les ports mis à jour.

Si vous mettez à jour la définition de tâche pour le service, le nom et le port de conteneur spécifiés lors de la création du service doivent rester dans la définition de tâche.

Amazon ECS ne met pas automatiquement à jour les groupes de sécurité associés aux équilibreurs de charge Elastic Load Balancing ou aux instances de conteneur Amazon ECS.

Pour mettre à jour un service (console Amazon ECS)
  1. Ouvrez la console à partir de l'adresse https://console.aws.amazon.com/ecs/v2.

  2. Sur la page Clusters, choisissez le cluster.

  3. Sur la page des détails du cluster, dans la section Services, cochez la case à côté du service, puis choisissez Mettre à jour.

  4. Pour que votre service démarre un nouveau déploiement, sélectionnez Force new deployment (Forcer un nouveau déploiement).

  5. Pour Définition de tâche, choisissez la famille et la révision de définition de tâche.

    Important

    La console vérifie que la famille de définitions de tâches et la révision sélectionnées sont compatibles avec la configuration de calcul définie. Si vous recevez un avertissement, vérifiez à la fois la compatibilité de votre définition de tâche et la configuration de calcul que vous avez sélectionnée.

  6. Pour Tâches souhaitées, entrez le nombre de tâches que vous souhaitez exécuter pour le service.

  7. Pour Min running tasks (Minimum de tâches en cours d'exécution), saisissez la limite inférieure pour le nombre de tâches du service qui doivent rester à l'état RUNNING lors d'un déploiement, en tant que pourcentage de nombre souhaité de tâches (arrondi au nombre entier supérieur le plus proche). Pour plus d'informations, consultez Deployment configuration (Configuration de déploiement).

  8. Pour Max running tasks (Maximum de tâches en cours d'exécution), saisissez la limite supérieure pour le nombre de tâches du service qui peuvent rester à l'état RUNNING ou PENDING lors d'un déploiement, en tant que pourcentage de nombre souhaité de tâches (arrondi au nombre entier inférieur le plus proche).

  9. Pour configurer la manière dont Amazon ECS détecte et gère les échecs de déploiement, développez Deployment failure detection (Détection des échecs de déploiement), puis choisissez vos options.

    1. Pour arrêter un déploiement lorsque les tâches ne peuvent pas démarrer, sélectionnez Use the Amazon ECS deployment circuit breaker (Utiliser le disjoncteur de déploiement Amazon ECS).

      Pour que le logiciel annule automatiquement le déploiement au dernier état de déploiement terminé lorsque le disjoncteur de déploiement met le déploiement en état d'échec, sélectionnez Annulation en cas d'échec.

    2. Pour arrêter un déploiement en fonction des métriques de l'application, sélectionnez Utiliser une ou plusieurs CloudWatch alarmes. Ensuite, à partir du nom de l'CloudWatch alarme, choisissez les alarmes. Pour créer une nouvelle alarme, rendez-vous sur la CloudWatch console.

      Pour que le logiciel annule automatiquement le déploiement au dernier état de déploiement terminé lorsqu'une CloudWatch alarme indique que le déploiement a échoué, sélectionnez Annulation en cas d'échec.

  10. Pour modifier les options de calcul, développez la configuration de calcul, puis procédez comme suit :

    1. Pour les services sur AWS Fargate, pour la version de la plateforme, choisissez la nouvelle version.

    2. Pour les services qui utilisent une stratégie de fournisseur de capacité, pour la stratégie de fournisseur de capacité, procédez comme suit :

      • Pour ajouter un fournisseur de capacité supplémentaire, choisissez Ajouter plus. Ensuite, pour Fournisseur de capacité, choisissez le fournisseur de capacité.

      • Pour supprimer un fournisseur de capacité, à droite du fournisseur de capacité, choisissez Supprimer.

      Un service qui utilise un fournisseur de capacité de groupe Auto Scaling ne peut pas être mis à jour pour utiliser un fournisseur de capacité Fargate. Un service qui utilise un fournisseur de capacité Fargate ne peut pas être mis à jour pour utiliser un fournisseur de capacité de groupe Auto Scaling.

  11. (Facultatif) Pour configurer le service Auto Scaling, développez Service auto scaling, puis spécifiez les paramètres suivants.

    1. Pour utiliser la mise à l'échelle automatique du service, sélectionnez Service Auto Scaling (mise à l'échelle automatique du service).

    2. Dans le champ Nombre minimum de tâches, entrez la limite inférieure du nombre de tâches à utiliser pour le dimensionnement automatique du service. Le nombre souhaité ne sera pas inférieur à ce nombre.

    3. Dans le champ Nombre maximum de tâches, entrez la limite supérieure du nombre de tâches à utiliser pour le dimensionnement automatique du service. Le nombre souhaité ne sera pas supérieur à ce nombre.

    4. Choisissez le type de stratégie. Sous Type de politique de dimensionnement, choisissez l'une des options suivantes.

      Pour utiliser ce type de stratégie… Faites ceci...

      Suivi de la cible

      1. Pour Scaling policy type (Type de politique de mise à l'échelle), choisissez Target tracking (Suivi de cible).

      2. Pour Policy name (Nom de la politique), saisissez un nom de politique.

      3. Pour Métrique de service ECS, sélectionnez l'une des métriques suivantes.

        • ECS ServiceAverage CPUUtilization : utilisation moyenne du processeur du service.

        • ECS ServiceAverageMemoryUtilization — Utilisation moyenne de la mémoire du service.

        • ALB RequestCountPerTarget — Nombre de demandes traitées par cible dans un groupe cible Application Load Balancer.

      4. PourTarget value (Valeur cible), entrez la valeur conservée par le service pour la métrique sélectionnée.

      5. Pour la période de recharge, entrez le temps, en secondes, après une activité de scale-out (ajout de tâches) qui doit s'écouler avant qu'une autre activité de scale-out puisse démarrer.

      6. Pour la période de recharge progressive, entrez le temps, en secondes, après une activité de mise à l'échelle (suppression de tâches) qui doit s'écouler avant qu'une autre activité d'extension puisse démarrer.

      7. Pour empêcher la politique d'effectuer une activité de mise à l'échelle horizontale, sélectionnez Turn off scale-in (Désactiver la mise à l'échelle horizontale).

      8. • (Facultatif) Sélectionnez Désactiver la mise à l'échelle si vous souhaitez que votre politique de dimensionnement soit adaptée à l'augmentation du trafic, mais que vous n'avez pas besoin qu'elle s'adapte lorsque le trafic diminue.

      Mise à l'échelle par étapes
      1. Pour Scaling policy type (Type de politique de mise à l'échelle), choisissez Mise à l'échelle par étapes.

      2. Pour Nom de la stratégie, saisissez un nom de stratégie.

      3. Pour Alarm name (Nom de l'alarme), entrez un nom unique pour l'alarme.

      4. Pour Métrique de service Amazon ECS, sélectionnez la métrique à utiliser pour l'alarme.

      5. Pour Statistique, choisissez la statistique d'alarme.

      6. Pour Période, choisissez la période de l'alarme.

      7. Pour Condition d'alarme, choisissez comment comparer la métrique sélectionnée au seuil défini.

      8. Pour Seuil de comparaison des métriques et Période d'évaluation pour déclencher l'alarme, saisissez le seuil utilisé pour l'alarme et la durée d'évaluation du seuil.

      9. Sous Actions de mise à l'échelle, procédez comme suit :

        • Pour Action, indiquez si vous souhaitez ajouter, supprimer ou définir un nombre spécifique souhaité pour votre service.

        • Si vous avez choisi d'ajouter ou de supprimer des tâches, dans Valeur, entrez le nombre de tâches (ou le pourcentage de tâches existantes) à ajouter ou à supprimer lorsque l'action de dimensionnement est lancée. Si vous avez choisi de spécifier le nombre souhaité, saisissez le nombre de tâches. Pour Type, indiquez si la Valeur est un entier ou un pourcentage du nombre souhaité existant.

        • Pour Limite inférieure et Limite supérieure, saisissez les limites inférieure et supérieure de votre ajustement de mise à l'échelle par étapes. Par défaut, la limite inférieure pour l'ajout d'une politique est le seuil de l'alarme et la limite supérieure est l'infini positif (+). Par défaut, la limite supérieure pour la suppression d'une politique est le seuil de l'alarme et la limite inférieure est l'infini négatif (-).

        • (Facultatif) Ajoutez des options de mise à l'échelle supplémentaires. Choisissez Ajouter une nouvelle action de dimensionnement, puis répétez les étapes des actions de dimensionnement.

        • Pour la période de recharge, entrez le temps, en secondes, nécessaire pour qu'une activité de dimensionnement précédente prenne effet. Dans le cas d'une politique d'ajout, il s'agit du moment où, après une activité de scale-out, la politique de scale-out bloque les activités de scale-in et limite le nombre de tâches pouvant être redimensionnées à la fois. Pour une politique de suppression, il s'agit de la période qui suit une activité d'extension qui doit se terminer avant qu'une autre activité d'extension ne puisse démarrer.

  12. (Facultatif) Pour utiliser Service Connect, sélectionnez Turn on Service Connect (Activer Service Connect), puis spécifiez les informations suivantes :

    1. Sous Service Connect configuration (Configuration de Service Connect), spécifiez le mode client.

      • Si votre service exécute une application client réseau qui doit uniquement se connecter à d'autres services de l'espace de noms, sélectionnez Client side only (Côté client uniquement).

      • Si votre service exécute une application réseau ou un service Web et doit fournir des points de terminaison pour ce service, et se connecte à d'autres services dans l'espace de noms, choisissez Client and server (Client et serveur).

    2. Pour utiliser un espace de noms qui n'est pas l'espace de noms de cluster par défaut, dans Namespace (Espace de noms), choisissez l'espace de noms du service.

  13. Si votre tâche utilise un volume de données compatible avec la configuration lors du déploiement, vous pouvez configurer le volume en développant Volume.

    Le nom et le type de volume sont configurés lorsque vous créez une révision de définition de tâche et ne peuvent pas être modifiés lorsque vous mettez à jour un service. Pour mettre à jour le nom et le type du volume, vous devez créer une nouvelle révision de définition de tâche et mettre à jour le service en utilisant la nouvelle révision.

    Pour configurer ce type de volume Faites ceci

    Amazon EBS

    1. Pour le type de volume EBS, choisissez le type de volume EBS que vous souhaitez associer à votre tâche.

    2. Pour Taille (GiB), entrez une valeur valide pour la taille du volume en gibioctets (GiB). Vous pouvez spécifier une taille de volume minimale de 1 GiB et maximale de 16 384 GiB. Cette valeur est obligatoire sauf si vous fournissez un identifiant de capture d'écran.

    3. Pour les IOPS, entrez le nombre maximum d'opérations d'entrée/sortie (IOPS) que le volume doit fournir. Cette valeur est configurable uniquement pour les types de gp3 volume io1io2, et.

    4. Pour Débit (Mib/s), entrez le débit que le volume doit fournir, en mégaoctets par seconde (ou Mib/s). MiBps Cette valeur est configurable uniquement pour le type de gp3 volume.

    5. Pour Snapshot ID, choisissez un instantané de volume Amazon EBS existant ou entrez l'ARN d'un instantané si vous souhaitez créer un volume à partir d'un instantané. Vous pouvez également créer un nouveau volume vide en ne choisissant ni en saisissant un identifiant de capture d'écran.

    6. Pour Type de système de fichiers, choisissez le type de système de fichiers qui sera utilisé pour le stockage et la récupération des données sur le volume. Vous pouvez choisir le système d'exploitation par défaut ou un type de système de fichiers spécifique. La valeur par défaut pour Linux estXFS. Pour les volumes créés à partir d'un instantané, vous devez spécifier le même type de système de fichiers que celui utilisé par le volume lors de la création de l'instantané. Si le type de système de fichiers ne correspond pas, la tâche ne démarrera pas.

    7. Pour le rôle d'infrastructure, choisissez un rôle IAM doté des autorisations nécessaires pour permettre à Amazon ECS de gérer les volumes Amazon EBS pour les tâches. Vous pouvez associer la politique AmazonECSInfrastructureRolePolicyForVolumes gérée au rôle, ou vous pouvez utiliser la politique comme guide pour créer et associer votre propre politique avec des autorisations répondant à vos besoins spécifiques. Pour plus d’informations sur les autorisations nécessaires, consultez Rôle IAM dans l'infrastructure Amazon ECS.

    8. Pour le chiffrement, choisissez Par défaut si vous souhaitez utiliser le chiffrement Amazon EBS par défaut. Si le chiffrement est configuré par défaut sur votre compte, le volume sera chiffré avec la clé AWS Key Management Service (AWS KMS) spécifiée dans le paramètre. Si vous choisissez Par défaut et que le chiffrement par défaut d'Amazon EBS n'est pas activé, le volume ne sera pas chiffré.

      Si vous choisissez Personnalisé, vous pouvez spécifier celui AWS KMS key de votre choix pour le chiffrement du volume.

      Si vous choisissez Aucun, le volume ne sera pas chiffré, sauf si le chiffrement est configuré par défaut ou si vous créez un volume à partir d'un instantané chiffré.

    9. Si vous avez choisi Personnalisé pour le chiffrement, vous devez spécifier celui AWS KMS key que vous souhaitez utiliser. Pour la clé KMS, choisissez AWS KMS key ou entrez un ARN de clé. Si vous choisissez de chiffrer votre volume à l'aide d'une clé symétrique gérée par le client, assurez-vous que vous disposez des autorisations appropriées définies dans votre AWS KMS key politique. Pour plus d'informations, consultez la section Chiffrement des données pour les volumes Amazon EBS.

    10. (Facultatif) Sous Balises, vous pouvez ajouter des balises à votre volume Amazon EBS soit en propageant des balises à partir de la définition de la tâche ou du service, soit en fournissant vos propres balises.

      Si vous souhaitez propager des balises à partir de la définition de tâche, choisissez Définition de tâche pour propager des balises à partir de. Si vous souhaitez propager des balises depuis le service, choisissez Service for Propagate tags from. Si vous choisissez Ne pas propager ou si vous ne choisissez aucune valeur, les balises ne sont pas propagées.

      Si vous souhaitez fournir vos propres balises, choisissez Ajouter une balise, puis indiquez la clé et la valeur pour chaque balise que vous ajoutez.

      Pour plus d'informations sur le balisage des volumes Amazon EBS, consultez la section Marquage des volumes Amazon EBS.

  14. (Facultatif) Pour vous aider à identifier votre service, développez Tags (Balises), puis configurez vos balises.

    • [Ajouter un tag] Choisissez Ajouter un tag, puis procédez comme suit :

      • Pour Clé, saisissez le nom de la clé.

      • Pour Valeur, saisissez la valeur de clé.

    • [Supprimer une balise] En regard de la balise, choisissez Supprimer la balise.

  15. Choisissez Mettre à jour.