Création d’une AMI personnalisée
La page suivante explique comment générer une Amazon Machine Image (AMI) personnalisée à l’aide des AMI de base Amazon SageMaker HyperPod. 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élection d’une AMI de base SageMaker HyperPod
Vous pouvez sélectionner une AMI de base SageMaker HyperPod à l’aide d’une des méthodes suivantes.
Sélection de la console AWS
Vous pouvez sélectionner des AMI publiques SageMaker HyperPod via la console AWS ou via un appel de l’API DescribeImages. Les AMI SageMaker HyperPod sont publiques et visibles dans chaque 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 trouver les AMI SageMaker HyperPod dans la console :
-
Connectez-vous à la console Amazon EC2.
-
Dans le volet de navigation de gauche, choisissez AMI.
-
Dans le menu déroulant Type d’image, sélectionnez Images publiques.
-
Dans les filtres de la barre de recherche, définissez le filtre Alias du propriétaire sur
amazon. -
Recherchez les AMI préfixées HyperPod EKS et sélectionnez l’AMI (de préférence la plus récente) adaptée à votre cas d’utilisation. Par exemple, vous pouvez choisir une AMI entre Kubernetes 1.31 et Kubernetes 1.30.
Récupération de l’ID de l’AMI publique la plus récente via l’AWS CLI
Si vous souhaitez toujours utiliser la dernière version de l’AMI publique, il est plus efficace d’utiliser le paramètre SSM public de SageMaker HyperPod qui contient la valeur de l’ID de la dernière AMI 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" \ --regionus-east-1\ --query "Parameter.Value" \ --output text
Note
Remplacez le nom du paramètre par la version de Kubernetes correspondante selon les besoins. Par exemple, si vous souhaitez utiliser Kubernetes 1.30, utilisez le paramètre suivant : /aws/service/hyperpod/ami/x86_64/eks-1.30-amazon-linux-2/latest/ami-id.
Génération de votre AMI personnalisée
Après avoir sélectionné une AMI publique de SageMaker HyperPod, utilisez-la comme AMI de base pour générer votre propre AMI personnalisée à l’aide d’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 générer des AMI. SageMaker HyperPod ne possède aucune recommandation spécifique.
-
Console de gestion AWS : vous pouvez lancer une instance Amazon EC2 à l’aide de l’AMI SageMaker HyperPod, apporter les personnalisations souhaitées, puis créer une AMI à partir de cette instance.
-
AWS CLI : vous pouvez également utiliser la commande
aws ec2 create-imagepour 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 de HashiCorp qui vous permet de créer des images de machine identiques pour plusieurs plateformes à partir d’une configuration source unique. Il prend en charge la création d’AMI pour AWS, ainsi que d’images pour d’autres fournisseurs de cloud et plateformes de virtualisation.
-
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.
Génération d’une AMI personnalisée avec un chiffrement AWS KMS géré par le client
Les sections suivantes décrivent comment générer une AMI personnalisée avec une clé AWS KMS gérée par le client pour chiffrer les volumes de votre cluster HyperPod. Pour plus d’informations sur les clés gérées par le client dans HyperPod et sur l’octroi des autorisations de stratégie de clé KMS et IAM requises, consultez Chiffrement par AWS KMS key gérée par le client pour SageMaker HyperPod. Si vous envisagez d’utiliser une AMI personnalisée chiffrée à l’aide d’une clé gérée par le client, assurez-vous de chiffrer également le volume racine Amazon EBS de votre cluster HyperPod avec la même clé.
Exemple AWS CLI : création d’une nouvelle AMI à l’aide d’EC2 Image Builder et d’une image de base HyperPod
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 :
-
Cliquez avec le bouton droit sur votre instance Amazon EC2 personnalisée et choisissez Créer l’image.
-
Dans la section Chiffrement, sélectionnez Chiffrer les instantanés.
-
Sélectionnez votre clé KMS dans le menu déroulant. Par exemple :
arn:aws:kms:ou utilisez l’alias de clé :us-east-2:111122223333:key/<your-kms-key-id>alias/.<your-hyperpod-key>
Exemple AWS CLI : création d’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" } } ]'