Remplacer des instances Auto Scaling en fonction de la durée de vie maximale de l’instance - Amazon EC2 Auto Scaling

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.

Remplacer des instances Auto Scaling en fonction de la durée de vie maximale de l’instance

La durée de vie maximale de l'instance spécifie la durée maximale (en secondes) pendant laquelle une instance peut être en service avant d'être résiliée et remplacée. Il arrive couramment que vous deviez remplacer vos instances selon un calendrier en raison de politiques de sécurité internes ou de contrôles de conformité externes.

Vous devez spécifier une valeur d'au moins 86 400 secondes (un jour). Pour effacer une valeur précédemment définie, spécifiez une nouvelle valeur de 0. Ce paramètre s'applique à toutes les instances actuelles et futures de votre groupe Auto Scaling.

Considérations

Les points suivants doivent être pris en compte lors de l'utilisation de cette fonctionnalité :

  • Chaque fois qu'une instance antérieure est remplacée et qu'une nouvelle instance est lancée, la nouvelle utilise le modèle de lancement ou la configuration de lancement actuellement associée au groupe Auto Scaling. Si votre modèle de lancement ou votre configuration de lancement spécifie l'ID Amazon Machine Image (AMI) d'une autre version de votre application, cette version de votre application sera déployée automatiquement.

  • Si la durée de vie maximale des instances est trop faible, les instances peuvent être remplacées plus rapidement que prévu. Amazon EC2 Auto Scaling remplace généralement les instances une par une, avec une pause entre les remplacements. Toutefois, si la durée de vie maximale des instances spécifiée ne laisse pas suffisamment de temps pour remplacer chaque instance individuellement, Amazon EC2 Auto Scaling doit remplacer plusieurs instances à la fois. Plusieurs instances peuvent être remplacées à la fois, jusqu'à 10 % de la capacité actuelle de votre groupe Auto Scaling. Pour éviter de remplacer un trop grand nombre d'instances à la fois, fixez une durée de vie maximale des instances plus longue ou utilisez la protection évolutive des instances pour empêcher temporairement la mise hors service d'instances individuelles. Pour plus d’informations, consultez Utiliser la protection évolutive de l'instance pour contrôler la fermeture de l'instance.

  • Amazon EC2 Auto Scaling crée une nouvelle activité de mise à l’échelle pour résilier l’instance, puis la résilie. Pendant que l'instance est résiliée, une autre activité de mise à l'échelle lance une nouvelle instance. Vous pouvez modifier ce comportement pour lancer avant toute résiliation en utilisant une politique de maintenance des instances. Pour plus d’informations, consultez Politiques de maintenance des instances.

Définir la durée de vie maximale de l'instance

Lorsque vous créez un groupe Auto Scaling dans la console, vous ne pouvez pas définir la durée de vie maximale d'une instance. Cependant, après la création du groupe, vous pouvez modifier celui-ci pour définir la durée de vie maximale de l'instance.

Pour définir la durée de vie maximale d'une instance pour un groupe (console)
  1. Ouvrez la console Amazon EC2 à l'adresse https://console.aws.amazon.com/ec2/ et choisissez Groupes Auto Scaling dans le panneau de navigation.

  2. Cochez la case située en regard du groupe Auto Scaling.

    Un panneau fractionné s'ouvre dans la partie inférieure de la page Groupes Auto Scaling avec des informations sur le groupe que vous avez sélectionné.

  3. Sous l’onglet Détails, choisissez Configurations avancées, Modifier.

  4. Pour Maximum instance lifetime (Durée de vie maximale de l'instance), saisissez le nombre maximal de secondes pendant lesquelles une instance peut être en service.

  5. Choisissez Mettre à jour.

L'onglet Activity (Activité), sous Activity history (Historique des activités), vous permet de voir l'historique de remplacement des instances du groupe.

Pour définir la durée de vie maximale d'une instance pour un groupe (AWS CLI)

Vous pouvez également utiliser le AWS CLI pour définir la durée de vie maximale des instances pour les groupes Auto Scaling nouveaux ou existants.

Pour les nouveaux groupes Auto Scaling, utilisez la create-auto-scaling-groupcommande.

aws autoscaling create-auto-scaling-group --cli-input-json file://~/config.json

Voici un exemple de fichier config.json qui montre une durée de vie maximale de l'instance de 2592000 secondes (30 jours).

{ "AutoScalingGroupName": "my-asg", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "$Default" }, "MinSize": 1, "MaxSize": 5, "MaxInstanceLifetime": 2592000, "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782", "Tags": [] }

Pour les groupes Auto Scaling existants, utilisez la update-auto-scaling-groupcommande.

aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-existing-asg --max-instance-lifetime 2592000
Pour vérifier la durée de vie maximale d'instance d'un groupe Auto Scaling

Utilisez la commande describe-auto-scaling-groups.

aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name my-asg

Limites

  • La durée de vie maximale n'est pas garantie d'être exacte pour chaque instance : les instances ne sont pas garanties d'être remplacées uniquement à la fin de leur durée maximale. Dans certains cas, Amazon EC2 Auto Scaling peut avoir besoin de lancer le remplacement des instances juste après que vous ayez mis à jour le paramètre de durée de vie maximale de l'instance. La raison de ce comportement est d'éviter de remplacer toutes les instances en même temps.

  • Protection évolutive des instances respectée : Amazon EC2 Auto Scaling fournit une protection évolutive des instances pour vous aider à contrôler les instances auxquelles elle peut mettre fin. Lorsque cette protection est activée sur une instance, Amazon EC2 Auto Scaling ne met pas fin à l'instance même si elle a atteint sa durée de vie maximale.

  • Instances résiliées avant le lancement : lorsqu’il n’y a qu’une seule instance dans le groupe Auto Scaling, la fonctionnalité de durée de vie maximale des instances peut provoquer une panne car Amazon EC2 Auto Scaling résilie une instance avant d’en lancer une nouvelle. Pour modifier ce comportement afin de lancer avant toute résiliation, consultez Politiques de maintenance des instances.