本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建置自訂 AMI
下頁說明如何使用 Amazon SageMaker HyperPod 基礎 AMI 建置自訂 Amazon Machine Image (AMI)。首先選取基礎 AMI,然後使用任何用於建立新映像的常見方法來建立自訂的 AMI,例如 AWS CLI。
選取 SageMaker HyperPod 基礎 AMI
您可以透過下列其中一種方法選取 SageMaker HyperPod 基礎 AMI。
AWS主控台選擇
您可以透過AWS主控台或使用 DescribeImages API 呼叫來選取公有 SageMaker HyperPod AMIs。SageMaker HyperPod AMIs是公有且可見於每個 AWS 帳戶。您可以套用篩選條件來搜尋 Amazon 擁有的公有 AMI,以在 Amazon EC2 AMI 目錄中找到它們。
若要在主控台中尋找 SageMaker HyperPod AMI:
-
登入 Amazon SNS 主控台。
-
在左側導覽窗格中選擇 AMI。
-
針對映像類型下拉式清單,選取公有映像。
-
在搜尋列篩選條件中,將擁有者別名篩選條件設定為
amazon。 -
搜尋字首為 HyperPod EKS 的 AMI,然後選取適合您使用案例的 AMI (最好是最新的)。例如,您可以在 Kubernetes 1.31 與 Kubernetes 1.30 之間選擇 AMI。
透過 擷取最新的公有 AMI IDAWS CLI
如果您想要一律使用最新版本的公有 AMI,則使用公有 SageMaker HyperPod SSM 參數會更有效率,因為該參數包含 SageMaker HyperPod 發行的最新 AMI ID 值。
下列範例展示如何使用 AWS CLI 擷取最新的 AMI ID:
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
注意
視需要將參數名稱取代為對應的 Kubernetes 版本。例如,如果您想要使用 Kubernetes 1.30,請使用下列參數:/aws/service/hyperpod/ami/x86_64/eks-1.30-amazon-linux-2/latest/ami-id。
建置您的自訂 AMI
在您選取了 SageMaker HyperPod 公有 AMI 之後,請使用其做為基礎 AMI,搭配下列其中一種方法建置您自己的自訂 AMI。請注意,這不是用於建置 AMI 的詳盡清單。您可以使用任何您選擇用於建置 AMI 的方法。SageMaker HyperPod 沒有任何特定建議。
-
AWS管理主控台:您可以使用 SageMaker HyperPod AMI 啟動 Amazon EC2 執行個體,進行所需的自訂,然後從該執行個體建立 AMI。
-
AWS CLI:執行自訂後,您也可以使用
aws ec2 create-image命令,從現有的 Amazon EC2 執行個體建立 AMI。 -
HashiCorp Packer:Packer 是來自 HashiCorp 的開放原始碼工具,可讓您從單一來源組態為多個平台建立相同的機器映像。它支援為 AMIsAWS,以及為其他雲端供應商和虛擬化平台建立映像。
-
Image Builder:EC2 Image Builder 是一項全受管 AWS 服務,可讓您更輕鬆地自動建立、維護、驗證、共用和部署 Linux 或 Windows Server 映像。如需詳細資訊,請參閱 EC2 Image Builder 使用者指南。
使用客戶受管AWS KMS加密建置自訂 AMI
下列各節說明如何使用客戶受管AWS KMS金鑰建置自訂 AMI,以加密 HyperPod 叢集磁碟區。如需 HyperPod 中客戶自管金鑰以及授予必要 IAM 和 KMS 金鑰政策許可的詳細資訊,請參閱SageMaker HyperPod 的客戶受管AWS KMS key加密。如果您打算使用透過客戶自管金鑰加密的自訂 AMI,請確保您也透過相同的金鑰來加密 HyperPod 叢集的 Amazon EBS 根磁碟區。
AWS CLI範例:使用 EC2 Image Builder 和 HyperPod 基礎映像建立新的 AMI
下列範例展示如何使用 Image Builder 搭配 AWS KMS 加密來建立 AMI:
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}
Amazon EC2 主控台:從 Amazon EC2 建立新的 AMI
若要使用 Amazon EC2 主控台,從 Amazon EC2 執行個體中建立 AMI:
-
在自訂的 Amazon EC2 執行個體上按一下滑鼠右鍵,然後選擇建立映像。
-
在加密區段中,選取加密快照。
-
從下拉式清單中選取您的 KMS 金鑰。例如:
arn:aws:kms:或使用金鑰別名:us-east-2:111122223333:key/<your-kms-key-id>alias/。<your-hyperpod-key>
AWS CLI範例:從 Amazon EC2 執行個體建立新的 AMI
使用 aws ec2 create-image 命令搭配 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" } } ]'