将 VPC 中的 Amazon SageMaker Studio 连接到外部资源 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将 VPC 中的 Amazon SageMaker Studio 连接到外部资源

重要

截至 2023 年 11 月 30 日,之前的亚马逊 SageMaker Studio 体验现在被命名为 Amazon St SageMaker udio Classic。以下部分专门介绍如何使用更新后的 Studio 体验。有关使用 Studio Classic 应用程序的信息,请参见亚马逊 SageMaker Studio 经典版

以下主题提供了有关如何将 VPC 中的 Amazon SageMaker Studio 连接到外部资源的信息。

与互联网的默认通信

默认情况下,Amazon SageMaker Studio 提供的网络接口允许通过由管理的 VPC 与互联网进行通信 SageMaker。流 CloudWatch 向 Amazon S3 等 Amazon 服务的流量通过互联网网关,访问 SageMaker API 和 SageMaker 运行时的流量也是如此。域和您的 Amazon EFS 卷之间的流量会经过您在登录域或调用 API 时指定的 VPC。CreateDomain

与互联网的 VPC only 通信

为了 SageMaker 防止向 Studio 提供互联网接入,您可以在加入 Studi o 或调用 CreateDomainAPI 时指定VPC only网络访问类型来禁用互联网接入。因此,除非您的 VPC 具有指向 SageMaker API 和运行时的接口终端节点,或者具有互联网访问权限的 NAT 网关,并且您的安全组允许出站连接,否则您将无法运行 Studio。

注意

创建域后,可以使用 update-doma in --app-network-access-type 命令的参数更改网络访问类型。

使用 VPC only 模式的要求

当您选择 VpcOnly 时,请按照以下步骤操作:

  1. 您只能使用私有子网。您不能在 VpcOnly 模式下使用公有子网。

  2. 确保您的子网具有所需数量的 IP 地址。每个用户预计需要的 IP 地址数量可能因使用案例而异。我们建议每位用户使用 2 到 4 个 IP 地址。域的 IP 地址总容量是创建域时提供的每个子网可用 IP 地址的总和。确保您估算的 IP 地址使用量不超过您提供的子网数量所支持的容量。此外,使用分布在多个可用区的子网有助于提高 IP 地址的可用性。有关更多信息,请参阅针对 IPv4 的 VPC 和子网大小调整

    注意

    如果实例在共享硬件上运行,您只能配置默认租赁 VPC 的子网。有关 VPC 租赁属性的更多信息,请参阅专用实例

  3. 警告

    使用 VpcOnly 模式时,您对域的网络配置拥有部分所有权。我们推荐的安全最佳实践是,对安全组规则提供的入站和出站访问应用最低权限。过于宽松的入站规则配置可能会让拥有 VPC 访问权限的用户在未经身份验证的情况下与其他用户配置文件的应用程序进行交互。

    使用允许以下流量的入站和出站规则设置一个或多个安全组:

    为每个用户配置文件创建不同的安全组,并添加来自同一安全组的入站访问权限。我们不建议对用户配置文件重复使用域级安全组。如果域级安全组允许对其自身进行入站访问,则该域中的所有应用程序都将有权访问域中的所有其他应用程序。

  4. 如果要允许互联网访问,则必须使用可访问互联网的 NAT 网关,例如通过互联网网关

  5. 如果您不想允许访问互联网,请创建接口 VPC 终端节点 (Amazon PrivateLink),以允许 Studio 使用相应的服务名称访问以下服务。您还必须将 VPC 的安全组与这些端点关联起来。

    • SageMaker API: com.amazonaws.region.sagemaker.api

    • SageMaker 运行时间:com.amazonaws.region.sagemaker.runtime。这是运行 Studio 笔记本、训练和托管模型所需。

    • Amazon S3:com.amazonaws.region.s3

    • SageMaker 项目:com.amazonaws.region.servicecatalog

    • SageMaker 工作室:aws.sagemaker.region.studio

    • 您需要的任何其他 Amazon 服务。

    如果您使用 SageMaker Python 软件开发工具包运行远程训练作业,则还必须创建以下 Amazon VPC 终端节点。

    • Amazon Security Token Service: com.amazonaws.region.sts

    • Amazon CloudWatch: com.amazonaws.region.logs。 这是允许 SageMaker Python SDK 从中获取远程训练作业状态所必需的 Amazon CloudWatch。

  6. 如果在本地网络中以VpcOnly模式使用域,请与在浏览器中运行 Studio 的主机的网络和目标 Amazon VPC 建立私有连接。这是必需的,因为 Studio 用户界面使用带有临时 Amazon 证书的 API 调用来调用 Amazon 端点。这些临时证书与登录的用户配置文件的执行角色相关联。如果域是在本地网络中以VpcOnly模式配置的,则执行角色可能会定义 IAM 策略条件,强制仅通过配置的 Amazon VPC 端点执行 Amazon 服务 API 调用。这会导致从 Studio 用户界面执行的 API 调用失败。我们建议使用Amazon Site-to-Site VPNAmazon Direct Connect连接解决此问题。

注意

对于在 VPC 模式下工作的客户,公司防火墙可能会导致 Studio 或应用程序出现连接问题。如果您在防火墙后面使用 Studio 时遇到其中一个问题,请进行以下检查。

  • 确认您的所有应用程序的 Studio 网址和网址都在您的网络的许可名单中。例如:

    *.studio.region.sagemaker.aws *.console.aws.a2z.com
  • 确认 websocket 连接未被阻止。Jupyter 使用 websockets。