本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为 Amazon EMR 集群配置网络访问权限
在开始使用 Amazon EMR 或 EMR Serverless 执行 Studio 中的数据准备任务之前,请确保您或您的管理员已对网络进行了配置,以允许 Studio 和 Amazon EMR 之间进行通信。启用此通信后,您可以选择:
注意
对于 EMR Serverless 用户来说,最简单的设置是在 Studio UI 中创建应用程序,无需修改虚拟私有云(VPC)选项的默认设置。这种方法允许在您 SageMaker 域的 VPC 中创建应用程序,无需进行额外的网络配置。如果您选择此选项,则可以跳过下面的网络设置部分。
根据 Studio 和 Amazon EMR 是部署在私有 Amazon 虚拟私有云(VPC)内还是通过互联网通信,联网说明也会有所不同。
默认情况下,Studio 或 Studio Classic 在可访问互联网的AWS托管 VPC 中运行。使用互联网连接时,Studio 和 Studio Classic 会通过互联网访问AWS资源,例如 Amazon S3 存储桶。但是,如果您有控制数据和作业容器访问的安全要求,我们建议您对 Studio 或 Studio Classic 和 Amazon EMR 进行配置,以便无法通过互联网访问您的数据和容器。要控制对资源的访问或在没有公共互联网访问的情况下运行 Studio 或 Studio Classic,您可以在加入 Amazon A SageMaker I 域时指定VPC only网络访问类型。在这种情况下,Studio 和 Studio Classic 都通过私有 VPC 终端节点与其他AWS服务建立连接。有关在VPC only模式下配置 Studio 或 Studio Classic 的信息,请参阅将 VPC 中的 SageMaker Studio 或 Studio Classic 笔记本电脑连接到外部资源。 。
前两节介绍如何在 VPCs 没有公共互联网接入的情况下确保 Studio 或 Studio Classic 与 Amazon EMR 之间的通信。最后一节介绍如何使用互联网连接确保 Studio 或 Studio Classic 与 Amazon EMR 之间的通信。在没有互联网访问权限的情况下连接 Studio 或 Studio Classic 和亚马逊 EMR 之前,请务必为亚马逊简单存储服务(数据存储)、亚马逊(记录和监控)和亚马逊 SageMaker 运行时 CloudWatch(基于角色的细粒度访问控制 (RBAC))建立终端节点。
连接 Studio 或 Studio Classic 和 Amazon EMR:
-
如果 Studio 或 Studio Classic 和 Amazon EMR 分开存放 VPCs,无论是在同一个AWS账户中还是在不同的账户中,请参阅。 Studio 和 Amazon EMR 是分开的 VPCs
-
如果 Studio 或 Studio Classic 与 Amazon EMR 位于同一 VPC 中,请参阅 Studio 和 Amazon EMR 位于同一 VPC 中。
-
如果您选择通过公共互联网连接 Studio 或 Studio Classic 和 Amazon EMR,请参阅 Studio 和 Amazon EMR 通过公共互联网进行通信。
Studio 和 Amazon EMR 是分开的 VPCs
要允许 Studio 或 Studio Classic 与 Amazon EMR 在单独部署时进行通信,请执行以下操作: VPCs
-
首先 VPCs 通过 VPC 对等连接进行连接。
-
更新每个 VPC 中的路由表,在 Studio 或 Studio Classic 子网与 Amazon EMR 子网之间双向路由网络流量。
-
配置安全组以允许入站和出站流量。
无论资源部署在单个AWS账户(单账户用例)中,还是跨多个AWS账户(跨账户用例)部署,连接 Studio 或 Studio Classic 和 Amazon EMR 的步骤都是一样的。
-
VPC 对等连接
创建 VPC 对等连接以促进两者 VPCs (Studio 或 Studio Classic 和 Amazon EMR)之间的联网。
-
从您的 Studio 或 Studio Classic 账户,在 VPC 面板上选择 对等连接,然后选择创建对等连接。
-
创建请求,将 Studio 或 Studio Classic VPC 与 Amazon EMR VPC 对等。在其他AWS账户中请求对等时,请在选择要与之建立对等关系的另一个 VPC 中选择另一个账户。
对于跨账户对等互联,管理员必须接受来自 Amazon EMR 账户的请求。
与私有子网建立对等连接时,您应在 VPC 对等连接级别启用私有 IP DNS 解析。
-
-
路由表
在 Studio 或 Studio Classic 子网与 Amazon EMR 子网之间双向发送网络流量。
建立对等连接后,管理员(在跨账户访问的每个账户上)可以将路由添加到私有子网路由表中,以路由 Studio 或 Studio Classic 与 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 范围(此处为
10.0.20.0/24)的返回路由示例。
-
安全组
最后,Studio 或 Studio Classic 域的安全组必须允许出站流量,Amazon EMR 主节点的安全组必须允许 Apache Livy、Hive 或 Presto 的入站流量。TCP 端口(分别为
8998、10000和8889)的入站流量。Apache Livy是一项可通过 REST 接口与 Amazon EMR 交互的服务。
下图显示了 Amazon VPC 设置的示例,该设置允许 JupyterLab或 Studio Classic 笔记本电脑通过服务目录中的CloudFormation模板预配置 Amazon EMR 集群,然后连接到同一账户中的亚马逊 EMR 集群。AWS该图进一步说明了在无法访问互联网时直接连接到各种AWS服务(例如 Amazon S3 或 Amazon CloudWatch)所需的终端节点。 VPCs 或者,必须使用 NAT 网关来允许多个 VPCs 私有子网中的实例在访问互联网时共享互联网网关提供的单个公有 IP 地址。
Studio 和 Amazon EMR 位于同一 VPC 中
如果 Studio 或 Studio Classic 和 Amazon EMR 位于不同的子网中,请在每个专用子网路由表中添加路由,以路由 Studio 或 Studio Classic 和 Amazon EMR 子网之间的流量。您可以在 VPC 控制面板中,转到每个 VPC 的路由表部分来定义这些路由。如果在同一 VPC 和同一子网中部署了 Studio 或 Studio Classic 和 Amazon EMR,则无需在 Studio 和 Amazon EMR 之间路由流量。
无论您是否需要更新路由表,Studio 或 Studio Classic 域的安全组都必须允许出站流量,而 Amazon EMR 主节点的安全组必须允许来自 Studio 或 Studio Classic 实例安全组的 Apache Livy、Hive 或 Presto TCP 端口(分别为 8998、10000 和 8889)的入站流量。Apache Livy
Studio 和 Amazon EMR 通过公共互联网进行通信
默认情况下,Studio 和 Studio Classic 提供网络接口,允许通过与 SageMaker 域关联的 VPC 中的互联网网关与互联网进行通信。如果您选择通过公共互联网连接 Amazon EMR,则 Amazon EMR 需要接受来自其互联网网关的 Apache Livy、Hive 或 Presto TCP 端口(分别为 8998、10000 和 8889)的入站流量。Apache Livy
请记住,您允许入站流量通过的任何端口,都代表着潜在的安全漏洞。请仔细检查自定义安全组,以确保您最大限度地减少漏洞。有关更多信息,请参阅使用安全组控制网络流量。
或者,有关如何在 Amazon EMR 上启用 Kerberos、在私有子网中设置集群并使用网络负载均衡器 (NLB) 仅公开特定端口来访问集群(通过安全组进行访问控制)的演练,请参阅博客和白皮书。
注意
通过公共互联网连接到 Apache Livy 端点时,我们建议您使用 TLS 确保 Studio 或 Studio Classic 与 Amazon EMR 集群之间的通信安全。
有关使用 Apache Livy 设置 HTTPS 的信息,请参阅使用 Apache Livy 启用 HTTPS。有关设置启用传输加密的 Amazon EMR 集群的信息,请参阅为通过 Amazon EMR 加密来加密传输中数据提供证书。此外,您还需要配置 Studio 或 Studio Classic 以访问 通过 HTTPS 连接到 Amazon EMR 集群。 中指定的证书键。