View a markdown version of this page

Utilisez les segments de distribution pour cibler plusieurs types de réservation 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.

Utilisez les segments de distribution pour cibler plusieurs types de réservation de capacité

Utilisez les segments de distribution pour configurer votre groupe Auto Scaling afin qu'il utilise plusieurs types de réservation de On-Demand capacité (réservations de capacité, Capacity Blocks pour le ML, et réservations de capacité interruptibles) avec un ordre prioritaire. Vous ciblez ces types de réservation en pointant votre groupe Auto Scaling vers un groupe de ressources de réservation de capacité qui contient un mélange de différentes réservations de capacité.

Lorsque vous configurez des segments de distribution, Auto Scaling lance des instances pour tous les types de réservation dans l'ordre de priorité que vous spécifiez, avec un retour facultatif à la On-Demand capacité.

Comment Auto Scaling répartit les instances entre les options du marché

Auto Scaling répartit les instances lancées entre différentes options de marché en fonction de la configuration de votre politique d'instances mixtes.

On-Demand et distribution ponctuelle

Vous pouvez répartir les instances entre On-Demand et la capacité Spot à l'aide OnDemandBaseCapacity des OnDemandPercentageAboveBaseCapacity champs et de votre politique d'instances mixtes. L'exemple suivant lance les deux premières instances en tant que On-Demand, puis 25 % des instances restantes en tant que Spot On-Demand et les autres en tant que Spot :

{ "InstancesDistribution": { "OnDemandBaseCapacity": 2, "OnDemandPercentageAboveBaseCapacity": 25 } }

Distribution avec segments de distribution

Un segment de distribution est une configuration de votre groupe Auto Scaling qui contient une liste de types de capacité à hiérarchiser. Les segments de distribution sont définis dans le DistributionSegments champ de votre politique d'instances mixtes.

Auto Scaling ne prend actuellement en charge qu'un seul segment de distribution par groupe Auto Scaling. Toute la capacité du groupe Auto Scaling est répartie entre les types de capacité cibles (TargetCapacityTypes) de ce segment.

Les valeurs valides pour TargetCapacityTypes sont les suivantes :

  • on-demand-capacity-reservation— Réservations On-Demand de capacité

  • capacity-block— Capacity Blocks pour ML

  • interruptible-capacity-reservation— Réservations de capacité interruptibles

  • on-demand— On-Demand capacité

L'ordre de la liste détermine la manière dont Auto Scaling distribue les instances lancées. Auto Scaling tente de consommer de la capacité dans l'ordre dans lequel les types sont répertoriés. Lorsqu'un type de capacité particulier n'est pas disponible, Auto Scaling ignore ce type et passe au suivant.

L'exemple suivant lance des instances en tant que On-Demand Capacity d' Reservation-backed abord, puis en tant que Capacity Block -backed, puis en tant que Capacity interruptible Reservation-backed, et enfin comme On-Demand si la capacité réservée était insuffisante :

{ "InstancesDistribution": { "DistributionSegments": [ { "TargetCapacityTypes": [ "on-demand-capacity-reservation", "capacity-block", "interruptible-capacity-reservation", "on-demand" ] } ] } }

Si vous l'incluez on-demand dans la liste, Auto Scaling revient à la On-Demand capacité lorsque la capacité réservée n'est pas disponible. Si vous omettez de le faireon-demand, les instances ne se lancent pas lorsque la capacité réservée n'est pas disponible. Si vous l'incluezon-demand, il doit s'agir de la dernière entrée de la liste.

Note

La capacité ponctuelle n'est pas prise en charge en tant que type de capacité cible pour le moment.

Conditions préalables

Avant de pouvoir configurer les segments de distribution de votre groupe Auto Scaling, vous devez créer les réservations de capacité que vous souhaitez consommer et le groupe de ressources de réservation de capacité qui les contient.

Pour créer une réservation de capacité, consultez l'une des rubriques suivantes dans le guide de l'utilisateur Amazon EC2 :

Pour créer un groupe de ressources de réservation de capacité contenant une combinaison de différentes réservations de capacité, consultez la section Groupes de ressources de réservation de capacité dans le guide de l'utilisateur Amazon EC2.

Configurez votre groupe Auto Scaling pour utiliser des segments de distribution

