本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立自訂 SageMaker AI 映像
重要
允許 Amazon SageMaker Studio 或 Amazon SageMaker Studio Classic 建立 Amazon SageMaker 資源的自訂 IAM 政策也必須授予許可,才能將標籤新增至這些資源。需要將標籤新增至資源的許可,因為 Studio 和 Studio Classic 會自動標記他們建立的任何資源。如果 IAM 政策允許 Studio 和 Studio Classic 建立資源,但不允許標記,則嘗試建立資源時可能會發生「AccessDenied」錯誤。如需詳細資訊,請參閱提供標記 SageMaker AI 資源的許可。
AWS Amazon SageMaker AI 的 受管政策 提供建立 SageMaker 資源的許可,已包含建立這些資源時新增標籤的許可。
重要
截至 2023 年 11 月 30 日,先前的 Amazon SageMaker Studio 體驗現在已命名為 Amazon SageMaker Studio Classic。以下章節是使用 Studio Classic 應用程式的特定部分。如需使用更新 Studio 體驗的相關資訊,請參閱Amazon SageMaker Studio。
本主題說明如何使用 SageMaker AI 主控台或 建立自訂 SageMaker AI 映像 AWS CLI。
當您從主控台建立映像時,SageMaker AI 也會建立初始映像版本。每個映像版本代表存放在 Amazon Elastic 容器登錄檔 (ECR)
建立自訂 SageMaker AI 映像之後,您必須將其連接至您的網域或共用空間,才能與 Studio Classic 搭配使用。如需詳細資訊,請參閱連接自訂 SageMaker AI 映像。
從主控台建立 SageMaker AI 映像
下一節示範如何從 SageMaker AI 主控台建立自訂 SageMaker AI 映像。
建立映像
-
在 https://console.aws.amazon.com/sagemaker/
:// 開啟 Amazon SageMaker AI 主控台。 -
在左側導覽窗格中,選擇管理員組態。
-
在管理員組態下,選擇映像。
-
在自訂映像頁面中,選擇建立映像。
-
對於映像來源,請在 Amazon ECR 中輸入容器映像的登錄檔路徑。路徑格式如下。
acct-id
.dkr.ecr.region
.amazonaws.com/repo-name[:tag] or [@digest]
-
選擇下一步。
-
在映像屬性下,輸入下列內容:
-
圖片名稱 — 此名稱對您目前的帳戶而言都必須是唯一的 AWS 區域。
-
(選用) 顯示名稱 – Studio Classic 使用者介面中顯示的名稱。如果未提供,
Image name
則會顯示出來。 -
(選用) 描述 – 映像的一項描述。
-
IAM 角色 – 該角色必須以連接 AmazonSageMakerFullAccess
政策。在下拉式清單中,選擇下列其中一個選項: -
建立新角色 — 指定您希望筆記本使用者可以存取的任何其他 Amazon Simple Storage Service (Amazon S3) 儲存貯體。如果您不想將存取許可新增至更多儲存貯體,請選擇無。
SageMaker AI 會將
AmazonSageMakerFullAccess
政策連接至角色。此角色可讓筆記本使用者存取核取標記旁列出的 S3 儲存貯體。 -
輸入自訂 IAM 角色 ARN — 輸入 IAM 角色的 Amazon Resource Name (ARN)。
-
使用現有角色 — 從清單中選擇一個現有角色。
-
-
(選用) 映像標籤 — 選擇新增標籤。您最多可新增 50 個標籤。您可以使用 Studio Classic 使用者介面、SageMaker AI 主控台或 SageMaker AI
Search
API 搜尋標籤。
-
-
選擇提交。
新映像會顯示在自訂映像清單中並以重點標示。已成功建立映像後,您可以選擇映像名稱來檢視其屬性,或選擇建立版本建立其他版本。
若要建立其他映像版本
-
在與映像相同的行上選擇建立版本。
-
對於映像來源,請輸入 Amazon ECR 容器映像的登錄檔路徑。容器映像不應與先前版本的 SageMaker AI 映像中使用的映像相同。
從 建立 SageMaker AI 映像 AWS CLI
您可以使用 執行下列步驟,從容器映像建立 SageMaker AI 映像 AWS CLI。
建立
Image
。建立
ImageVersion
。建立一個程式組態檔案。
建立
AppImageConfig
。
建立 SageMaker AI 映像實體
-
建立 SageMaker AI 映像。
aws sagemaker create-image \ --image-name custom-image \ --role-arn arn:aws:iam::
<acct-id>
:role/service-role/<execution-role>
回應看起來應該類似以下的內容。
{ "ImageArn": "arn:aws:sagemaker:us-east-2:acct-id:image/custom-image" }
-
從容器映像建立 SageMaker AI 映像版本。
aws sagemaker create-image-version \ --image-name custom-image \ --base-image
<acct-id>
.dkr.ecr.<region>
.amazonaws.com/smstudio-custom:custom-image回應看起來應該類似以下的內容。
{ "ImageVersionArn": "arn:aws:sagemaker:us-east-2:acct-id:image-version/custom-image/1" }
-
檢查映像檔版本是否已成功建立。
aws sagemaker describe-image-version \ --image-name custom-image \ --version-number 1
回應看起來應該類似以下的內容。
{ "ImageVersionArn": "arn:aws:sagemaker:us-east-2:acct-id:image-version/custom-image/1", "ImageVersionStatus": "CREATED" }
注意
如果回應為
"ImageVersionStatus": "CREATED_FAILED"
,則回應也會包含失敗原因。權限問題是導致失敗的常見原因。如果您在為自訂映像啟動或執行 KernelGateway 應用程式時發生故障,也可以檢查 Amazon CloudWatch Logs。日誌群組的名稱為/aws/sagemaker/studio
。日誌串流的名稱為$domainID/$userProfileName/KernelGateway/$appName
。 -
建立名為
app-image-config-input.json
的組態檔案。KernelSpecs
的Name
值必須符合與此AppImageConfig
相關聯之映像中可用之 KernelSpec 的名稱。此值區分大小寫。您可以從容器內的 Shell 執行jupyter-kernelspec list
,在映像中找到可用的核心規格。MountPath
是掛載 Amazon Elastic File System (Amazon EFS) 主目錄的映像內的路徑。它必須與您在容器內使用的路徑不同,因為掛載 Amazon EFS 主目錄時,該路徑將被覆寫。注意
下列
DefaultUID
與DefaultGID
組合是唯一可接受的值:預設值:1000 和預設值:100
預設值:0 和預設值:0
{ "AppImageConfigName": "custom-image-config", "KernelGatewayImageConfig": { "KernelSpecs": [ { "Name": "python3", "DisplayName": "Python 3 (ipykernel)" } ], "FileSystemConfig": { "MountPath": "/home/sagemaker-user", "DefaultUid": 1000, "DefaultGid": 100 } } }
-
使用在上一步中建立的檔案來建立 AppImaage 組態。
aws sagemaker create-app-image-config \ --cli-input-json file://app-image-config-input.json
回應看起來應該類似以下的內容。
{ "AppImageConfigArn": "arn:aws:sagemaker:us-east-2:acct-id:app-image-config/custom-image-config" }