本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 使用 RStudio 建立 Amazon SageMaker AI 網域 AWS CLI
重要
允許 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 資源的許可,已包含建立這些資源時新增標籤的許可。
下列主題說明如何使用 啟用 RStudio 來加入 Amazon SageMaker AI 網域 AWS CLI。若要使用 加入 AWS 管理主控台,請參閱 Amazon SageMaker AI 網域概觀。
先決條件
-
安裝與設定AWS CLI 第 2 版
-
使用 IAM 憑證 設定 AWS CLI
建立 DomainExecution 角色
若要啟動 RStudio 應用程式,您必須提供 DomainExecution 角色。此角色用於判斷 RStudio 是否需要在建立 Amazon SageMaker AI 網域時啟動。Amazon SageMaker AI 也會使用此角色來存取 RStudio License 並推送 RStudio 日誌。
注意
該 DomainExecution 角色至少應有存取 RStudio 授權的 AWS License Manager 許可,以及在您的帳戶中推送日誌的 CloudWatch 許可。
下列程序顯示如何使用 AWS CLI建立 DomainExecution 角色。
-
建立名為
assume-role-policy.json且具有下列內容的檔案。 -
建立
DomainExecution角色。<REGION>應該是要在其中啟動網域的 AWS 區域。aws iam create-role --region<REGION>--role-name DomainExecution --assume-role-policy-document file://assume-role-policy.json -
建立名為
domain-setting-policy.json且具有下列內容的檔案。此政策允許 RStudioServerPro 應用程式存取必要的資源,並允許 Amazon SageMaker AI 在現有 RStudioServerPro 應用程式處於Deleted或Failed狀態時自動啟動 RStudioServerPro 應用程式。 -
建立連接到角色的
DomainExecution網域設定政策。請注意回應中的PolicyArn,您將需要在以下步驟中輸入該 ARN。aws iam create-policy --region<REGION>--policy-name domain-setting-policy --policy-document file://domain-setting-policy.json -
將
domain-setting-policy附加至DomainExecution角色。使用在上一步中傳回的PolicyArn。aws iam attach-role-policy --role-name DomainExecution --policy-arn<POLICY_ARN>
使用 RStudio 應用程式建立 Amazon SageMaker AI 網域
當您使用具有指定 RStudioServerProDomainSettings 參數的 CLI 命令建立 Amazon SageMaker AI create-domain 網域時,會自動啟動 RStudioServerPro 應用程式。啟動 RStudioServerPro 應用程式時,Amazon SageMaker AI 會檢查帳戶中的有效 RStudio 授權,如果找不到授權,則建立網域會失敗。
Amazon SageMaker AI 網域的建立會因身分驗證方法和網路類型而有所不同。這些選項必須一起使用,搭配所選取的一種驗證方法和一種網路連線類型。如需建立新網域需求的詳細資訊,請參閱 CreateDomain。
支援下列身分驗證方法:
-
IAM Auth -
SSO Auth
支援下列網路連線類型:
-
PublicInternet -
VPCOnly
身分驗證方法
IAM 身分驗證模式
以下說明如何建立已啟用 RStudio 和IAM Auth網路類型的 Amazon SageMaker AI 網域。如需 的詳細資訊 AWS Identity and Access Management,請參閱什麼是 IAM?。
-
DomainExecutionRoleArn應該是在上一步中建立之角色的 ARN。 -
ExecutionRole是提供給 Amazon SageMaker AI 網域中使用者的角色 ARN。 -
vpc-id應該是您的 Amazon Virtual Private Cloud 的 ID。subnet-ids應該是由空格分隔的的子網路 ID 清單。如需vpc-id和subnet-ids的更多相關資訊,請參閱 VPC 和子網路。 -
RStudioPackageManagerUrl和RStudioConnectUrl是選用的,應分別設為 RStudio 套件管理員和 RStudio Connect 伺服器的 URL。 -
app-network-access-type應該是PublicInternetOnly或VPCOnly。
aws sagemaker create-domain --region<REGION>--domain-name<DOMAIN_NAME>\ --auth-mode IAM \ --default-user-settings ExecutionRole=<DEFAULT_USER_EXECUTIONROLE>\ --domain-settings RStudioServerProDomainSettings={RStudioPackageManagerUrl=<<PACKAGE_MANAGER_URL>,RStudioConnectUrl=<<CONNECT_URL>,DomainExecutionRoleArn=<DOMAINEXECUTION_ROLE_ARN>} \ --vpc-id<VPC_ID>\ --subnet-ids<SUBNET_IDS>\ --app-network-access-type<NETWORK_ACCESS_TYPE>
建議使用 IAM Identity Center 的身分驗證
以下說明如何建立已啟用 RStudio 和 SSO Auth Network Type 的 Amazon SageMaker AI 網域。 AWS IAM Identity Center 必須針對啟動網域的區域啟用 。如需 IAM Identity Center 的詳細資訊,請參閱什麼是 AWS IAM Identity Center?。
-
DomainExecutionRoleArn應該是在上一步中建立之角色的 ARN。 -
ExecutionRole是提供給 Amazon SageMaker AI 網域中使用者的角色 ARN。 -
vpc-id應該是您的 Amazon Virtual Private Cloud 的 ID。subnet-ids應該是由空格分隔的的子網路 ID 清單。如需vpc-id和subnet-ids的更多相關資訊,請參閱 VPC 和子網路。 -
RStudioPackageManagerUrl和RStudioConnectUrl是選用的,應分別設為 RStudio 套件管理員和 RStudio Connect 伺服器的 URL。 -
app-network-access-type應該是PublicInternetOnly或VPCOnly。
aws sagemaker create-domain --region<REGION>--domain-name<DOMAIN_NAME>\ --auth-mode SSO \ --default-user-settings ExecutionRole=<DEFAULT_USER_EXECUTIONROLE>\ --domain-settings RStudioServerProDomainSettings={RStudioPackageManagerUrl=<<PACKAGE_MANAGER_URL>,RStudioConnectUrl=<<CONNECT_URL>,DomainExecutionRoleArn=<DOMAINEXECUTION_ROLE_ARN>} \ --vpc-id<VPC_ID>\ --subnet-ids<SUBNET_IDS>\ --app-network-access-type<NETWORK_ACCESS_TYPE>
連線類型
PublicInternet/直接網際網路網路類型
以下說明如何建立已啟用 RStudio 和PublicInternet網路類型的 Amazon SageMaker AI 網域。
-
DomainExecutionRoleArn應該是在上一步中建立之角色的 ARN。 -
ExecutionRole是提供給 Amazon SageMaker AI 網域中使用者的角色 ARN。 -
vpc-id應該是您的 Amazon Virtual Private Cloud 的 ID。subnet-ids應該是由空格分隔的的子網路 ID 清單。如需vpc-id和subnet-ids的更多相關資訊,請參閱 VPC 和子網路。 -
RStudioPackageManagerUrl和RStudioConnectUrl是選用的,應分別設為 RStudio 套件管理員和 RStudio Connect 伺服器的 URL。 -
auth-mode應該是SSO或IAM。
aws sagemaker create-domain --region<REGION>--domain-name<DOMAIN_NAME>\ --auth-mode<AUTH_MODE>\ --default-user-settings ExecutionRole=<DEFAULT_USER_EXECUTIONROLE>\ --domain-settings RStudioServerProDomainSettings={RStudioPackageManagerUrl=<<PACKAGE_MANAGER_URL>,RStudioConnectUrl=<<CONNECT_URL>,DomainExecutionRoleArn=<DOMAINEXECUTION_ROLE_ARN>} \ --vpc-id<VPC_ID>\ --subnet-ids<SUBNET_IDS>\ --app-network-access-type PublicInternetOnly
VPCOnly 模式
以下說明如何啟動已啟用 RStudio 和網路類型的 Amazon SageMaker AI VPCOnly網域。如需使用 VPCOnly 網路存取類型的更多相關資訊,請參閱將 VPC 中的 Studio 筆記本連線至外部資源。
-
DomainExecutionRoleArn應該是在上一步中建立之角色的 ARN。 -
ExecutionRole是提供給 Amazon SageMaker AI 網域中使用者的角色 ARN。 -
vpc-id應該是您的 Amazon Virtual Private Cloud 的 ID。subnet-ids應該是由空格分隔的的子網路 ID 清單。您的私有子網路必須能夠存取網際網路以呼叫 Amazon SageMaker AI,以及 AWS License Manager 或同時擁有 Amazon SageMaker AI 和 的 Amazon VPC 端點 AWS License Manager。如需 Amazon VPC 端點的相關資訊,請參閱介面 Amazon VPC 端點。如需vpc-id和subnet-ids的更多相關資訊,請參閱 VPC 和子網路。 -
SecurityGroups必須允許傳出存取 Amazon SageMaker AI 和 AWS License Manager 端點。 -
auth-mode應該是SSO或IAM。
注意
使用 Amazon Virtual Private Cloud 端點時,連接到 Amazon Virtual Private Cloud 端點的安全群組必須允許來自做為 create-domain CLI 呼叫 domain-setting 參數一部分傳遞的安全群組傳入流量。
透過 RStudio,Amazon SageMaker AI 會為您管理安全群組。這表示Amazon SageMaker AI 會管理安全群組規則,以確保 RSessions 可以存取 RStudioServerPro 應用程式。Amazon SageMaker AI 會為每個使用者設定檔建立一個安全群組規則。
aws sagemaker create-domain --region<REGION>--domain-name<DOMAIN_NAME>\ --auth-mode<AUTH_MODE>\ --default-user-settings SecurityGroups=<USER_SECURITY_GROUP>,ExecutionRole=<DEFAULT_USER_EXECUTIONROLE>\ --domain-settings SecurityGroupIds=<DOMAIN_SECURITY_GROUP>,RStudioServerProDomainSettings={DomainExecutionRoleArn=<DOMAINEXECUTION_ROLE_ARN>} \ --vpc-id<VPC_ID>\ --subnet-ids "<SUBNET_IDS>" \ --app-network-access-type VPCOnly --app-security-group-management Service
請注意:RStudioServerPro 應用程式由名為 domain-shared 的特殊使用者設定檔啟動。因此,此應用程式不會作為任何其他使用者設定檔的 list-app API 呼叫的一部分傳回。
您可能需要增加帳戶中的 Amazon VPC 配額,以增加使用者數目。如需詳細資訊,請參閱 Amazon VPC 配額。
驗證網域建立
使用下列命令來驗證您的網域是否已使用 Status的 建立InService。您的 domain-id 會附加到網域 ARN。例如 arn:aws:sagemaker:。<REGION>:<ACCOUNT_ID>:domain/<DOMAIN_ID>
aws sagemaker describe-domain --domain-id<DOMAIN_ID>--region<REGION>