Pour configurer votre groupe Auto Scaling afin qu'il utilise des segments de distribution, ajoutez-les à votre politique d'instances mixtes et définissez l'ARN du groupe de ressources de réservation de capacité comme cible dans votre spécification de réservation de capacité.

Auto Scaling tente de lancer des instances dans l'ordre de priorité des types de capacité, et pour chaque type de capacité, dans l'ordre des types d'instances répertoriés dans votre modèle de lancementOverrides.

Console
Pour configurer des segments de distribution 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 d'instance, sous Exigences relatives au type d'instance, choisissez Ignorer le modèle de lancement, puis choisissez Ignorer le modèle de lancement pour les segments de distribution.

  3. Dans Options de distribution des instances, sélectionnez Segments de distribution.

  4. Pour Sélectionner le type de réservation de capacité cible, sélectionnez les types de réservation de capacité à inclure dans ce segment de distribution. Assurez-vous que votre groupe de ressources de réservation de capacité contient les types de réservation que vous sélectionnez.

  5. Sous Commander les types de réservation de capacité cible, faites glisser les types dans l'ordre de priorité de votre choix. Auto Scaling lance les instances dans Capacity Reservations dans cet ordre. Si vous avez sélectionné On-Demand des instances, elles doivent être les dernières.

  6. Dans Paramètres de capacité supplémentaires, pour Cible de réservation de capacité, choisissez Spécifier le groupe de ressources de réservation de capacité (cible par ARN), puis choisissez l'ARN de votre groupe de ressources de réservation de capacité.

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

AWS CLI

Utilisez la commande create-auto-scaling-group pour créer un nouveau groupe Auto Scaling avec des segments de distribution.

L'exemple suivant utilise un ordre de priorité des réservations de On-Demand capacité d'abordCapacity Blocks, puis des réservations de capacité interruptibles, puis On-Demand.

aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name my-asg \ --min-size 0 --max-size 10 --desired-capacity 5 \ --vpc-zone-identifier "subnet-abc1234a" \ --mixed-instances-policy '{ "LaunchTemplate": { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template" }, "Overrides": [ {"InstanceType": "m5.24xlarge"}, {"InstanceType": "p5.48xlarge"} ] }, "InstancesDistribution": { "OnDemandAllocationStrategy": "prioritized", "DistributionSegments": [ { "TargetCapacityTypes": [ "on-demand-capacity-reservation", "capacity-block", "interruptible-capacity-reservation", "on-demand" ] } ] } }' \ --capacity-reservation-specification '{ "CapacityReservationTarget": { "CapacityReservationResourceGroupArns": [ "arn:aws:resource-groups:us-east-1:123456789012:group/my-crg" ] } }'

Migrer vers et depuis les segments de distribution

Vous pouvez migrer un groupe Auto Scaling existant pour utiliser des segments de distribution et revenir à une configuration standard si nécessaire. Dans tous les scénarios de migration, les instances existantes continuent de fonctionner. Les nouveaux lancements suivent la configuration mise à jour.

Migrer un groupe d'instances mixtes pour utiliser des segments de distribution

Pour migrer un groupe d'instances mixtes existant afin d'utiliser des segments de distribution, utilisez l'une des méthodes suivantes. Auto Scaling efface automatiquement OnDemandBaseCapacity et OnDemandPercentageAboveBaseCapacity lorsque vous ajoutez des segments de distribution.

