Création d’une AMI personnalisée - Amazon SageMaker AI

View a markdown version of this page

Création d’une AMI personnalisée - Amazon SageMaker AI

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.

Création d’une AMI personnalisée

La page suivante explique comment créer une Amazon Machine Image (AMI) personnalisée à l'aide des AMI Amazon SageMaker HyperPod de base. Vous commencez par sélectionner une AMI de base, puis vous créez votre propre AMI personnalisée en utilisant l’une des méthodes courantes de création de nouvelles images, telles que l’ AWS CLI.

Sélectionnez une AMI SageMaker HyperPod de base

Vous pouvez sélectionner une AMI SageMaker HyperPod de base à l'aide de l'une des méthodes suivantes.

AWS sélection de la console

Vous pouvez sélectionner des SageMaker HyperPod AMI publiques via la AWS console ou en utilisant l'appel DescribeImages d'API. SageMaker HyperPod Les AMI sont publiques et visibles partout Compte AWS. Vous pouvez les trouver dans le catalogue d’AMI Amazon EC2 en appliquant un filtre pour rechercher les AMI publiques détenues par Amazon.

Pour rechercher des SageMaker HyperPod AMI dans la console :

  1. Connectez-vous à la console Amazon EC2.

  2. Dans le volet de navigation de gauche, choisissez AMI.

  3. Dans le menu déroulant Type d’image, sélectionnez Images publiques.

  4. Dans les filtres de la barre de recherche, définissez le filtre Alias du propriétaire sur amazon.

  5. Recherchez les AMI dont le préfixe est HyperPod EKS (pour l'orchestration Amazon Elastic Kubernetes Service) ou HyperPod Slurm (pour l'orchestration Slurm) et sélectionnez la dernière AMI adaptée à votre cas d'utilisation.

Récupérez le dernier identifiant d'AMI public via AWS CLI

Si vous souhaitez toujours utiliser la dernière version de l'AMI publique, il est plus efficace d'utiliser le paramètre SageMaker HyperPod SSM public qui contient la valeur de la dernière AMI ID publiée par SageMaker HyperPod.

L’exemple suivant montre comment extraire l’ID de la dernière AMI à l’aide de l’ AWS CLI :

aws ssm get-parameter \ --name "/aws/service/sagemaker-hyperpod/ami/x86_64/eks-1.31-amazon-linux-2/latest/ami-id" \ --region us-east-1 \ --query "Parameter.Value" \ --output text
Note

Remplacez le nom du paramètre par la version de Kubernetes ou le système d'exploitation de base Slurm correspondant, selon les besoins. Par exemple, pour Kubernetes 1.30, utilisez. /aws/service/sagemaker-hyperpod/ami/x86_64/eks-1.30-amazon-linux-2/latest/ami-id Pour Slurm sur Ubuntu 22.04, utilisez. /aws/service/sagemaker-hyperpod/ami/x86_64/slurm-ubuntu-22.04/latest/ami-id

Génération de votre AMI personnalisée

Après avoir sélectionné une AMI SageMaker HyperPod publique, utilisez-la comme AMI de base pour créer votre propre AMI personnalisée à l'aide de l'une des méthodes suivantes. Notez que cette liste n’est pas exhaustive pour la génération d’AMI. Vous pouvez utiliser la méthode de votre choix pour créer des AMI. SageMaker HyperPod n'a pas de recommandation spécifique.

  • AWS Console de gestion  : vous pouvez lancer une instance Amazon EC2 à l'aide de l' SageMaker HyperPod AMI, effectuer les personnalisations souhaitées, puis créer une AMI à partir de cette instance.

  • AWS CLI : vous pouvez également utiliser la commande aws ec2 create-image pour créer une AMI à partir d’une instance Amazon EC2 existante après avoir effectué la personnalisation.

  • HashiCorp Packer  : Packer est un outil open source HashiCorp qui vous permet de créer des images de machines identiques pour plusieurs plates-formes à partir d'une configuration source unique. Il prend en charge la création d'AMI et d'images pour d'autres fournisseurs de cloud et plateformes de virtualisation. AWS

  • Image Builder : EC2 Image Builder est un service AWS entièrement géré qui facilite l’automatisation de la création, de la maintenance, de la validation, du partage et du déploiement d’images Linux ou Windows Server. Pour plus d’informations, consultez le Guide de l’utilisateur EC2 Image Builder.

Créez une AMI personnalisée avec gestion par le client AWS KMS chiffrement

Les sections suivantes décrivent comment créer une AMI personnalisée avec une AWS KMS clé gérée par le client afin de chiffrer les volumes de votre HyperPod cluster. Pour plus d'informations sur les clés gérées par le client HyperPod et sur l'octroi des autorisations de politique de clés IAM et KMS requises, consultezGéré par le client AWS KMS key chiffrement pour SageMaker HyperPod. Si vous envisagez d'utiliser une AMI personnalisée chiffrée avec une clé gérée par le client, assurez-vous de chiffrer également le volume racine Amazon EBS de votre HyperPod cluster avec la même clé.

AWS CLI exemple : créer une nouvelle AMI à l'aide d'EC2 Image Builder et d'une image HyperPod de base

L’exemple suivant montre comment créer une AMI à l’aide d’Image Builder avec le chiffrement AWS KMS  :

aws imagebuilder create-image-recipe \ name "hyperpod-custom-recipe" \ version "1.0.0" \ parent-image "<hyperpod-base-image-id>" \ block-device-mappings DeviceName="/dev/xvda",Ebs={VolumeSize=100,VolumeType=gp3,Encrypted=true,KmsKeyId=arn:aws:kms:us-east-1:111122223333:key/key-id,DeleteOnTermination=true}

Console Amazon EC2 : création d’une nouvelle AMI à partir d’une instance Amazon EC2

Pour créer une AMI à partir d’une instance Amazon EC2 en utilisant la console Amazon EC2 :

  1. Right-click sur votre instance Amazon EC2 personnalisée et choisissez Créer une image.

  2. Dans la section Chiffrement, sélectionnez Chiffrer les instantanés.

  3. Sélectionnez votre clé KMS dans le menu déroulant. Par exemple : arn:aws:kms:us-east-2:111122223333:key/<your-kms-key-id> ou utilisez l’alias de clé : alias/<your-hyperpod-key>.

AWS CLI exemple : créer une nouvelle AMI à partir d'une instance Amazon EC2

Utilisez la commande aws ec2 create-image avec le chiffrement AWS KMS  :

aws ec2 create-image \ instance-id "<instance-id>" \ name "MyCustomHyperPodAMI" \ description "Custom HyperPod AMI" \ block-device-mappings '[ { "DeviceName": "/dev/xvda", "Ebs": { "Encrypted": true, "KmsKeyId": "arn:aws:kms:us-east-1:111122223333:key/key-id", "VolumeType": "gp2" } } ]'