Utilisation Capacity Blocks pour les charges de travail liées au machine learning - 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.

Utilisation Capacity Blocks pour les charges de travail liées au machine learning

Capacity Blocksvous aider à réserver des instances de GPU très recherchées à une date future afin de prendre en charge vos charges de travail de courte durée liées à l'apprentissage automatique (ML).

Pour un aperçu de Capacity Blocks leur fonctionnement, consultez le manuel d'apprentissage Capacity Blocksautomatique dans le guide de l'utilisateur Amazon EC2.

Pour commencer à l'utiliserCapacity Blocks, vous devez créer une réservation de capacité dans une zone de disponibilité spécifique. Capacity Blockssont livrés sous forme targeted de réservations de capacité dans une seule zone de disponibilité. Lorsque vous créez votre modèle de lancement, spécifiez l'ID de réservation et le type d'instance du Capacity Block. Mettez ensuite à jour votre groupe Auto Scaling pour utiliser le modèle de lancement que vous avez créé et la zone de disponibilité du Capacity Block. Lorsque votre réservation de bloc de capacité commence, utilisez le dimensionnement planifié pour lancer le même nombre d'instances que votre réservation de bloc de capacité.

Important

Capacity Blocksne sont disponibles que pour certains types d'instances Amazon EC2 et. Régions AWS Pour plus d'informations, consultez la section Conditions requises dans le guide de l'utilisateur Amazon EC2.

Directives opérationnelles

Voici les directives opérationnelles de base que vous devez suivre lorsque vous utilisez un bloc de capacité avec un groupe Auto Scaling.

  • Effectuez une mise à l’échelle horizontale à zéro de votre groupe Auto Scaling plus de 30 minutes avant l’heure de fin de la réservation du bloc de capacité. Amazon EC2 mettra fin à toutes les instances encore en cours d’exécution 30 minutes avant l’heure de fin du bloc de capacité.

  • Nous vous recommandons d'utiliser le dimensionnement planifié pour augmenter (ajouter des instances) et augmenter (supprimer des instances) aux heures de réservation appropriées. Pour plus d’informations, consultez Mise à l'échelle planifiée pour Amazon EC2 Auto Scaling.

  • Ajoutez des hooks de cycle de vie selon les besoins pour effectuer un arrêt optimal de votre application dans les instances lors de la mise à l’échelle. Laissez suffisamment de temps pour que l’action du cycle de vie soit terminée avant qu’Amazon EC2 ne commence à résilier de force vos instances 30 minutes avant l’heure de fin de la réservation du bloc de capacité. Pour plus d’informations, consultez Hooks de cycle de vie Amazon EC2 Auto Scaling.

  • Assurez-vous que le groupe Auto Scaling pointe vers la bonne version du modèle de lancement pendant toute la durée de la réservation. Nous vous recommandons de pointer vers une version spécifique du modèle de lancement plutôt que vers la version $Default ou $Latest.

Note

Si vous laissez une instance de Capacity Block active jusqu'à la fin de la réservation et qu'Amazon EC2 la récupère, les activités de dimensionnement de votre groupe Auto Scaling indiquent qu'elle était taken out of service in response to an EC2 health check that indicated it had been terminated or stopped « », même si elle a été volontairement récupérée à la fin du Capacity Block. De même, Amazon EC2 Auto Scaling tentera de remplacer l'instance de la même manière que pour toute instance dont le bilan de santé échoue. Pour plus d’informations, consultez Surveillance de l’état des instances dans un groupe Auto Scaling.

Spécifier un bloc de capacité dans votre modèle de lancement

Pour créer un modèle de lancement qui cible un bloc de capacité spécifique pour votre groupe Auto Scaling, appliquez l'une des méthodes suivantes :

Console
Pour spécifier un bloc de capacité dans votre modèle de lancement (console)
  1. Ouvrez la console Amazon EC2 à l’adresse https://console.aws.amazon.com/ec2/.

  2. Dans la barre de navigation supérieure, sélectionnez l' Région AWS endroit où vous avez créé votre bloc de capacité.

  3. Dans le volet de navigation, sous Instances, choisissez Modèles de lancement.

  4. Choisissez Créer un modèle de lancement, puis créez le modèle de lancement. Indiquez l’ID d’Amazon Machine Image (AMI), le type d’instance et tout autre paramètre du modèle de lancement, le cas échéant.

  5. Développez la section Détails avancés pour afficher les paramètres avancés.

  6. Pour l’option d’achat, choisissez Blocs de capacité.

  7. Pour la réservation de capacité, choisissez Cible par ID, puis pour Réservation de capacité - Cible par ID, choisissez l’ID de réservation de capacité d’un bloc de capacité existant.

  8. Lorsque vous avez terminé, choisissez Créer un modèle de lancement.

    Pour obtenir de l'aide sur la création d'un groupe Auto Scaling avec un modèle de lancement, consultezCréer un groupe Auto Scaling avec un modèle de lancement.

