本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
重要
允許 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 資源的許可,已包含建立這些資源時新增標籤的許可。
本指南說明如何使用 SageMaker AI 主控台或 AWS Command Line Interface () 將自訂 RStudio 映像連接至 Amazon SageMaker AI 網域AWS CLI。 Amazon SageMaker
若要使用自訂 SageMaker AI 映像,您必須將自訂 RStudio 映像連接至您的網域。當您連接映像版本時,它會出現在 RStudio 啟動器中,並在選取映像下拉式清單中可用。您可以使用下拉式清單,變更 RStudio 所用的映像。
您可以連接的影像版本數目有數量限制。達到限制後,您必須先分開版本,才能連接不同版本的映像。
使用主控台將映像版本連接至您的網域
您可以使用 SageMaker AI 主控台的控制面板,將自訂 SageMaker AI 映像版本連接至您的網域。您也可以建立自訂 SageMaker AI 映像和映像版本,然後將該版本連接至您的網域。
連接現有的映像
-
在 https://console.aws.amazon.com/sagemaker/
:// 開啟 Amazon SageMaker AI 主控台。 -
在左側導覽窗格中,選擇管理員組態。
-
在管理員組態下,選擇網域。
-
選取所需的網域。
-
選擇環境。
-
在連接到網域的自訂 SageMaker Studio Classic 映像下,選擇連接映像。
-
針對映像來源,選擇現有映像或新映像。
如果您選取現有映像,請從 Amazon SageMaker AI 映像存放區選擇映像。
如果選取新映像,請為您的 Docker 映像提供 Amazon ECR 登錄檔路徑。路徑必須與網域位於相同 AWS 區域 位置。Amazon ECR 儲存庫必須與網域位於相同的帳戶中,或者必須啟用 SageMaker AI 的跨帳戶許可。
-
從清單中選擇現有的映像。
-
從清單中選擇映像的版本。
-
選擇 Next (下一步)。
-
輸入映像名稱、映像顯示名稱和描述的值。
-
選擇 IAM 角色。如需詳細資訊,請參閱建立自訂 RStudio 映像。
-
(選用) 新增映像的標籤。
-
(選用) 選擇新增標籤,然後新增組態標籤。
-
對於映像類型,請選取 RStudio 映像。
-
選擇提交。
等待映像版本連接到網域。連接至版本後,版本會顯示在自訂映像清單中並以重點標示。
使用 將現有的映像版本連接至您的網域 AWS CLI
有兩種方法可以使用 將映像版本連接至您的網域 AWS CLI。在第一個方法中,您會建立連接版本的新網域。此方法較為簡單,但您必須指定建立網域所需的 Amazon Virtual Private Cloud (Amazon VPC) 資訊和執行角色。
如果您已經加入網域,您可以使用第二個方法來將映像版本連接到您目前的網域。在此情況下,您不需要指定 Amazon VPC 資訊和執行角色。連接版本後,請刪除網域中的所有應用程式,然後重新啟動 RStudio。
將 SageMaker AI 映像連接到新網域
若要使用此方法,您必須指定具有已連接 AmazonSageMakerFullAccess
使用下列步驟建立網域並連接自訂 SageMaker AI 映像:
取得您的預設 VPC ID 和子網路 ID。
建立指定映像檔的網域的組態檔。
用組態檔案建立網域。
將自訂 SageMaker AI 映像新增至您的網域
-
取得您的預設 VPC ID。
aws ec2 describe-vpcs \ --filters Name=isDefault,Values=true \ --query "Vpcs[0].VpcId" --output text
回應:
vpc-xxxxxxxx
-
使用上一步的 VPC ID 取得您的預設子網路 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
的組態檔案。插入 VPC ID、子網路 ID、ImageName
和上一步的AppImageConfigName
。由於未指定ImageVersionNumber
,因此會使用最新版本的映像檔,這是此情況下的唯一版本。您的執行角色必須滿足 完成事前準備 中的要求。{ "DomainName": "domain-with-custom-r-image", "VpcId": "
<vpc-id>
", "SubnetIds": [ "<subnet-ids>
" ], "DomainSettings": { "RStudioServerProDomainSettings": { "DomainExecutionRoleArn": "<execution-role>
" } }, "DefaultUserSettings": { "ExecutionRole": "<execution-role>
", "RSessionAppSettings": { "CustomImages": [ { "AppImageConfigName": "rstudio-custom-config", "ImageName": "rstudio-custom-image" } ] } }, "AuthMode": "IAM" } -
使用連接的自訂 SageMaker AI 映像建立網域。
aws sagemaker create-domain \ --cli-input-json file://create-domain-input.json
回應:
{ "DomainArn": "arn:aws:sagemaker:
region
:acct-id:domain/domain-id
", "Url": "https://domain-id
.studio.region
.sagemaker.aws/..." }
將 SageMaker AI 映像連接到現有網域
此方法假設您已加入網域。如需詳細資訊,請參閱Amazon SageMaker AI 網域概觀。
注意
您必須刪除網域中的所有應用程式,以使用新的映像版本更新網域。如需刪除應用程式的詳細資訊,請參閱刪除 Amazon SageMaker AI 網域。
使用下列步驟將 SageMaker AI 映像新增至您目前的網域。
DomainID
從 SageMaker AI 主控台取得您的 。使用
DomainID
取得網域的DefaultUserSettings
。將
ImageName
和AppImageConfig
新增為CustomImage
至DefaultUserSettings
。更新您的網域以包含自訂映像檔。
將自訂 SageMaker AI 映像新增至您的網域
-
在 https://console.aws.amazon.com/sagemaker/
:// 開啟 Amazon SageMaker AI 主控台。 -
在左側導覽窗格中,選擇管理員組態。
-
在管理員組態下,選擇網域。
-
選取所需的網域。
-
選擇網域設定。
-
在一般設定下,尋找網域 ID。ID 的格式如下:
d-xxxxxxxxxxxx
。 -
使用網域 ID 來取得網域的描述。
aws sagemaker describe-domain \ --domain-id
<d-xxxxxxxxxxxx>
回應:
{ "DomainId": "
d-xxxxxxxxxxxx
", "DefaultUserSettings": { "KernelGatewayAppSettings": { "CustomImages": [ ], ... } } } -
將回應
DefaultUserSettings
區段儲存於名為update-domain-input.json
的檔案。 -
插入上一步中的
ImageName
和AppImageConfigName
做為自訂映像。由於未指定ImageVersionNumber
,因此會使用最新版本的映像檔,這是此情況下的唯一版本。{ "DefaultUserSettings": { "RSessionAppSettings": { "CustomImages": [ { "ImageName": "rstudio-custom-image", "AppImageConfigName": "rstudio-custom-config" } ] } } }
-
使用網域 ID 和預設使用者設定檔案來更新您的網域。
aws sagemaker update-domain \ --domain-id
<d-xxxxxxxxxxxx>
\ --cli-input-json file://update-domain-input.json回應:
{ "DomainArn": "arn:aws:sagemaker:
region
:acct-id:domain/domain-id
" } -
刪除
RStudioServerPro
應用程式。您必須重新啟動 RStudio 啟動器使用者介面的RStudioServerPro
網域共用應用程式,才能套用最新的變更。aws sagemaker delete-app \ --domain-id
<d-xxxxxxxxxxxx>
--user-profile-name domain-shared \ --app-type RStudioServerPro --app-name default -
建立新的
RStudioServerPro
應用程式 您必須使用 AWS CLI建立此應用程式。aws sagemaker create-app \ --domain-id
<d-xxxxxxxxxxxx>
--user-profile-name domain-shared \ --app-type RStudioServerPro --app-name default