本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
RStudio 使用创建 Amazon SageMaker AI 域名 Amazon CLI
重要
允许 Amazon SageMaker Studio 或 Amazon SageMaker Studio Classic 创建亚马逊 SageMaker资源的自定义 IAM 策略还必须授予向这些资源添加标签的权限。之所以需要为资源添加标签的权限,是因为 Studio 和 Studio Classic 会自动为创建的任何资源添加标签。如果 IAM 策略允许 Studio 和 Studio Classic 创建资源但不允许标记,则在尝试创建资源时可能会出现 AccessDenied “” 错误。有关更多信息,请参阅 提供标记 A SageMaker I 资源的权限。
Amazon 亚马逊 A SageMaker I 的托管策略授予创建 SageMaker 资源的权限已经包括在创建这些资源时添加标签的权限。
以下主题介绍如何使用 RStudio 启用后登录 SageMaker Amazon AI 域 Amazon CLI。要使用登录 Amazon Web Services 管理控制台,请参阅亚马逊 SageMaker AI 域名概述。
先决条件
-
安装和配置 Amazon CLI 版本 2
-
使用 IAM 凭证配置 Amazon CLI
创建 DomainExecution 角色
要启动 RStudio 应用程序,您必须提供一个DomainExecution角色。此角色用于确定是否 RStudio 需要在创建 Amazon A SageMaker I 域时启动。Amazon A SageMaker I 还使用此角色来访问 RStudio 许可证和推送 RStudio 日志。
注意
该DomainExecution角色应至少具有访问 RStudio 许可证的 Amazon License Manager 权限,以及将日志推送到您的账户的 CloudWatch 权限。
以下过程说明如何使用 Amazon CLI创建 DomainExecution 角色。
-
使用以下内容创建名为
assume-role-policy.json的文件。 -
创建
DomainExecution角色。<REGION>应该是启动您的域的 Amazon 区域。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 RStudioServerPro 应用程序处于Deleted或Failed状态时自动启动应用程序。 -
创建附加到
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 应用程序创建亚马逊 SageMaker AI 域名
当您使用带有指定RStudioServerProDomainSettings参数的 create-domain CLI 命令创建 Amazon SageMaker AI 域时,该 RStudioServerPro 应用程序会自动启动。启动 RStudioServerPro 应用程序时,Amazon SageMaker AI 会检查账户中是否有有效的 RStudio 许可证,如果找不到许可证,则域创建失败。
Amazon A SageMaker I 域的创建因身份验证方法和网络类型而异。这些选项必须一起使用,即选择一种身份验证方法并选择一种网络连接类型。有关创建新域的要求的更多信息,请参阅CreateDomain。
支持以下身份验证类型:
-
IAM Auth -
SSO Auth
支持以下网络连接类型:
-
PublicInternet -
VPCOnly
身份验证方法
IAM 身份验证模式
以下内容显示了如何在 RStudio 启用和IAM
Auth网络类型的情况下创建 SageMaker Amazon AI 域。有关的更多信息 Amazon Identity and Access Management,请参阅什么是 IAM? 。
-
DomainExecutionRoleArn应该是上一步中创建的角色的 ARN。 -
ExecutionRole是授予亚马逊 A SageMaker I 域中用户的角色的 ARN。 -
vpc-id应该是您的亚马逊 Virtual Private Cloud 的 ID。subnet-ids应该是以空格分隔的子网 IDs列表。有关vpc-id和的信息subnet-ids,请参阅VPCs 和子网。 -
RStudioPackageManagerUrl和RStudioConnectUrl是可选的,应分别设置为 Pack URLs age Man RStudio ager 和 RStudio Connect 服务器的。 -
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网络类型的情况下创建 SageMaker Amazon AI 域。 Amazon IAM Identity Center 必须为启动域名的区域启用。有关 IAM 身份中心的更多信息,请参阅什么是 Amazon IAM Identity Center? 。
-
DomainExecutionRoleArn应该是上一步中创建的角色的 ARN。 -
ExecutionRole是授予亚马逊 A SageMaker I 域中用户的角色的 ARN。 -
vpc-id应该是您的亚马逊 Virtual Private Cloud 的 ID。subnet-ids应该是以空格分隔的子网 IDs列表。有关vpc-id和的信息subnet-ids,请参阅VPCs 和子网。 -
RStudioPackageManagerUrl和RStudioConnectUrl是可选的,应分别设置为 Pack URLs age Man RStudio ager 和 RStudio Connect 服务器的。 -
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网络类型的情况下创建 SageMaker Amazon AI 域。
-
DomainExecutionRoleArn应该是上一步中创建的角色的 ARN。 -
ExecutionRole是授予亚马逊 A SageMaker I 域中用户的角色的 ARN。 -
vpc-id应该是您的亚马逊 Virtual Private Cloud 的 ID。subnet-ids应该是以空格分隔的子网 IDs列表。有关vpc-id和的信息subnet-ids,请参阅VPCs 和子网。 -
RStudioPackageManagerUrl和RStudioConnectUrl是可选的,应分别设置为 Pack URLs age Man RStudio ager 和 RStudio Connect 服务器的。 -
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 mode
以下内容显示了如何在 RStudio 启用和VPCOnly网络类型的情况下启动 SageMaker Amazon AI 域。有关使用 VPCOnly 网络访问类型的更多信息,请参阅将 VPC 中的 Studio 笔记本连接到外部资源。
-
DomainExecutionRoleArn应该是上一步中创建的角色的 ARN。 -
ExecutionRole是授予亚马逊 A SageMaker I 域中用户的角色的 ARN。 -
vpc-id应该是您的亚马逊 Virtual Private Cloud 的 ID。subnet-ids应该是以空格分隔的子网 IDs列表。您的私有子网必须能够访问互联网才能拨打 Amazon A SageMaker I, Amazon License Manager 或者拥有同时支持 Amazon AI 和 Amazon VPC 的终端节点 Amazon License Manager。 SageMaker 有关 Amazon VPC 终端节点的信息,请参阅接口 Amazon VPC 终端节点。有关vpc-id和的信息subnet-ids,请参阅VPCs 和子网。 -
SecurityGroups必须允许出站访问 Amazon A SageMaker I 和 Amazon 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>