View a markdown version of this page

Configurez votre groupe Auto Scaling pour lancer des instances avec des réservations de capacité - 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.

Configurez votre groupe Auto Scaling pour lancer des instances avec des réservations de capacité

Pour configurer votre groupe Auto Scaling afin de lancer des instances avec Amazon EC2 Capacity Reservations et Capacity Blocks pour le ML, choisissez la procédure qui correspond à votre approche :

Utiliser une spécification de réservation de capacité

Utilisez l'une des méthodes suivantes pour configurer une spécification de réservation de capacité lorsque vous créez un nouveau groupe Auto Scaling.

Console
Pour configurer une spécification de réservation de capacité sur un nouveau groupe (console)
  1. Suivez les étapes décrites dansCréer un groupe Auto Scaling avec l'Amazon EC2 Launch Wizard, jusqu'à l'étape 2.

  2. Sur la page Choisir les options de lancement de l'instance, sous Paramètres de capacité supplémentaires, choisissez une préférence de réservation de capacité. Vous pouvez éventuellement choisir un objectif de réservation de capacité. Pour plus d’informations, consultez Préférence de réserve de capacité et Cible de réserve de capacité.

  3. Poursuivez les étapes restantes de l'assistant.

AWS CLI

Ajoutez le --capacity-reservation-specification paramètre à la commande https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html create-auto-scaling-group. Le paramètre accepte une préférence et une cible facultative. Pour plus d’informations, consultez Préférence de réserve de capacité et Cible de réserve de capacité.

L'exemple suivant crée un groupe Auto Scaling avec une préférence capacity-reservations-only et une réservation de capacité spécifique comme cible.

aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name my-asg \ --launch-template LaunchTemplateName=my-launch-template \ --min-size 1 --max-size 10 --desired-capacity 5 \ --vpc-zone-identifier "subnet-abc1234a,subnet-abc1234b" \ --capacity-reservation-specification '{ "CapacityReservationPreference": "capacity-reservations-only", "CapacityReservationTarget": { "CapacityReservationIds": ["cr-1234567890abcdef1"] } }'

Mettre à jour un groupe Auto Scaling existant

Pour modifier la spécification de réservation de capacité sur un groupe Auto Scaling existant, utilisez l'une des méthodes suivantes.

Console
Pour modifier la spécification de réservation de capacité sur un groupe existant (console)
  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. Dans la barre de navigation en haut, choisissez l' Région AWS emplacement de votre groupe Auto Scaling.

  3. Cochez la case située en regard de votre groupe Auto Scaling. Un volet divisé s'ouvre en bas de la page.

  4. Dans l'onglet Détails, sous Préférence de réservation de capacité, choisissez Modifier.

  5. Choisissez une préférence de réservation de capacité et, éventuellement, un objectif de réservation de capacité.

  6. Choisissez Mettre à jour.

AWS CLI

Ajoutez le --capacity-reservation-specification paramètre à la commande https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html update-auto-scaling-group.

L'exemple suivant met à jour un groupe Auto Scaling pour utiliser un groupe de ressources de réservation de capacité comme cible avec une préférence decapacity-reservations-first.

aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name my-asg \ --capacity-reservation-specification '{ "CapacityReservationPreference": "capacity-reservations-first", "CapacityReservationTarget": { "CapacityReservationResourceGroupArns": ["arn:aws:resource-groups:us-east-1:123456789012:group/my-cr-group"] } }'

Cible Blocs de capacité ou réservations de capacité interruptibles à partir d'un modèle de lancement

Vous pouvez utiliser Capacity Blocks ou interrompre les réservations de capacité de votre groupe Auto Scaling à l'aide d'un ciblage basé sur un modèle de lancement. Cette approche nécessite de définir le type de marché dans votre modèle de lancement et de spécifier l'ID de réservation de capacité comme cible dans votre groupe Auto Scaling.

Si votre groupe Auto Scaling utilise une politique d'instances mixtes, nous vous recommandons d'utiliser plutôt des segments de distribution, ce qui vous permet de configurer les réservations de capacité à un seul endroit du groupe Auto Scaling. Launch-template-based le ciblage est obligatoire si votre groupe Auto Scaling utilise un seul type d'instance.

Configuration d'un modèle de lancement

Dans votre modèle de lancement, définissez les paramètres suivants :

  • Définissez le type de marché de l'instance (InstanceMarketOptions.MarketType) sur capacity-block pour une Capacity Block réservation de capacité interruptible ou interruptible-capacity-reservation pour une réservation de capacité interruptible.

  • Définissez la cible de réservation de capacité (CapacityReservationSpecification.CapacityReservationTarget.CapacityReservationId) sur l'ID de réservation de capacité.

