View a markdown version of this page

Utilisez la protection évolutive des instances pour contrôler la résiliation des instances - 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.

Utilisez la protection évolutive des instances pour contrôler la résiliation des instances

La protection contre l'évolutivité des instances vous permet de contrôler les instances auxquelles Amazon EC2 Auto Scaling peut mettre fin. Un cas d'utilisation courant de cette fonctionnalité est la mise à l'échelle des charges de travail basées sur des conteneurs. Pour de plus amples informations, veuillez consulter Concevez vos applications pour gérer avec élégance la résiliation des instances.

Par défaut, la protection évolutive des instances est désactivée lorsque vous créez un groupe Auto Scaling. Cela signifie qu'Amazon EC2 Auto Scaling peut mettre fin à n'importe quelle instance du groupe.

Vous pouvez protéger les instances dès leur lancement en activant le paramètre de protection contre la mise à l’échelle horizontale d’instance sur votre groupe Auto Scaling. La protection contre la diminution de la taille d'instance démarre lorsque le statut de l'instance est InService. Ensuite, pour contrôler quelles instances peuvent être résiliées, désactivez le paramètre de protection contre la mise à l’échelle horizontale sur les instances individuelles du groupe Auto Scaling. Ce faisant, vous pouvez continuer à protéger certaines instances contre les résiliations indésirables.

Considérations

Les considérations suivantes sont à prendre en compte lors de l'utilisation de la protection évolutive des instances :

  • Si toutes les instances d'un groupe Auto Scaling sont protégées contre la mise à l'échelle et qu'un événement de mise à l'échelle se produit, la capacité souhaitée est décrémentée. Cependant, le groupe Auto Scaling ne peut pas mettre fin au nombre d'instances requis tant que leur échelle d'instance dans les paramètres de protection n'est pas désactivée. Dans le Console de gestion AWS, l'historique des activités du groupe Auto Scaling inclut le message suivant si toutes les instances d'un groupe Auto Scaling sont protégées contre la mise à l'échelle lorsqu'un événement de mise à l'échelle se produit : Could not scale to desired capacity because all remaining instances are protected from scale in.

  • Si vous détachez une instance qui est protégée du paramètre Scale in, son paramètre d'échelle d'instance dans la protection est perdu. Lorsque vous attachez à nouveau l'instance au groupe, elle hérite de l'échelle d'instance actuelle dans le paramètre de protection du groupe. Lorsqu'Amazon EC2 Auto Scaling lance une nouvelle instance ou déplace une instance d'un pool chaud vers le groupe Auto Scaling, l'instance hérite du paramètre de protection de l'échelle d'instance du groupe Auto Scaling.

  • La protection contre la mise à l'échelle horizontale d'instance ne protège pas les instances Auto Scaling des actions suivantes :

    • Remplacement lié à la surveillance de l'état si une instance échoue à des surveillances de l'état. Pour de plus amples informations, veuillez consulter Surveillance de l’état des instances dans un groupe Auto Scaling.

    • Interruptions d'instances Spot Une instance Spot est mise hors service lorsque la capacité n'est plus disponible ou lorsque son prix dépasse votre prix maximum.

    • Une réservation de type Capacity Block prend fin. Amazon EC2 récupère les instances Capacity Block même si elles sont protégées contre le Scaling In.

    • Terminaison manuelle via la terminate-instance-in-auto-scaling-group commande. Pour de plus amples informations, veuillez consulter Mettez fin aux instances de votre groupe Auto Scaling (AWS CLI).

    • Résiliation manuelle via la console Amazon EC2, les commandes CLI et les opérations d'API. Pour protéger les instances Auto Scaling d'une résiliation manuelle, activez la protection de la résiliation Amazon EC2. (Cela n'empêche pas Amazon EC2 Auto Scaling de mettre fin aux instances ou de mettre fin manuellement à l'aide de la terminate-instance-in-auto-scaling-group commande.) Pour plus d'informations sur l'activation de la protection contre les interruptions Amazon EC2 dans un modèle de lancement, consultezCréer un modèle de lancement à l’aide de paramètres avancés.

Modifier la protection évolutive pour un groupe Auto Scaling

Vous pouvez activer ou désactiver le paramètre de protection contre la mise à l'échelle horizontale d'instance pour un groupe Auto Scaling. Lorsque vous l'activez, la protection évolutive est activée pour toutes les nouvelles instances lancées par le groupe.