Console
Pour migrer un groupe existant vers des segments de distribution (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. Choisissez le nom de votre groupe Auto Scaling pour ouvrir sa page de détails.

  4. Dans la section Exigences relatives au type d'instance, choisissez Modifier.

  5. Dans Exigences relatives au type d'instance, choisissez Ignorer le modèle de lancement, puis choisissez Ignorer le modèle de lancement pour les segments de distribution.

  6. Dans Options de distribution des instances, sélectionnez Segments de distribution.

  7. Pour Sélectionner le type de réservation de capacité cible, sélectionnez les types de réservation de capacité à inclure dans ce segment de distribution. Assurez-vous que votre groupe de ressources de réservation de capacité contient les types de réservation que vous sélectionnez.

  8. Sous Commander les types de réservation de capacité cible, faites glisser les types dans l'ordre de priorité de votre choix. Si vous avez sélectionné On-Demand des instances, elles doivent être les dernières.

  9. Choisissez Mettre à jour.

Pour définir le groupe de ressources de réservation de capacité comme cible d'un groupe existant, consultezMettre à jour un groupe Auto Scaling existant.

AWS CLI

Utilisez la commande update-auto-scaling-group pour ajouter des segments de distribution à votre politique d'instances mixtes et définir l'ARN du groupe de ressources de réservation de capacités comme cible.

aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name my-asg \ --mixed-instances-policy '{ "InstancesDistribution": { "DistributionSegments": [ { "TargetCapacityTypes": [ "on-demand-capacity-reservation", "capacity-block", "interruptible-capacity-reservation", "on-demand" ] } ] } }' \ --capacity-reservation-specification '{ "CapacityReservationPreference": "default", "CapacityReservationTarget": { "CapacityReservationResourceGroupArns": [ "arn:aws:resource-groups:us-east-1:123456789012:group/my-crg" ] } }'

Éloignez-vous des segments de distribution

Pour revenir à un groupe d'instances mixtes standard, utilisez l'une des méthodes suivantes.

Console
Pour supprimer des segments de distribution d'un groupe (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. Choisissez le nom de votre groupe Auto Scaling pour ouvrir sa page de détails.

  4. Dans la section Exigences relatives au type d'instance, choisissez Modifier.

  5. Sous Exigences relatives au type d'instance, choisissez Réinitialiser pour lancer le modèle. Cela supprime les remplacements du modèle de lancement, ce qui efface la politique d'instances mixtes et les segments de distribution qui l'accompagnent.

  6. Choisissez Mettre à jour.

AWS CLI

Utilisez la commande https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html update-auto-scaling-group pour définir ou. OnDemandBaseCapacity OnDemandPercentageAboveBaseCapacity Auto Scaling efface automatiquement les segments de distribution lorsque vous définissez les anciens champs.

aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name my-asg \ --mixed-instances-policy '{ "InstancesDistribution": { "OnDemandBaseCapacity": 2, "OnDemandPercentageAboveBaseCapacity": 25 } }' \ --capacity-reservation-specification '{ "CapacityReservationPreference": "capacity-reservations-first" }'

Vous pouvez également effacer les segments de distribution de manière explicite DistributionSegments en définissant une liste vide.

Si vous souhaitez passer à l'utilisation d'un modèle de lancement dans votre groupe Auto Scaling sans politique d'instances mixtes, utilisez la update-auto-scaling-group commande avec un modèle de lancement de niveau supérieur. Auto Scaling efface la politique d'instances mixtes lorsque vous fournissez un modèle de lancement de niveau supérieur.

aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name my-asg \ --launch-template LaunchTemplateName=my-launch-template \ --capacity-reservation-specification '{ "CapacityReservationPreference": "capacity-reservations-first" }'
Note

Vous pouvez également effectuer une migration depuis et vers des segments de distribution à l'aide d'une actualisation de l'instance à l'aide du --desired-configuration paramètre.

Scale-in comportement avec les segments de distribution

Lorsque votre groupe Auto Scaling évolue, Auto Scaling met fin aux instances dans l'ordre inverse du vôtreTargetCapacityTypes. On-Demand les instances sont fermées en premier, suivies par les instances du type de capacité le moins prioritaire, et ainsi de suite jusqu'au type de capacité le plus prioritaire.

Par exemple, si cette option est TargetCapacityTypes définie sur["on-demand-capacity-reservation", "capacity-block", "interruptible-capacity-reservation", "on-demand"], Auto Scaling met fin aux instances dans l'ordre suivant lors de la mise à l'échelle :

  1. On-Demand

  2. Capacité interruptible Reservation-backed

  3. Basée sur Capacity Block

  4. On-Demand Capacité Reservation-backed

Si vous mettez à jour vos segments de distribution pour supprimer un type de réservation, les instances existantes de ce type supprimé sont supprimées avant toute instance dont le type figure toujours dans la liste.

Considérations

  • Préférence de réservation de capacité  : cette option n'defaultest prise en charge que lors de la configuration des segments de distribution. Pour de plus amples informations, veuillez consulter Préférence de réserve de capacité.

  • On-Demand stratégie d'allocation  : n'prioritizedest prise en charge que lorsque vous configurez des segments de distribution.

  • Piscines chaudes — Les piscines chaudes ne sont pas prises en charge par les segments de distribution.

  • Capacité ponctuelle  : la capacité ponctuelle n'est pas prise en charge en tant que type de capacité cible dans les segments de distribution.