本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为 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 笔记本电脑使用服务目录中的 AWS CloudFormation 模板预配置 Amazon EMR 集群,然后连接到同一账户中的亚马逊 EMR 集群。 AWS 该图进一步说明了在无法访问互联网时直接连接到各种 AWS 服务(例如 Amazon S3 或 Amazon CloudWatch)所需的终端节点。 VPCs 或者,必须使用 NAT 网关来允许多个 VPCs 私有子网中的实例在访问互联网时共享互联网网关提供的单个公有 IP 地址。
![架构图说明了一个简单 Amazon VPC 设置的示例,该设置允许 Studio 或 Studio Classic 笔记本电脑通过服务目录 AWS CloudFormation 中的模板预配置 Amazon EMR 集群,然后连接到同一账户中的亚马逊 EMR 集群。 AWS 该图进一步说明了在无法访问互联网时直接连接到各种 AWS 服务(例如 Amazon S3 或 Amazon CloudWatch)所需的终端节点。 VPCs 或者,必须使用 NAT 网关来允许多个 VPCs 私有子网中的实例在访问互联网时共享互联网网关提供的单个公有 IP 地址。](images/studio/emr/studio-notebooks-emr-architecture-singleaccount-vpcendpoints.png)
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 集群。 中指定的证书键。