L'activation ou la désactivation de ce paramètre pour un groupe Auto Scaling n'affecte pas les instances existantes.

Console
Pour activer la protection évolutive pour un nouveau groupe Auto Scaling

Lorsque vous créez le groupe Auto Scaling, sur la page Configurer la taille du groupe et les politiques de dimensionnement, sous Protection évolutive de l'instance, cochez la case Activer la protection évolutive de l'instance.

Pour activer ou désactiver la protection évolutive pour un groupe existant
  1. Ouvrez la console Amazon EC2 à l'adresse https://console.aws.amazon.com/ec2/ et choisissez Auto Scaling Groups dans le volet de navigation.

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

    Un volet fractionné s’ouvre en bas de la page.

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

  4. Pour la protection évolutive des instances, cochez ou désactivez la case à cocher Activer la protection à l'échelle des instances pour activer ou désactiver cette option selon les besoins.

  5. Choisissez Mettre à jour.

AWS CLI
Pour activer la protection évolutive pour un nouveau groupe Auto Scaling

Utilisez la commande create-auto-scaling-group suivante pour activer la protection de mise à l'échelle horizontale d'instance.

aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-asg --new-instances-protected-from-scale-in ...
Pour activer la protection évolutive d'un groupe existant

Utilisez la commande update-auto-scaling-group suivante pour activer la protection d'instance pour le groupe Auto Scaling spécifié.

aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg --new-instances-protected-from-scale-in
Pour désactiver la protection évolutive pour un groupe existant

Utilisez la commande suivante pour désactiver la protection contre la mise à l'échelle horizontale des instances pour le groupe spécifié.

aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg --no-new-instances-protected-from-scale-in

Modifier la protection évolutive pour une instance

Par défaut, une instance récupère le paramètre de protection contre la diminution de la taille d'instance de son groupe Auto Scaling. Vous pouvez toutefois activer ou désactiver la protection évolutive des instances après leur lancement.

Console
Pour activer ou désactiver la protection évolutive pour une instance
  1. Ouvrez la console Amazon EC2 à l'adresse https://console.aws.amazon.com/ec2/ et choisissez Auto Scaling Groups dans le volet de navigation.

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

    Un volet fractionné s’ouvre en bas de la page.

  3. Sous l’onglet Gestion des instances dans Instances, sélectionnez une instance.

  4. Pour activer la protection contre la mise à l'échelle horizontale des instances, choisissez Actions, Set Scale In Protection (Définir la protection contre la mise à l'échelle horizontale). Lorsque vous y êtes invité, choisissez Set Scale In Protection (Définir la protection de l'échelle).

  5. Pour désactiver la protection contre la mise à l'échelle horizontale des instances, choisissez Actions, Remove scale in protection (Supprimer la protection contre la mise à l'échelle horizontale). Lorsque vous y êtes invité, choisissez Remove Scale In Protection (Supprimer la protection contre la mise à l'échelle horizontale).

AWS CLI
Pour activer la protection évolutive d'une instance

Utilisez la commande set-instance-protection suivante pour activer la protection contre la mise à l'échelle horizontale d'instance pour l'instance spécifiée.

aws autoscaling set-instance-protection --instance-ids i-5f2e8a0d --auto-scaling-group-name my-asg --protected-from-scale-in
Pour désactiver la protection évolutive pour une instance

Utilisez la commande suivante pour désactiver la protection contre la mise à l'échelle horizontale des instances pour l'instance spécifiée.

aws autoscaling set-instance-protection --instance-ids i-5f2e8a0d --auto-scaling-group-name my-asg --no-protected-from-scale-in
Note

N'oubliez pas que la protection évolutive des instances ne garantit pas que les instances ne seront pas résiliées en cas d'erreur humaine, par exemple si quelqu'un met fin manuellement à une instance à l'aide de la console Amazon EC2 ou. AWS CLI Pour protéger votre instance contre une résiliation accidentelle, vous pouvez utiliser la protection contre la résiliation Amazon EC2. Toutefois, même si la protection de fin d'instance et la protection d'échelle d'instance sont activées, les données enregistrées dans le stockage d'instance peuvent être perdues si une surveillance de l'état d'intégrité détermine qu'une instance est défectueuse ou si le groupe lui-même est supprimé accidentellement. Comme pour tout environnement, la meilleure pratique consiste à sauvegarder vos données fréquemment ou chaque fois qu'elles sont adaptées à vos besoins en matière de continuité d'activité.