Comment puis-je modifier mon instance d'instance de conteneur dans Amazon ECS ?

Date de la dernière mise à jour : 23/07/2019

Comment puis-je modifier le type d'instance de conteneur dans mon cluster Amazon Elastic Container Service (Amazon ECS) ?

Brève description

Pour modifier votre type d'instance de conteneur, suivez les étapes de l'une des sections suivantes :

  • Mettre à jour les instances de conteneur lancées dans un cluster ECS via la pile AWS CloudFormation
  • Mettre à jour les instances de conteneur lancées manuellement dans un cluster ECS

Résolution

Mettre à jour les instances de conteneur lancées dans un cluster ECS via la pile AWS CloudFormation

Important : les étapes suivantes s'appliquent uniquement aux clusters ECS créés avec des ressources qui créent en interne une pile AWS CloudFormation. Le format du nom de la pile est le suivant : ServiceDeConteneurEC2-votreNomDeCluster. Ces étapes ne s'appliquent pas aux clusters ECS vides ou aux approches personnalisées pour la mise en service d'instances de conteneur.

Mettre à jour la valeur du paramètre EcsInstanceType dans la pile AWS CloudFormation :

  1. Ouvrez la console AWS CloudFormation.
  2. Sélectionnez la pile qui contient votre cluster ECS.
    Remarque : le nom du cluster est ajouté à la fin de votre nom de pile (par exemple, ServiceDeConteneurEC2-votreNomDeCluster).
  3. Sélectionnez Actions, puis Update Stack (Mettre à jour la pile).
  4. Sélectionnez Use current template (Utiliser le modèle actuel), puis cliquez sur Next (Suivant).
  5. Pour EcsInstanceType, définissez une valeur appropriée pour le type d'instance de votre instance de conteneur, puis sélectionnez Next (Suivant).
  6. Ignorez la section Options, sélectionnez Next (Suivant), puis Update (Mettre à jour).

Remplacez les anciennes instances de conteneur dans le cluster :

  1. Pour mettre à jour la pile AWS CloudFormation, complétez les étapes 1 à 4 de la section précédente.
  2. Pour AsgMaxSize, saisissez une valeur de paramètre qui correspond au double de la taille actuelle.
    Remarque : par exemple, si la valeur actuelle est 2, définissez la nouvelle valeur sur 4. Cela vous aide à éviter les temps d'arrêt lorsque vous modifiez le type d'instance.
  3. Ouvrez la console Amazon ECS.
  4. Dans le volet de navigation, sélectionnez Clusters, puis votre cluster.
  5. Sélectionnez l'onglet ECS Instances (Instances ECS), puis les ID d'instance de conteneur pour les anciennes instances de conteneur que vous souhaitez remplacer.
    Remarque : si DeploymentConfiguration autorise le placement de tâches de remplacement sur les instances de conteneur, Amazon ECS place automatiquement les tâches de remplacement.
  6. Sélectionnez le menu Actions, puis Drain instances (Drainer les instances) pour drainer les instances.
  7. Sous l'onglet ECS Instances (Instances ECS), vérifiez que le paramètre Running tasks count (Nombre de tâches en cours d'exécution) indique 0 pour vos anciennes instances de conteneur.
  8. Dans le volet de navigation, sélectionnez Clusters, puis votre cluster.
  9. Sélectionnez l'onglet ECS Instances (Instances ECS), les ID d'instance de conteneur de vos anciennes instances de conteneur, puis Deregister (Annuler l'enregistrement).
    Remarque : l'annulation de l'enregistrement d'une instance a pour effet de la supprimer d'Amazon ECS.
  10. Dans votre modèle AWS CloudFormation, définissez AsgMaxSize sur la valeur d'origine pour résilier les anciennes instances de conteneur.
    Important : cette étape suppose que votre groupe AutoScaling dispose de la Default Termination Policy (Stratégie de mise hors service par défaut).

Mettre à jour les instances de conteneur lancées manuellement dans un cluster ECS

  1. Copiez la configuration de lancement de votre groupe AutoScaling, puis nommez votre nouvelle configuration de lancement.
  2. Modifiez votre type d'instance.
  3. Dans la console Amazon EC2, dans la section Auto Scaling (AutoScaling) du volet de navigation, sélectionnez Auto Scaling Groups (Groupes AutoScaling). Ensuite, sélectionnez le groupe AutoScaling pour votre instance de conteneur.
  4. Sélectionnez Actions, puis Edit (Modifier).
  5. Dans la fenêtre contextuelle, pour Launch Configuration (Configuration de lancement), sélectionnez la configuration de lancement que vous avez créée à l'étape 1 de cette section.
  6. Pour Desired Capacity (Capacité souhaitée), saisissez une valeur qui correspond au double de la valeur actuelle, puis mettez à jour la valeur Max selon vos besoins.
    Remarque : la capacité souhaitée doit être comprise entre la taille minimale et la taille maximale du groupe (incluse).
  7. Dans le volet de navigation de la console Amazon ECS, sélectionnez Clusters, puis votre cluster.
  8. Sélectionnez l'onglet ECS Instances (Instances ECS), puis les ID d'instance de conteneur pour les anciennes instances de conteneur que vous souhaitez remplacer.
  9. Sélectionnez le menu Actions, puis Drain instances (Drainer les instances) pour drainer les instances.
  10. Sous l'onglet ECS Instances (Instances ECS), vérifiez que le paramètre Running tasks count (Nombre de tâches en cours d'exécution) indique 0 pour vos anciennes instances de conteneur.
  11. Sélectionnez l'onglet ECS Instances (Instances ECS), les ID d'instance de conteneur de vos anciennes instances de conteneur, puis Deregister (Annuler l'enregistrement).
    Remarque : l'annulation de l'enregistrement d'une instance a pour effet de la supprimer d'Amazon ECS.
  12. Dans la console Amazon EC2, dans la section Auto Scaling (AutoScaling) du volet de navigation, sélectionnez Auto Scaling Groups (Groupes AutoScaling).
  13. Sélectionnez Actions, puis Edit (Modifier).
  14. Dans la configuration de votre groupe AutoScaling, définissez Desired Capacity (Capacité souhaitée) et Max sur leurs valeurs d'origine, puis enregistrez vos modifications.
    Remarque : cette opération résilie les anciennes instances de conteneur du cluster ECS. 

Cet article vous a-t-il été utile ?

Cette page peut-elle être améliorée ?


Vous avez besoin d'aide ?