Comment automatiser le remplacement des instances Amazon EC2 défectueuses dans un environnement Elastic Beanstalk ?

Date de la dernière mise à jour : 22/04/2021

Je souhaite automatiser le remplacement des 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. Vous devez utiliser un fichier de configuration pour automatiser le remplacement des instances EC2 défectueuses. Le fichier de configuration passe le type de vérification de l'état du groupe Auto Scaling de votre instance d'EC2 à ELB.

Gardez à l'esprit les 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 passant le type de vérification de l'état d'EC2 à ELB, vous permettez au groupe Auto Scaling de remplacer automatiquement les instances défectueuses. Les instances défectueuses sont remplacées lorsque la vérification de l'état échoue.

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.

Utiliser un fichier de configuration pour passer à ELB le type de vérification de l'état du groupe Auto Scaling de votre instance

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.. Par 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 pendant laquelle Amazon EC2 Auto Scaling attend avant de vérifier l'état 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 ?


Besoin d'aide pour une question technique ou de facturation ?