連接自訂 SageMaker 映像 - Amazon SageMaker

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

連接自訂 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 映像

連接現有的映像
  1. 在 開啟 Amazon SageMaker 主控台https://console.aws.amazon.com/sagemaker/

  2. 在左側導覽窗格中,選擇管理員組態

  3. 管理員組態 下,選擇網域

  4. 網域頁面中,選取要連接映像的網域。

  5. 網域詳細資訊頁面上,選擇環境索引標籤。

  6. 環境索引標籤上,在連接至網域 的 Custom SageMaker Studio Classic 映像下,選擇連接映像

  7. 針對映像來源,選擇現有映像

  8. 從清單中選擇現有的映像。

  9. 從清單中選擇映像的版本。

  10. 選擇 Next (下一步)

  11. 確認映像名稱映像顯示名稱描述的值。

  12. 選擇IAM角色。如需詳細資訊,請參閱建立自訂 SageMaker 映像

  13. (選用) 新增映像的標籤。

  14. 指定EFS掛載路徑。這是映像中掛載使用者 Amazon Elastic File System (EFS) 主目錄的路徑。

  15. 對於映像類型 ,選取 SageMaker Studio 映像

  16. 核心名稱中,輸入映像檔中現有核心的名稱。如需有關如何從映像取得核心資訊的資訊,請參閱 SageMaker Studio Classic Custom Image Samples 儲存庫DEVELOPMENT中的 。如需更多資訊,請參閱的核心探索使用者資料一節自訂 SageMaker 映像規格

  17. (選擇性) 對於核心顯示名稱,請輸入核心的顯示名稱。

  18. 選擇新增核心

  19. 選擇提交

    1. 等待映像版本連接到網域。連接後,版本會顯示在自訂映像清單中並以重點標示。

使用 連接 SageMaker 映像 AWS CLI

下列各節示範如何在建立新網域或使用 更新現有網域時連接自訂 SageMaker 映像 AWS CLI。

將 SageMaker 映像連接至新網域

以下部分將示範如何建立連接版本的新網域。這些步驟需要您指定建立網域所需的 Amazon Virtual Private Cloud (VPC) 資訊和執行角色。您可以執行下列步驟來建立網域並連接自訂 SageMaker 映像:

  • 取得您的預設 VPC ID 和子網路 IDs。

  • 建立指定映像檔的網域的組態檔。

  • 用組態檔案建立網域。

將自訂 SageMaker 映像新增至您的網域
  1. 取得您的預設 VPC ID。

    aws ec2 describe-vpcs \ --filters Name=isDefault,Values=true \ --query "Vpcs[0].VpcId" --output text

    回應看起來應該類似以下的內容。

    vpc-xxxxxxxx
  2. 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" ]
  3. 建立一個名為 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" }
  4. 使用連接的自訂 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

  • ImageNameAppImageConfig 新增為 CustomImageDefaultUserSettings

  • 更新您的網域以包含自訂映像檔。

將自訂 SageMaker 映像新增至您的網域
  1. 在 開啟 Amazon SageMaker 主控台https://console.aws.amazon.com/sagemaker/

  2. 在左側導覽窗格中,選擇管理員組態

  3. 管理員組態 下,選擇網域

  4. 網域頁面中,選取要連接映像的網域。

  5. 網域詳細資訊頁面中,選取網域設定標籤。

  6. 網域設定索引標籤的一般設定下,找到 DomainId。ID 的格式如下:d-xxxxxxxxxxxx

  7. 使用網域 ID 來取得網域的描述。

    aws sagemaker describe-domain \ --domain-id <d-xxxxxxxxxxxx>

    回應看起來應該類似以下的內容。

    { "DomainId": "d-xxxxxxxxxxxx", "DefaultUserSettings": { "KernelGatewayAppSettings": { "CustomImages": [ ], ... } } }
  8. 將回應的預設使用者設定區段儲存至名為的檔案 default-user-settings.json

  9. 插入上一個步驟中的 ImageNameAppImageConfigName 做為自訂映像。由於未指定 ImageVersionNumber,因此會使用最新版本的映像檔,這是此情況下的唯一版本。

    { "DefaultUserSettings": { "KernelGatewayAppSettings": { "CustomImages": [ { "ImageName": "string", "AppImageConfigName": "string" } ], ... } } }
  10. 使用網域 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

  • ImageNameAppImageConfig 新增為 CustomImageDefaultSpaceSettings

  • 更新您的網域以包含共用空間的自訂映像檔。

將自訂 SageMaker 映像新增至共用空間
  1. 在 開啟 Amazon SageMaker 主控台https://console.aws.amazon.com/sagemaker/

  2. 在左側導覽窗格中,選擇管理員組態

  3. 管理員組態 下,選擇網域

  4. 網域頁面中,選取要連接映像的網域。

  5. 網域詳細資訊頁面中,選取網域設定標籤。

  6. 網域設定索引標籤的一般設定下,找到 DomainId。ID 的格式如下:d-xxxxxxxxxxxx

  7. 使用網域 ID 來取得網域的描述。

    aws sagemaker describe-domain \ --domain-id <d-xxxxxxxxxxxx>

    回應看起來應該類似以下的內容。

    { "DomainId": "d-xxxxxxxxxxxx", ... "DefaultSpaceSettings": { "KernelGatewayAppSettings": { "CustomImages": [ ], ... } } }
  8. 將回應的預設空間設定區段儲存至名為 default-space-settings.json 的檔案。

  9. 插入上一個步驟中的 ImageNameAppImageConfigName做為自訂映像。由於未指定 ImageVersionNumber,因此會使用最新版本的映像檔,這是此情況下的唯一版本。

    { "DefaultSpaceSettings": { "KernelGatewayAppSettings": { "CustomImages": [ { "ImageName": "string", "AppImageConfigName": "string" } ], ... } } }
  10. 使用網域 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>