配置联网(面向管理员) - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

配置联网(面向管理员)

此部分供有关管理员如何配置其网络的信息,以便允许 Amazon SageMaker Studio 笔记本与 Amazon EMR 集群之间进行通信。

根据 SageMaker Studio 和 Amazon EMR 是部署在私有 Amazon Virtual Private Cloud (VPC) 中还是通过互联网进行通信,联网说明会有所不同。

默认情况下,SageMaker Studio 在具有互联网访问权限的 Amazon 托管 VPC 中运行。使用互联网连接时,Studio 通过互联网访问 Amazon 资源,如 Amazon S3 存储桶。但是,如果您的安全要求需要控制对数据和作业容器的访问,我们建议您配置 SageMaker Studio 和 Amazon EMR,这样便无法通过互联网访问您的数据和容器。要控制对资源的访问或者在没有公共互联网访问的情况下运行 SageMaker Studio,您可以在登录 Amazon SageMaker 域时指定 VPC only 网络访问类型。在这种场景中,SageMaker Studio 通过私有 VPC 端点与其他 Amazon 服务建立连接。有关在 VPC only 模式下配置 SageMaker Studio 的信息,请参阅将 VPC 中的 SageMaker Studio 笔记本连接到外部资源

前两节介绍如何在没有公共互联网访问的 VPC 中,确保 SageMaker Studio 与 Amazon EMR 集群之间的通信。最后一节介绍如何确保使用互联网连接在 SageMaker Studio 与 Amazon EMR 之间进行通信。在没有互联网访问的情况下连接 SageMaker Studio 和 Amazon EMR 之前,请确保为 Amazon Simple Storage Service(数据存储)、Amazon CloudWatch(日志记录和监控)和 Amazon SageMaker Runtime(细粒度的基于角色访问控制 (RBAC))建立端点。

Studio 和 Amazon EMR 部署在不同的 VPC 中

要允许部署在不同 VPC 中的 SageMaker Studio 与 Amazon EMR 集群进行通信,请执行以下操作:

  1. 首先通过 VPC 对等连接来连接 VPC。

  2. 更新每个 VPC 中的路由表,以在 Studio 子网和 Amazon EMR 子网之间双向路由网络流量。

  3. 配置安全组以允许入站和出站流量。

无论将 Amazon SageMaker Studio 和 Amazon EMR 集群部署在相同 Amazon 账户(单账户使用场景)还是不同 Amazon 账户(跨账户使用场景)中,步骤都是相似的。

  1. VPC 对等

    创建 VPC 对等连接以协调两个 VPC(SageMaker Studio 和 Amazon EMR)之间的联网。

    1. 在您的 SageMaker Studio 账户中打开 VPC 控制面板,选择对等连接,然后选择创建对等连接

    2. 创建您的请求,以便在 Studio VPC 与 Amazon EMR VPC 之间建立对等连接。请求与其他 Amazon 账户建立对等连接时,请在选择要用作对等的另一个 VPC 中选择另一个账户

      对于跨账户对等连接,管理员必须接受来自 Amazon EMR 账户的请求。

      与私有子网建立对等连接时,您应在 VPC 对等连接级别启用私有 IP DNS 解析。

  2. 路由表

    在 SageMaker Studio 子网和 Amazon EMR 子网之间双向发送网络流量。

    建立对等连接后,管理员为了进行跨账户存取,可以在每个账户上向私有子网路由表添加路由,以便在笔记本与集群子网之间路由流量。您可以在 VPC 控制面板中,转到每个 VPC 的路由表部分来定义这些路由。

    下图中 Studio VPC 子网的路由表演示了通过对等连接,从 Studio 账户到 Amazon EMR VPC IP 范围(此处为 2.0.1.0/24)的出站路由示例。

    
                            Amazon EMR VPC 子网的路由表,显示从 Amazon EMR VPC 通过对等连接指向 Studio VPC IP 范围的返回路由

    下图中 Amazon EMR VPC 子网的路由表演示了通过对等连接,从 Amazon EMR VPC 账户到 Studio VPC IP 范围(此处为 10.0.20.0/24)的返回路由示例。

    
                            Studio VPC 子网的路由表演示了通过对等连接,从 Studio 账户到 Amazon EMR VPC IP 范围(此处为 2.0.1.0/24)的出站路由。
  3. 安全组

    最后,您的 Studio 域的安全组必须允许出站流量,Amazon EMR 主节点的安全组必须允许 Apache LivyHivePresto TCP 端口(分别为 8998100008889)上来自 Studio 实例安全组的入站流量。Apache Livy 是一种服务,可通过 REST 接口实现与 Amazon EMR 集群的交互。

