Comment puis-je automatiser le remplacement d'instances Amazon EC2 défectueuses dans un environnement Elastic Beanstalk ?

Date de la dernière mise à jour : 24/04/2020

Je souhaite automatiser le remplacement d'instances Amazon Elastic Compute Cloud (Amazon EC2) défectueuses dans mon environnement AWS Elastic Beanstalk.

Brève description

Par défaut, la configuration de vérification de l'état de votre groupe Auto Scaling est définie comme un type EC2 qui effectue un contrôle de statut des instances EC2. Pour automatiser le remplacement des instances EC2 défectueuses, vous devez modifier le type de vérification de l'état du groupe Auto Scaling de votre instance en remplaçant EC2 par ELB à l'aide d'un fichier de configuration.

Tenez compte des points suivants :

  • Les contrôles de statut couvrent uniquement l'état d'une instance EC2, et non l'état de votre application, du serveur ou des conteneurs Docker exécutés sur l'instance.
  • Si votre application se bloque, l'équilibreur de charge supprime les instances défectueuses de sa cible. Toutefois, votre groupe Auto Scaling ne remplace pas automatiquement les instances défectueuses marquées par l'équilibreur de charge.
  • En modifiant le type de vérification de l'état de votre groupe Auto Scaling de EC2 à ELB, vous permettez au groupe Auto Scaling de remplacer automatiquement les instances défectueuses en cas d'échec de la vérification de l'état.

Remarque : pour plus d'informations sur la création et le déploiement de .ebextensions, consultez la rubrique Comment personnaliser mon environnement Elastic Beanstalk à l'aide de .ebextensions ?

Solution

Les étapes suivantes s'appliquent aux environnements avec des équilibreurs de charge uniquement.

1.    Créez un dossier nommé .ebextensions dans le répertoire racine de votre groupe source.

2.    Créez une extension .ebextension basée sur les ressources appelée fichier .config.. Voici un exemple :

Example .ebextensions/autoscaling.config
===============================================
Resources:
  AWSEBAutoScalingGroup:
    Type: AWS::AutoScaling::AutoScalingGroup
    Properties:
      HealthCheckType: ELB
      HealthCheckGracePeriod: 300
===============================================

Remarque : HealthCheckGracePeriod fait référence à la durée, en secondes, pendant laquelle Amazon EC2 Auto Scaling attend avant de vérifier l'état de santé d'une instance EC2 mise en service.

3.    Créez un fichier zip pour le groupe source de votre application mise à jour, puis déployez votre application.

Remarque : vous pouvez également déployer votre application à l'aide de eb deploy.

Vérifiez que le type de vérification de l'état de votre groupe Auto Scaling est défini sur ELB

1.    Ouvrez la console Amazon EC2.

2.    Dans le volet de navigation, sélectionnez Groupes Auto Scaling.

3.    Pour Filter (Filtrer), entrez l'ID d'environnement de votre groupe Auto Scaling, puis choisissez votre groupe Auto Scaling dans la liste des résultats.

4.    Dans l'onglet Details (Informations) de votre groupe Auto Scaling, vérifiez que Health Check Type (Type de vérification de l'état) est défini sur ELB.


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

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


Vous avez besoin d’aide ?