AWS CLI
Pour spécifier un bloc de capacité dans votre modèle de lancement (AWS CLI)

Utilisez la create-launch-templatecommande suivante pour créer un modèle de lancement qui spécifie un ID de réservation de bloc de capacité existant. Remplacez chaque espace réservé à la saisie de l'utilisateur par vos propres informations.

aws ec2 create-launch-template --launch-template-name my-template-for-capacity-block \ --version-description AutoScalingVersion1 --region us-east-2 \ --launch-template-data file://config.json
Astuce

Si cette commande génère une erreur, assurez-vous d'avoir mis à jour AWS CLI localement la dernière version.

Contenu de config.json.

{ "ImageId": "ami-04d5cc9b88example", "InstanceType": "p4d.24xlarge", "SecurityGroupIds": [ "sg-903004f88example" ], "KeyName": "MyKeyPair", "InstanceMarketOptions": { "MarketType": "capacity-block" }, "CapacityReservationSpecification": { "CapacityReservationTarget": { "CapacityReservationId": "cr-02168da1478b509e0" } } }

Voici un exemple de sortie.

{ "LaunchTemplate": { "LaunchTemplateId": "lt-068f72b724example", "LaunchTemplateName": "my-template-for-capacity-block", "CreateTime": "2023-10-27T15:12:44.000Z", "CreatedBy": "arn:aws:iam::123456789012:user/Bob", "DefaultVersionNumber": 1, "LatestVersionNumber": 1 } }

Vous pouvez utiliser la describe-launch-template-versionscommande suivante pour vérifier l'ID de réservation du bloc de capacité associé au modèle de lancement.

aws ec2 describe-launch-template-versions --launch-template-names my-template-for-capacity-block \ --region us-east-2

Voici un exemple de sortie d’un modèle de lancement indiquant une réservation de bloc de capacité.

{ "LaunchTemplateVersions": [ { "LaunchTemplateId": "lt-068f72b724example", "LaunchTemplateName": "my-template-for-capacity-block", "VersionNumber": 1, "CreateTime": "2023-10-27T15:12:44.000Z", "CreatedBy": "arn:aws:iam::123456789012:user/Bob", "DefaultVersion": true, "LaunchTemplateData": { "ImageId": "ami-04d5cc9b88example", "InstanceType": "p5.48xlarge", "SecurityGroupIds": [ "sg-903004f88example" ], "KeyName": "MyKeyPair", "InstanceMarketOptions": { "MarketType": "capacity-block" }, "CapacityReservationSpecification": { "CapacityReservationTarget": { "CapacityReservationId": "cr-02168da1478b509e0" } } } } ] }

Limites

  • Support pour n'Capacity Blocksest disponible que si votre groupe Auto Scaling possède une configuration compatible. Les groupes d’instances mixtes et les groupes chauds ne sont pas pris en charge.

  • Vous ne pouvez cibler qu'un seul bloc de capacité à la fois.

  • Pour connaître les conditions préalables et les recommandations relatives à l'utilisation des instances P5, consultez la section Commencer avec les instances P5 dans le guide de l'utilisateur Amazon EC2.

  • Amazon EKS prend en charge l'utilisation Capacity Blocks pour prendre en charge vos charges de travail d'apprentissage automatique (ML) de courte durée sur les clusters Amazon EKS. Pour plus d'informations, consultez la section Capacity Blocksconsacrée au ML dans le guide de l'utilisateur Amazon EKS.

  • Vous pouvez l'utiliser Capacity Blocks avec les types d'instances et les régions pris en charge. Cependant, les réservations de capacité à la demande offrent la flexibilité nécessaire pour réserver de la capacité pour d'autres types d'instances et régions. Pour consulter un didacticiel expliquant comment utiliser l'option de réservation de capacité à la demande, consultezRéservez des capacités dans des zones de disponibilité spécifiques avec des réservations de capacité .