L'exemple suivant utilise la commande create-launch-template pour créer un modèle de lancement qui cible un. Capacity Block Pour une réservation de capacité interruptible, remplacez la MarketType valeur parinterruptible-capacity-reservation.

aws ec2 create-launch-template \ --launch-template-name my-cr-launch-template \ --launch-template-data '{ "ImageId": "ami-0abcdef1234567890", "InstanceType": "p5.48xlarge", "InstanceMarketOptions": { "MarketType": "capacity-block" }, "CapacityReservationSpecification": { "CapacityReservationTarget": { "CapacityReservationId": "cr-1234567890abcdef1" } } }'

Pour plus d'informations sur la création d'un modèle de lancement, consultez la section Modèles de lancement dans le guide de l'utilisateur Amazon EC2.

Créer un groupe Auto Scaling

Créez un groupe Auto Scaling qui utilise le modèle de lancement. Le groupe Auto Scaling doit être configuré avec un sous-réseau situé dans la même zone de disponibilité que votre réservation de capacité.

L'exemple suivant crée un groupe Auto Scaling qui utilise le modèle de lancement créé à l'étape précédente.

aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name my-cr-asg \ --launch-template LaunchTemplateName=my-cr-launch-template \ --min-size 0 --max-size 4 --desired-capacity 4 \ --vpc-zone-identifier "subnet-abc1234a"

Pour de plus amples informations, veuillez consulter Créer des groupes Auto Scaling à l’aide de modèles de lancement.

Directives opérationnelles

Prenez en compte les directives opérationnelles suivantes lorsque vous utilisez le ciblage basé sur un modèle de lancement.

  • Version du modèle de lancement  : pointez votre groupe Auto Scaling vers une version spécifique du modèle de lancement au lieu de la $Latest version $Default ou. Cela garantit la cohérence pendant la durée de la réservation.

  • Remplacement d'instance  : lorsqu'une réservation de capacité Capacity Block expirante ou interruptible est récupérée, Amazon EC2 met fin aux instances qui y sont exécutées. Le vérificateur de santé Auto Scaling détecte la résiliation et tente de lancer une instance de remplacement de la même manière que pour toute instance qui échoue à un contrôle de santé. Les activités de dimensionnement relatives à ces terminaisons indiquent qu'il a été mis hors service en réponse à un bilan de santé d'Amazon EC2 indiquant qu'il avait été mis hors service ou arrêté.

  • Pour Capacity Blocks — Passez à zéro dans votre groupe Auto Scaling plus de 30 minutes avant l'heure de fin de la Capacity Block réservation. Amazon EC2 commence à mettre fin à toutes les instances restantes 30 minutes avant l'heure de fin. Utilisez la mise à l'échelle planifiée pour procéder à une mise à l'échelle au début de la réservation et à une mise à l'échelle avant la fin. Ajoutez des hooks de cycle de vie si nécessaire pour arrêter correctement votre application avant la fenêtre de résiliation forcée.

  • Pour les réservations de capacité interruptibles  : les instances peuvent être résiliées avec un préavis de 2 minutes lorsque le propriétaire de la capacité récupère la capacité. Concevez vos applications de manière à gérer les arrêts en douceur. Amazon EC2 envoie des notifications 2 minutes avant la résiliation, et vous pouvez configurer une automatisation personnalisée pour répondre à ces notifications.

Ignorer les paramètres de réservation de capacité au niveau du groupe Auto Scaling

Vous pouvez définir une préférence et une cible de réservation de capacité dans votre groupe Auto Scaling pour modifier les paramètres de votre modèle de lancement. Pour plus d'informations sur la spécification de réservation de capacité, consultezRéservations de capacité cibles depuis votre groupe Auto Scaling.

Considérations

  • Politiques relatives aux instances mixtes  : le Launch-template-based ciblage Capacity Blocks ou les réservations de capacité interruptibles ne sont pas pris en charge par les politiques relatives aux instances mixtes. Pour utiliser ces types de réservation avec une politique d'instances mixtes, consultezUtilisez les segments de distribution pour cibler plusieurs types de réservation de capacité.

  • Piscines chaudes  : les piscines chaudes ne sont pas prises en charge lorsque votre modèle de lancement cible une réservation de capacité interruptible Capacity Block ou une réservation de capacité.

  • Un type de réservation de capacité par modèle de lancement — Un modèle de lancement ne peut cibler qu'un seul type de réservation de capacité. Pour cibler plusieurs types de réservation de capacité dans un groupe Auto Scaling, utilisez des segments de distribution.