本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将 VPC 中的 Studio 笔记本连接到外部资源
以下主题介绍了如何将 VPC 中的 Studio 笔记本连接到外部资源。
与互联网的默认通信
默认情况下, SageMaker Studio 提供网络接口,允许通过 SageMaker AI 管理的 VPC 与互联网通信。Amazon S3 等 AWS CloudWatch服务的流量通过互联网网关传输。访问 SageMaker API 和 SageMaker AI 运行时的流量也会通过互联网网关。域和 Amazon EFS 卷之间的流量通过您在加入 Studio 或调用 API 时识别的 VPC。CreateDomain下图演示了默认配置。
![SageMaker Studio VPC 图表描绘了直接互联网接入的使用情况。](images/studio/studio-vpc-internet.png)
与互联网的 VPC only
通信
要阻止 SageMaker AI 为您的 Studio 笔记本电脑提供互联网接入,请通过指定VPC only
网络访问类型来禁用互联网接入。当您加入 Studio 或调用 CreateDomainAPI 时,请指定此网络访问类型。因此,如果不这样做,您就无法运行 Studio 笔记本:
-
您的 VPC 具有指向 SageMaker API 和运行时的接口终端节点,或者具有互联网访问权限的 NAT 网关
-
您的安全组允许出站连接
下图显示了使用仅 VPC 模式的配置。
![SageMaker Studio VPC 图表描绘了仅限 VPC 模式的使用情况。](images/studio/studio-vpc-private.png)
使用 VPC only
模式的要求
当您选择 VpcOnly
时,请按照以下步骤操作:
-
您只能使用私有子网。您不能在
VpcOnly
模式下使用公有子网。 -
确保您的子网具有所需数量的 IP 地址。每个用户预计需要的 IP 地址数量可能因使用案例而异。我们建议每位用户使用 2 到 4 个 IP 地址。Studio 域的 IP 地址总容量是创建域时为每个子网提供的可用 IP 地址的总和。确保您的 IP 地址使用量不超过您提供的子网数量所支持的容量。此外,使用分布在多个可用区的子网也有助于提高 IP 地址的可用性。有关更多信息,请参阅的 VPC 和子网大小 IPv4。
注意
如果实例在共享硬件上运行,您只能配置默认租赁 VPC 的子网。有关租赁属性的更多信息 VPCs,请参阅专用实例。
-
警告
使用
VpcOnly
模式时,您对域的网络配置拥有部分所有权。我们推荐的安全最佳实践是,对安全组规则提供的入站和出站访问应用最低权限。过于宽松的入站规则配置可能会让拥有 VPC 访问权限的用户在未经身份验证的情况下与其他用户配置文件的应用程序进行交互。使用允许以下流量的入站和出站规则设置一个或多个安全组:
-
域和 Amazon EFS 卷之间通过 2049 端口 TCP 传输的 NFS 流量。
-
安全组内的 TCP 流量。这对于两者之间的连接是必需的 Jupyter Server 应用程序和 Kernel Gateway 应用程序。您必须至少允许
8192-65535
范围内的端口访问。
为每个用户配置文件创建不同的安全组,并添加来自同一安全组的入站访问权限。我们不建议对用户配置文件重复使用域级安全组。如果域级安全组允许对自身进行入站访问,那么域中的所有应用程序都可以访问域中的所有其他应用程序。
-
-
要移除互联网访问权限,请创建接口 VPC 终端节点 (AWS PrivateLink),以允许 Studio 使用相应的服务名称访问以下服务。您还必须将 VPC 的安全组与这些端点关联起来。
-
SageMaker API:
com.amazonaws.
region
.sagemaker.api -
SageMaker AI 运行时:
com.amazonaws.
. 这是运行 Studio 笔记本、训练和托管模型所需。region
.sagemaker.runtime -
Amazon S3:
com.amazonaws.
。region
.s3 -
要使用 SageMaker 项目,请执行以下操作:
com.amazonaws.
。region
.servicecatalog -
您需要的任何其他 AWS 服务。
如果您使用 SageMaker Python 软件开发工具包
运行远程训练作业,则还必须创建以下 Amazon VPC 终端节点。 -
AWS Security Token Service:
com.amazonaws.
region
.sts -
Amazon CloudWatch:
com.amazonaws.
。 这是允许 SageMaker Python SDK 从中获取远程训练作业状态所必需的 Amazon CloudWatch。region
.logs
-
注意
对于在 VPC 模式下工作的客户,公司防火墙可能会导致 SageMaker Studio 或 JupyterServer 与之间的连接问题。 KernelGateway如果您在防火墙后面使用 SageMaker Studio 时遇到其中一个问题,请进行以下检查。
-
检查 Studio URL 是否在您的网络允许列表中。
-
检查 WebSocket 连接是否被阻止。Jupyter 在后台使用 WebSocket。如果 KernelGateway 应用程序是 InService,则 JupyterServer 可能无法连接到 KernelGateway。打开系统终端时也应该会出现这个问题。