Creazione di un’AMI personalizzata
La pagina seguente spiega come creare un’Amazon Machine Image (AMI) personalizzata utilizzando le AMI di base di Amazon SageMaker HyperPod. Inizia selezionando un’AMI di base, quindi crea un’AMI personalizzata utilizzando uno dei diversi metodi disponibili per la creazione di nuove immagini, ad esempio la AWS CLI.
Selezione di un’AMI di base di SageMaker HyperPod
Puoi selezionare un’AMI di base di SageMaker HyperPod con uno dei seguenti metodi.
Selezione della console AWS
Puoi selezionare le AMI pubbliche di SageMaker HyperPod tramite la console AWS o utilizzando la chiamata API DescribeImages. Le AMI SageMaker HyperPod sono pubbliche e visibili in ogni Account AWS. Puoi trovarle nel catalogo delle AMI Amazon EC2 applicando un filtro per cercare le AMI pubbliche di proprietà di Amazon.
Per trovare le AMI SageMaker HyperPod nella console:
-
Accedi alla console Amazon EC2.
-
Nel riquadro di navigazione a sinistra scegliere AMIs (AMI).
-
Nell’elenco a discesa Tipo di immagine, seleziona Immagini pubbliche.
-
Nei filtri della barra di ricerca, imposta il filtro Alias proprietario su
amazon. -
Cerca le AMI con il prefisso HyperPod EKS e seleziona l’AMI (preferibilmente la più recente) più adatta al tuo caso d’uso. Ad esempio, puoi scegliere un’AMI Kubernetes 1.31 o Kubernetes 1.30.
Recupero dell’ID dell’AMI pubblica più recente con la AWS CLI
Per utilizzare sempre l’AMI pubblica con il rilascio più recente, è consigliabile utilizzare il parametro pubblico SSM di SageMaker HyperPod che contiene il valore dell’ID dell’AMI più recente rilasciata da SageMaker HyperPod.
L’esempio seguente spiega come recuperare l’ID dell’AMI più recente con la 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
Nota
Sostituisci il nome del parametro con la versione di Kubernetes desiderata. Ad esempio, per utilizzare Kubernetes 1.30, utilizza il parametro seguente: /aws/service/hyperpod/ami/x86_64/eks-1.30-amazon-linux-2/latest/ami-id.
Creazione di un’AMI personalizzata
Dopo aver selezionato un’AMI pubblica di SageMaker HyperPod, utilizzala come AMI di base per creare la tua AMI personalizzata con uno dei metodi seguenti. Tieni presente che questo non rappresenta un elenco completo per la creazione di AMI. Puoi utilizzare un metodo a tua scelta per creare le AMI. SageMaker HyperPod non suggerisce raccomandazioni specifiche.
-
Console di gestione AWS: puoi avviare un’istanza Amazon EC2 con l’AMI SageMaker HyperPod, effettuare le personalizzazioni desiderate e quindi creare un’AMI da quell’istanza.
-
AWS CLI: puoi anche utilizzare il comando
aws ec2 create-imageper creare un’AMI da un’istanza Amazon EC2 esistente dopo aver eseguito la personalizzazione. -
HashiCorp Packer: Packer è uno strumento open source di HashiCorp che consente di creare immagini di computer identiche per più piattaforme da un’unica configurazione di origine. Supporta la creazione di AMI per AWS, nonché di immagini per altri provider di cloud e piattaforme di virtualizzazione.
-
Image Builder: EC2 Image Builder è un servizio AWS completamente gestito che semplifica l’automazione delle operazioni di creazione, manutenzione, convalida, condivisione e implementazione di immagini Linux o Windows Server. Per ulteriori informazioni, consulta la Guida per l'utente di EC2 Image Builder.
Creazione di un’AMI personalizzata con crittografia AWS KMS gestita dal cliente
Le sezioni seguenti descrivono come creare un’AMI personalizzata con una chiave AWS KMS gestita dal cliente per crittografare i volumi del cluster HyperPod. Per ulteriori informazioni sulle chiavi gestite dal cliente in HyperPod e sulla concessione delle autorizzazioni necessarie per le policy della chiave IAM e KMS, consulta Crittografia con AWS KMS key gestita dal cliente per SageMaker HyperPod. Se prevedi di utilizzare un’AMI personalizzata crittografata con una chiave gestita dal cliente, assicurati di crittografare anche il volume root Amazon EBS del cluster HyperPod con la stessa chiave.
Esempio della AWS CLI: crea una nuova AMI utilizzando EC2 Image Builder e un’immagine base HyperPod
L’esempio seguente illustra come creare un’AMI utilizzando Image Builder con crittografia 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: creazione di una nuova AMI da Amazon EC2
Per creare un’AMI da un’istanza Amazon EC2 con la console di Amazon EC2:
-
Fai clic con il pulsante destro del mouse sull’istanza Amazon EC2 personalizzata e scegli Crea immagine.
-
Nella sezione Crittografia, seleziona Crittografa snapshot.
-
Seleziona la chiave KMS dall’elenco a discesa. Ad esempio:
arn:aws:kms:oppure utilizza l’alias della chiave:us-east-2:111122223333:key/<your-kms-key-id>alias/.<your-hyperpod-key>
Esempio della AWS CLI: creazione di una nuova AMI da un’istanza Amazon EC2
Utilizza il comando aws ec2 create-image con la crittografia 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" } } ]'