交互式端点概述 - Amazon EMR

交互式端点概述

交互式端点向 Amazon EMR Studio 等交互式客户端提供连接到 Amazon EMR on EKS 集群以运行交互式工作负载的功能。交互式端点由 Jupyter Enterprise Gateway 提供支持,该网关提供交互式客户端所需的远程内核生命周期管理功能。内核是与特定于语言的进程,通过与基于 Jupyter 的 Amazon EMR Studio 客户端进行交互来运行交互式工作负载。

交互式端点支持以下内核:

  • Python 3

  • PySpark on Kubernetes

  • Apache Spark with Scala

注意

Amazon EMR on EKS 定价适用于交互式端点和内核。有关更多信息,请参阅 Amazon EMR on EKS 定价页面

EMR Studio 需要以下实体才能与 Amazon EMR on EKS 建立连接。

  • Amazon EMR on EKS 虚拟集群虚拟集群是注册 Amazon EMR 使用的 Kubernetes 命名空间。Amazon EMR 使用虚拟集群运行任务和主机终端节点。您可以使用同一个物理集群支持多个虚拟集群。不过,每个虚拟集群都映射到 Amazon EKS 集群上的命名空间。虚拟集群不会创建任何可增加您账单的活动资源,以及需要在服务之外进行生命周期管理的活动资源。

  • Amazon EMR on EKS 交互式端点交互式端点是 HTTPS 端点,EMR Studio 用户可以将工作区连接到该端点。您只能通过 EMR Studio 访问 HTTPS 端点,并在 Amazon EKS 集群的 Amazon Virtual Private Cloud(Amazon VPC)的私有子网中创建。

    Python、PySpark 和 Spark Scala 内核使用在您 Amazon EMR on EKS 任务执行角色中定义的权限来调用其他 AWS 服务。连接到交互式端点的所有内核和用户都使用创建端点时指定的角色。我们建议您为不同的用户创建单独的端点,并且这些用户具有不同的 AWS Identity and Access Management(IAM)角色。

  • AWS 应用程序负载均衡器控制器AWS 应用程序负载均衡器控制器管理 Amazon EKS Kubernetes 集群的 Elastic Load Balancing。在创建 Kubernetes 入口资源时,控制器会预置应用程序负载均衡器(ALB)。ALB 会在 Amazon EKS 集群之外但在同一 Amazon VPC 内公开 Kubernetes 服务,例如交互式端点。创建交互式端点时还会部署入口资源,该资源通过 ALB 公开交互式端点,以供交互式客户端连接。您只需为每个 Amazon EKS 集群安装一个 AWS 应用程序负载均衡器。

下图描述了 Amazon EMR on EKS 中的交互式端点架构。Amazon EKS 集群包括运行分析工作负载的计算交互式端点。应用程序负载均衡器控制器在 kube-system 命名空间中运行;工作负载和交互式端点在创建虚拟集群时指定的命名空间中运行。创建交互式端点后,Amazon EMR on EKS 控制面板会在 Amazon EKS 集群中创建交互式端点部署。此外,AWS 负载均衡器控制器会创建应用程序负载均衡器入口的实例。应用程序负载均衡器为 EMR Studio 等客户端提供外部接口,以便连接到 Amazon EMR 集群并运行交互式工作负载。

交互式端点架构图