本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
以下各节概述了在 Amazon SageMaker Studio 中开始使用本地模式所需的步骤,包括:
-
满足先决条件
-
设置
EnableDockerAccess
-
Docker 安装
先决条件
要在 Studio 应用程序中使用本地模式,请完成以下先决条件:
-
要从 Amazon Elastic Container Registry 存储库中提取映像,托管 Amazon ECR 映像的账户必须为用户的执行角色提供访问权限。此域的执行角色也必须允许 Amazon ECR 访问。
-
使用以下命令验证您使用的是最新版本的 Studio Python SDK:
pip install -U sagemaker
-
要使用本地模式和 Docker 功能,
DockerSettings
使用 AWS Command Line Interface (AWS CLI) 设置域的以下参数:EnableDockerAccess : ENABLED
-
使用
EnableDockerAccess
,您还可以控制域中的用户是否可以使用本地模式。 默认情况下,本地模式和 Docker Studio 应用程序中不允许使用这些功能。有关更多信息,请参阅 设置 EnableDockerAccess。 -
安装 Docker 按照中的步骤在 Studio 应用程序中执行 CLI Docker 安装。
设置 EnableDockerAccess
以下各节将介绍如何在域可访问公共互联网或处于 VPC-only
模式时设置 EnableDockerAccess
。
注意
对 EnableDockerAccess
的更改仅适用于域更新后创建的应用程序。您必须在更新域后创建新的应用程序。
公共互联网访问
以下示例命令显示了在可以访问公共互联网的情况下创建新域或更新现有域时如何设置 EnableDockerAccess
:
# create new domain aws --region
region
\ sagemaker create-domain --domain-namedomain-name
\ --vpc-idvpc-id
\ --subnet-idssubnet-ids
\ --auth-mode IAM \ --default-user-settings "ExecutionRole=execution-role
" \ --domain-settings '{"DockerSettings": {"EnableDockerAccess": "ENABLED"}}' \ --query DomainArn \ --output text # update domain aws --regionregion
\ sagemaker update-domain --domain-iddomain-id
\ --domain-settings-for-update '{"DockerSettings": {"EnableDockerAccess": "ENABLED"}}'
VPC-only
模式
在VPC-only
模式下使用域时,Docker 图像推送和拉取请求通过服务 VPC 而不是客户配置的 VPC 进行路由。由于此功能,管理员可以配置用户可以创建 AWS 账户
的 Amazon ECR 的可信列表 Docker 将操作请求拉入并推送到。
如果 Docker 向不在可信列表中的用户发出图片推送或拉取请求 AWS 账户,请求失败。 AWS 账户 Docker 模式下不支持亚马逊弹性容器注册表 (Amazon ECR) Container Registry 之外的拉取和推送操作。VPC-only
默认情况下,以下内容 AWS 账户 是可信的:
-
托管 SageMaker AI 域的账户。
-
SageMaker 托管以下 A SageMaker I 图像的 AI 账户:
-
DLC 框架映像
-
Sklearn,Spark, XGBoost 处理图像
-
要配置其他可信列表 AWS 账户,请按以下方式指定VpcOnlyTrustedAccounts
值:
aws --region
region
\ sagemaker update-domain --domain-iddomain-id
\ --domain-settings-for-update '{"DockerSettings": {"EnableDockerAccess": "ENABLED", "VpcOnlyTrustedAccounts": ["account-list
"]}}'
Docker 安装
要将 Docker,你必须手动安装 Docker 从你的 Studio 应用程序的终端。安装步骤 Docker 如果域名是否可以访问互联网,则会有所不同。
互联网访问
如果域名是使用公共互联网访问权限创建的,或者是在互联网访问受限的VPC-only
模式下创建的,请使用以下步骤进行安装 Docker.
-
(可选)如果您的域是在互联网访问受限的
VPC-only
模式下创建的,请创建一个具有访问权限的公有 NAT 网关 Docker 网站。有关说明,请参阅 NAT 网关。 -
导航到要安装的 Studio 应用程序的终端 Docker 在。
-
要返回应用程序的操作系统,请在终端运行以下命令:
cat /etc/os-release
-
安装 Docker 按照 Amazon A SageMaker I 本地模式示例存储库
中应用程序操作系统的说明进行操作。 例如,安装 Docker on Ubuntu 按照 https://github.com/aws-samples/amazon-sagemaker-local-mode/blob/main/sagemaker_studio_docker_cli_install/sagemaker-ubuntu-focal-docker-cli-install.sh
的脚本进行操作,但要考虑以下注意事项: -
如果链接命令失败,请逐个运行命令。
-
仅工作室支持 Docker 版本
20.10.X.
和 Docker Engine API 版本1.41
。 -
不需要以下软件包即可使用 Docker 可以跳过 Studio 中的 CLI 及其安装:
-
containerd.io
-
docker-ce
-
docker-buildx-plugin
-
注意
您无需启动 Docker 在您的应用程序中提供服务。托管 Studio 应用程序的实例运行 Docker 默认情况下为服务。全部 Docker API 调用通过路由 Docker 自动服务。
-
-
使用暴露的 Docker 插座用于 Docker Studio 应用程序中的交互。默认情况下,以下套接字处于公开状态:
unix:///docker/proxy.sock
以下 Studio 应用程序环境变量默认
USER
使用此公开的套接字:DOCKER_HOST
无法访问互联网
如果域名是在无法访问互联网的VPC-only
模式下创建的,请使用以下步骤进行安装 Docker.
-
导航到要安装的 Studio 应用程序的终端 Docker 在。
-
从终端运行以下命令,返回应用程序的操作系统:
cat /etc/os-release
-
下载所需的 Docker
.deb
文件到您的本地计算机。有关为 Studio 应用程序的操作系统下载所需文件的说明,请参阅安装 Docker 引擎。 例如,安装 Docker 从 Ubuntu 上的软件包中按照从软件包安装中的步骤 1-4 进行操作,但要注意
以下几点: -
安装 Docker 来自包裹。使用其他方法安装 Docker 会失败。
-
安装与之对应的最新软件包 Docker 版本
20.10.X
。 -
不需要以下软件包即可使用 Docker Studio 中的 CLI。您无需安装以下程序:
-
containerd.io
-
docker-ce
-
docker-buildx-plugin
-
注意
您无需启动 Docker 在您的应用程序中提供服务。托管 Studio 应用程序的实例运行 Docker 默认情况下为服务。全部 Docker API 调用通过路由 Docker 自动服务。
-
-
将
.deb
文件上传到应用程序的 Amazon EFS 文件系统或 Amazon EBS 文件系统。 -
从 Studio 应用程序终端手动安装
docker-ce-cli
和docker-compose-plugin
.deb
软件包。有关更多信息和说明,请参阅上的 “从软件包安装” 中的步骤 5 Docker 文档网站。 -
使用暴露的 Docker 插座用于 Docker Studio 应用程序中的交互。默认情况下,以下套接字处于公开状态:
unix:///docker/proxy.sock
以下 Studio 应用程序环境变量默认
USER
使用此公开的套接字:DOCKER_HOST