本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
連接自訂 SageMaker 映像
重要
允許 Amazon SageMaker Studio 或 Amazon SageMaker Studio Classic 建立 Amazon SageMaker 資源的自訂IAM政策也必須授予許可,才能將標籤新增至這些資源。需要將標籤新增至資源的許可,因為 Studio 和 Studio Classic 會自動標記他們建立的任何資源。如果IAM政策允許 Studio 和 Studio Classic 建立資源,但不允許標記,則嘗試建立資源時可能會發生「AccessDenied」錯誤。如需詳細資訊,請參閱提供標記 SageMaker資源的許可。
AWS Amazon 的受管政策 SageMaker 提供建立 SageMaker 資源的許可,已包含在建立這些資源時新增標籤的許可。
重要
截至 2023 年 11 月 30 日,先前的 Amazon SageMaker Studio 體驗現在已命名為 Amazon SageMaker Studio Classic。以下章節是使用 Studio Classic 應用程式的特定部分。如需使用更新 Studio 體驗的相關資訊,請參閱 Amazon SageMaker Studio。
若要使用自訂 SageMaker 映像,您必須將映像版本連接至網域或共用空間。當您連接映像版本時,它會出現在 SageMaker Studio Classic Launcher 中,並可在選取映像下拉式清單中使用,使用者可使用此清單來啟動活動或變更筆記本所使用的映像。
若要讓網域內的所有使用者都能使用自訂 SageMaker 映像,請將映像連接至網域。若要讓共用空間內的所有使用者都可以使用映像,您可以將映像連接至共用空間。若要讓單一使用者可以使用映像,請將映像連接至使用者的設定檔。當您連接映像時, 預設 SageMaker 會使用最新的映像版本。您也可以連接特定的映像版本。連接版本後,您可以在啟動筆記本時從 SageMaker 啟動器或影像選取器中選擇版本。
在任何特定時間可以連接的映像版本數量有數量限制。達到限制後,您必須分離版本才能連結另一個版本的映像。
下列各節示範如何使用 SageMaker 主控台或 將自訂 SageMaker 映像連接至您的網域 AWS CLI。您只能使用 AWS CLI將自訂映像連接至共用空間。
將 SageMaker 映像連接至網域
使用主控台連接 SageMaker 映像
本主題說明如何使用 SageMaker 控制面板將現有的自訂 SageMaker 映像版本連接至您的網域。您也可以建立自訂 SageMaker 映像和映像版本,然後將該版本連接至您的網域。如需建立映像和映像版本的程序,請參閱建立自訂 SageMaker 映像。
連接現有的映像
-
在 開啟 Amazon SageMaker 主控台https://console.aws.amazon.com/sagemaker/
。 -
在左側導覽窗格中,選擇管理員組態。
-
在管理員組態 下,選擇網域 。
-
在網域頁面中,選取要連接映像的網域。
-
在網域詳細資訊頁面上,選擇環境索引標籤。
-
在環境索引標籤上,在連接至網域 的 Custom SageMaker Studio Classic 映像下,選擇連接映像 。
-
針對映像來源,選擇現有映像。
-
從清單中選擇現有的映像。
-
從清單中選擇映像的版本。
-
選擇 Next (下一步)。
-
確認映像名稱、映像顯示名稱和描述的值。
-
選擇IAM角色。如需詳細資訊,請參閱建立自訂 SageMaker 映像。
-
(選用) 新增映像的標籤。
-
指定EFS掛載路徑。這是映像中掛載使用者 Amazon Elastic File System (EFS) 主目錄的路徑。
-
對於映像類型 ,選取 SageMaker Studio 映像
-
在核心名稱中,輸入映像檔中現有核心的名稱。如需有關如何從映像取得核心資訊的資訊,請參閱 SageMaker Studio Classic Custom Image Samples 儲存庫DEVELOPMENT
中的 。如需更多資訊,請參閱的核心探索和使用者資料一節自訂 SageMaker 映像規格。 -
(選擇性) 對於核心顯示名稱,請輸入核心的顯示名稱。
-
選擇新增核心。
-
選擇提交。
等待映像版本連接到網域。連接後,版本會顯示在自訂映像清單中並以重點標示。
使用 連接 SageMaker 映像 AWS CLI
下列各節示範如何在建立新網域或使用 更新現有網域時連接自訂 SageMaker 映像 AWS CLI。
將 SageMaker 映像連接至新網域
以下部分將示範如何建立連接版本的新網域。這些步驟需要您指定建立網域所需的 Amazon Virtual Private Cloud (VPC) 資訊和執行角色。您可以執行下列步驟來建立網域並連接自訂 SageMaker 映像:
取得您的預設 VPC ID 和子網路 IDs。
建立指定映像檔的網域的組態檔。
用組態檔案建立網域。
將自訂 SageMaker 映像新增至您的網域
-
取得您的預設 VPC ID。
aws ec2 describe-vpcs \ --filters Name=isDefault,Values=true \ --query "Vpcs[0].VpcId" --output text
回應看起來應該類似以下的內容。
vpc-xxxxxxxx
-
IDs 使用上一個步驟中的 VPC ID 取得預設子網路。
aws ec2 describe-subnets \ --filters Name=vpc-id,Values=
<vpc-id>
\ --query "Subnets[*].SubnetId" --output json回應看起來應該類似以下的內容。
[ "subnet-b55171dd", "subnet-8a5f99c6", "subnet-e88d1392" ]
-
建立一個名為
create-domain-input.json
的組態檔案。從AppImageConfigName
先前步驟插入 VPC ID、子網路ImageName
、 IDs和 。由於未指定ImageVersionNumber
,因此會使用最新版本的映像檔,這是此情況下的唯一版本。{ "DomainName": "domain-with-custom-image", "VpcId": "
<vpc-id>
", "SubnetIds": [ "<subnet-ids>
" ], "DefaultUserSettings": { "ExecutionRole": "<execution-role>
", "KernelGatewayAppSettings": { "CustomImages": [ { "ImageName": "custom-image", "AppImageConfigName": "custom-image-config" } ] } }, "AuthMode": "IAM" } -
使用連接的自訂 SageMaker 映像建立網域。
aws sagemaker create-domain \ --cli-input-json file://create-domain-input.json
回應看起來應該類似以下的內容。
{ "DomainArn": "arn:aws:sagemaker:us-east-2:acct-id:domain/d-xxxxxxxxxxxx", "Url": "https://d-xxxxxxxxxxxx.studio.us-east-2.sagemaker.aws/..." }
將 SageMaker 映像連接至您目前的網域
如果您已加入 SageMaker 網域,您可以將自訂映像連接至目前的網域。如需加入 SageMaker 網域的詳細資訊,請參閱 Amazon SageMaker 網域概觀。將自訂映像連接至目前網域時,您不需要指定VPC資訊和執行角色。連接版本後,您必須刪除網域中的所有應用程式,並重新開啟 Studio Classic。要瞭解刪除應用程式的相關資訊,請參閱刪除 Amazon SageMaker 網域。
您可以執行下列步驟,將 SageMaker 映像新增至目前的網域。
DomainID
從 SageMaker 控制面板取得您的 。使用
DomainID
取得網域的DefaultUserSettings
。將
ImageName
和AppImageConfig
新增為CustomImage
至DefaultUserSettings
。更新您的網域以包含自訂映像檔。
將自訂 SageMaker 映像新增至您的網域
-
在 開啟 Amazon SageMaker 主控台https://console.aws.amazon.com/sagemaker/
。 -
在左側導覽窗格中,選擇管理員組態。
-
在管理員組態 下,選擇網域 。
-
在網域頁面中,選取要連接映像的網域。
-
在網域詳細資訊頁面中,選取網域設定標籤。
-
從網域設定索引標籤的一般設定下,找到
DomainId
。ID 的格式如下:d-xxxxxxxxxxxx
。 -
使用網域 ID 來取得網域的描述。
aws sagemaker describe-domain \ --domain-id
<d-xxxxxxxxxxxx>
回應看起來應該類似以下的內容。
{ "DomainId": "d-xxxxxxxxxxxx", "DefaultUserSettings": { "KernelGatewayAppSettings": { "CustomImages": [ ], ... } } }
-
將回應的預設使用者設定區段儲存至名為的檔案
default-user-settings.json
。 -
插入上一個步驟中的
ImageName
和AppImageConfigName
做為自訂映像。由於未指定ImageVersionNumber
,因此會使用最新版本的映像檔,這是此情況下的唯一版本。{ "DefaultUserSettings": { "KernelGatewayAppSettings": { "CustomImages": [ { "ImageName": "string", "AppImageConfigName": "string" } ], ... } } }
-
使用網域 ID 和預設使用者設定檔案來更新您的網域。
aws sagemaker update-domain \ --domain-id
<d-xxxxxxxxxxxx>
\ --cli-input-json file://default-user-settings.json回應看起來應該類似以下的內容。
{ "DomainArn": "arn:aws:sagemaker:us-east-2:acct-id:domain/d-xxxxxxxxxxxx" }
將 SageMaker 映像連接至共用空間
您只能使用 將 SageMaker 映像連接至共用空間 AWS CLI。連接版本後,您必須刪除共用空間中的所有應用程式,並重新開啟 Studio Classic。要瞭解刪除應用程式的相關資訊,請參閱刪除 Amazon SageMaker 網域。
您可以執行下列步驟,將 SageMaker 映像新增至共用空間。
DomainID
從 SageMaker 控制面板取得您的 。使用
DomainID
取得網域的DefaultSpaceSettings
。將
ImageName
和AppImageConfig
新增為CustomImage
至DefaultSpaceSettings
。更新您的網域以包含共用空間的自訂映像檔。
將自訂 SageMaker 映像新增至共用空間
-
在 開啟 Amazon SageMaker 主控台https://console.aws.amazon.com/sagemaker/
。 -
在左側導覽窗格中,選擇管理員組態。
-
在管理員組態 下,選擇網域 。
-
在網域頁面中,選取要連接映像的網域。
-
在網域詳細資訊頁面中,選取網域設定標籤。
-
從網域設定索引標籤的一般設定下,找到
DomainId
。ID 的格式如下:d-xxxxxxxxxxxx
。 -
使用網域 ID 來取得網域的描述。
aws sagemaker describe-domain \ --domain-id
<d-xxxxxxxxxxxx>
回應看起來應該類似以下的內容。
{ "DomainId": "d-xxxxxxxxxxxx", ... "DefaultSpaceSettings": { "KernelGatewayAppSettings": { "CustomImages": [ ], ... } } }
-
將回應的預設空間設定區段儲存至名為
default-space-settings.json
的檔案。 -
插入上一個步驟中的
ImageName
和AppImageConfigName
做為自訂映像。由於未指定ImageVersionNumber
,因此會使用最新版本的映像檔,這是此情況下的唯一版本。{ "DefaultSpaceSettings": { "KernelGatewayAppSettings": { "CustomImages": [ { "ImageName": "string", "AppImageConfigName": "string" } ], ... } } }
-
使用網域 ID 和預設空間設定檔來更新您的網域。
aws sagemaker update-domain \ --domain-id
<d-xxxxxxxxxxxx>
\ --cli-input-json file://default-space-settings.json回應看起來應該類似以下的內容。
{ "DomainArn": "arn:aws:sagemaker:us-east-2:acct-id:domain/d-xxxxxxxxxxxx" }
在 中檢視附加的影像 SageMaker
建立自訂 SageMaker 映像並將其連接至網域之後,映像會出現在網域的環境索引標籤中。您只能使用下列命令 AWS CLI 來檢視共用空間的連接映像。
aws sagemaker describe-domain \ --domain-id
<d-xxxxxxxxxxxx>