为什么 AWS EMR 需要 2 个不同的安全组用于主节点和 Core/Task 节点?

Why does AWS EMR require 2 different security groups for Master and Core/Task nodes?

我正在设置 EMR 作业,发现我必须指定 Master 和 Core/Task 特定安全组。有2个有什么意义?如果我在 client 模式下 运行 - 我将只使用 Master 安全组。而且我相信如果我 运行 cluster 模式下的 EMR 作业它应该只利用 core/task 的安全组,这不正确吗?

至少这是我的理解,因为当我在 clientcluster 模式之间进行选择时,它会告诉我:

Run your driver on a slave node (cluster mode) or on the master node as an external client (client mode).

根据Working With Amazon EMR-Managed Security Groups

主节点上的安全组允许:

  • 来自其他 Amazon EMR 集群的主节点的通信
  • 来自核心节点和任务节点的通信
  • 来自 AWS 集群管理器的通信以控制集群

Core/Task 节点 上的安全组允许:

  • 来自其他核心和任务节点的通信
  • 来自主节点的通信

通常,主节点上的安全组也会打开,以便您可以直接连接它(例如,运行 命令行 Hive)。

对 Core/Task 节点的访问完全通过主节点完成。任何提交的作业都会转到主节点,然后转到 Core/Task 节点。