下图显示了 Amazon VPC 设置的示例,该设置使 SageMaker Studio 笔记本能够通过模板 Amazon CloudFormation 预置 Amazon EMR 集群,然后连接到相同 Amazon 账户中的 Amazon EMR 集群。该图进一步说明了在 VPC 没有互联网访问权限时,直接连接到各种 Amazon 服务(例如 Amazon S3 或 Amazon CloudWatch)所需的端点。或者,您必须使用 NAT 网关,以便在多个 VPC 的私有子网中的实例访问互联网时,共享互联网网关提供的单个公有 IP 地址。


                    架构图展示了简单 Amazon VPC 设置的示例,该设置使 SageMaker Studio 笔记本能够通过模板 Amazon CloudFormation 预置 Amazon EMR 集群,然后连接到相同 Amazon 账户中的 Amazon EMR 集群。该图进一步说明了在 VPC 没有互联网访问权限时,直接连接到各种 Amazon 服务(例如 Amazon S3 或 Amazon CloudWatch)所需的端点。或者,您必须使用 NAT 网关,以便在多个 VPC 的私有子网中的实例访问互联网时,共享互联网网关提供的单个公有 IP 地址。

Amazon SageMaker Studio 和 Amazon EMR 位于相同 VPC 中

如果 Amazon SageMaker Studio 和集群位于不同的子网中,请向每个私有子网路由表添加路由,以便在笔记本与集群子网之间路由流量。您可以在 VPC 控制面板中,转到每个 VPC 的路由表部分来定义这些路由。如果您将 Amazon SageMaker Studio 和 Amazon EMR 集群部署在相同 VPC 和相同子网中,则无需在笔记本与集群之间路由流量。

无论您是否需要更新路由表,您的 Studio 域的安全组必须允许出站流量,Amazon EMR 主节点的安全组必须允许 Apache LivyHivePresto TCP 端口(分别为 8998100008889)上来自 Studio 实例安全组的入站流量。Apache Livy 是一种服务,可通过 REST 接口实现与 Amazon EMR 集群的交互。

Amazon SageMaker Studio 和 Amazon EMR 通过公共互联网进行通信

默认情况下,SageMaker Studio 提供了一个网络接口,允许在与 SageMaker 域关联的 VPC 中,通过互联网网关与互联网进行通信。如果您选择通过公共互联网连接至 Amazon EMR,则您的 Amazon EMR 集群需要在 Apache LivyHivePresto TCP 端口(分别为 8998100008889)接受来自其互联网网关的入站流量。Apache Livy 是一种服务,可通过 REST 接口实现与 Amazon EMR 集群的交互。

请记住,您允许入站流量通过的任何端口,都代表着潜在的安全漏洞。请仔细检查自定义安全组,以确保您最大限度地减少漏洞。有关更多信息,请参阅使用安全组控制网络流量

或者,有关如何在 Amazon EMR 上启用 Kerberos、在私有子网中设置集群并使用网络负载均衡器 (NLB) 仅公开特定端口来访问集群(通过安全组进行访问控制)的演练,请参阅演练和白皮书

注意

通过公共互联网连接到 Apache Livy 端点时,我们建议您使用 TLS 保护 Amazon SageMaker Studio 与 Amazon EMR 集群之间的通信。

有关使用 Apache Livy 设置 HTTPS 的信息,请参阅使用 Apache Livy 启用 HTTPS。有关设置启用传输加密的 Amazon EMR 集群的信息,请参阅为通过 Amazon EMR 加密来加密传输中数据提供证书。此外,您需要如通过 HTTPS 连接到 Amazon EMR 集群。中所述,将 Studio 配置为访问您的证书密钥。