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

将 VPC 中的 SageMaker Studio 笔记本连接到外部资源

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

与互联网的默认通信

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


                    SageMaker Studio VPC 图表描绘了直接互联网访问的使用情况。

与互联网的 VPC only 通信

为了防止 SageMaker 为 Studio 笔记本提供互联网访问,您可以在登录到 Studio 或调用 CreateDomain API 时指定 VPC only 网络访问类型来禁用互联网访问。因此,除非您的 VPC 有连接到 SageMaker API 和运行时的接口端点,或者有可访问互联网的 NAT 网关,并且您的安全组允许出站连接,否则您将无法运行 Studio 笔记本。下图显示了使用仅 VPC 模式的配置。


                    SageMaker Studio VPC 图表描绘了仅 VPC 模式的使用情况。

使用 VPC only 模式的要求

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

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

  2. 确保您的子网具有所需数量的 IP 地址。每个用户预计需要的 IP 地址数量可能因使用案例而异。我们建议每位用户使用 2 到 4 个 IP 地址。Studio 域的 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

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

    如果使用 SageMaker Python SDK 运行远程训练作业,则还必须创建以下 Amazon VPC 端点。

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

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

注意

对于在 VPC 模式下工作的客户,公司防火墙可能会导致与 SageMaker Studio 的连接或 JupyterServer 和 KernelGateway 之间的连接出现问题。如果在防火墙后面使用 SageMaker Studio 时遇到上述问题,请进行以下检查。

  • 检查 Studio URL 是否在您的网络允许列表中。

  • 检查 WebSocket 连接是否被阻止。Jupyter 在后台使用 WebSocket。如果 KernelGateway 应用程序状态为 InService,则 JupyterServer 可能无法连接到 KernelGateway。打开系统终端时也应该会出现这个问题。