Amazon EMR
管理指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用 Amazon EMR 托管的安全组

不同的托管安全组与集群中的主实例以及核心和任务实例相关联。在私有子网中创建集群时,需要用于服务访问的其他托管安全组。有关网络配置的托管安全组角色的更多信息,请参阅 Amazon VPC 选项

当您为集群指定托管安全组时,必须对所有托管安全组使用相同类型的安全组(默认或自定义)。例如,您无法为主实例指定自定义安全组,也无法为核心和任务实例指定自定义安全组。

如果您使用默认托管安全组,则无需在创建集群时指定它们。Amazon EMR 会自动使用默认值。此外,如果您的集群 VPC 中不存在默认值,则 Amazon EMR 会创建它们。如果您明确指定默认托管安全组但它们尚不存在,则 Amazon EMR 还会创建它们。

您可以在创建集群时,在托管安全组中编辑规则。在创建新集群时,Amazon EMR 会检查托管安全组中指定的规则,然后创建新集群除早前可能已添加的规则以外所需要的任何缺失的规则。除非另有明确说明,否则,默认 EMR 托管安全组的每个规则也会添加到您指定的自定义 EMR 托管安全组。

默认托管安全组如下所示:

适用于主实例(公有子网)的 Amazon EMR 托管的安全组

公有子网中主实例的默认托管安全组的 Group Name (组名称)ElasticMapReduce-master。默认托管安全组具有以下规则,如果您指定自定义托管安全组,则 Amazon EMR 将添加相同规则。

类型 协议 端口范围 详细信息
入站规则
All ICMP-IPv4 (所有 ICMP-IPv4) 全部 不适用 主实例的托管安全组的组 ID。换句话说,规则出现在相同安全组内。

这些反身规则允许来自与指定安全组关联的任何实例的入站流量。对多个集群使用默认 ElasticMapReduce-master 允许这些集群的核心和任务节点通过 ICMP 或者任何 TCP 或 UDP 端口相互通信。指定自定义托管安全组以限制跨集群访问。

所有 TCP TCP 全部
所有 UDP UDP 全部
All ICMP-IPV4 (所有 ICMP-IPV4) 全部 不适用 为核心和任务节点指定的托管安全组的组 ID。

这些规则允许所有入站 ICMP 流量以及来自与指定安全组关联的任何核心和任务实例的通过任何 TCP 或 UDP 端口的流量,即使这些实例位于不同的集群中。

所有 TCP TCP 全部
所有 UDP UDP 全部
Custom (自定义) TCP 8443 各种 Amazon IP 地址范围 这些规则允许集群管理器与主节点通信。
SSH TCP 22 0.0.0.0/0

允许来自任何源的入站 SSH 连接。

警告

我们强烈建议您编辑此入站规则,以限制流量仅来自可信的来源。或者,指定旨在限制访问的自定义 EMR 托管安全组。有关更多信息,请参阅删除对 SSH 的公有访问的过程

删除入站规则,此规则允许将 SSH 用于 ElasticMapReduce-master 安全组来进行公共访问

以下过程假设之前未编辑过 ElasticMapReduce-master 安全组。此外,要编辑安全组,您必须作为以下身份登录到 AWS:根用户或允许为集群所在的 VPC 管理安全组的 IAM 委托人。有关更多信息,请参阅 IAM 用户指南 中的 更改 IAM 用户的权限和允许管理 EC2 安全组的示例策略

  1. 通过以下网址打开 Amazon EMR 控制台:https://console.amazonaws.cn/elasticmapreduce/

  2. 选择 Clusters

  3. 选择集群的 Name (名称)

  4. Security and access (安全与访问) 下,选择 Security groups for Master (主节点的安全组) 链接。

    通过 EMR 集群状态编辑安全组。
  5. 从列表中选择 ElasticMapReduce-master

  6. 依次选择入站编辑

  7. 查找带有以下设置的规则,并选择 x 图标以删除它:

    • 类型

      SSH

    • 端口

      22

    • 自定义 0.0.0.0/0

  8. 滚动到规则底部并选择 Add Rule (添加规则)

  9. 对于 Type (类型),选择 SSH

    这会自动输入 TCP(对于 Protocol (协议))和 22(对于 Port Range (端口范围))。

  10. 对于源,选择 My IP (我的 IP)

    这会自动将您的客户端计算机的 IP 地址添加为源地址。或者,您可以添加一系列Custom (自定义)可信客户端 IP 地址,然后选择 Add rule (添加规则) 来创建针对其他客户端的其他规则。在许多网络环境中,IP 地址是动态分配的,因此您可能需要定期编辑安全组规则以更新可信客户端的 IP 地址。

  11. 选择 Save

  12. (可选)从列表中选择 ElasticMapReduce-slave 并重复上述步骤以允许从可信客户端对核心和任务节点执行 SSH 客户端访问。

适用于核心和任务实例(公有子网)的 Amazon EMR 托管的安全组

公有子网中核心和任务实例的默认托管安全组的 Group Name (组名称)ElasticMapReduce-slave。默认托管安全组具有以下规则,如果您指定自定义托管安全组,则 Amazon EMR 将添加相同规则。

类型 协议 端口范围 详细信息
入站规则
All ICMP-IPV4 (所有 ICMP-IPV4) 全部 不适用 核心和任务实例托管安全组的组 ID。换句话说,规则出现在相同安全组内。

这些反身规则允许来自与指定安全组关联的任何实例的入站流量。对多个集群使用默认 ElasticMapReduce-slave 允许这些集群的核心和任务实例通过 ICMP 或者任何 TCP 或 UDP 端口相互通信。指定自定义托管安全组以限制跨集群访问。

所有 TCP TCP 全部
所有 UDP UDP 全部
All ICMP-IPV4 (所有 ICMP-IPV4) 全部 不适用 主实例的托管安全组的组 ID。

这些规则允许所有入站 ICMP 流量以及来自与指定安全组关联的任何主实例的通过任何 TCP 或 UDP 端口的流量,即使这些实例位于不同的集群中。

所有 TCP TCP 全部
所有 UDP UDP 全部

适用于主实例(私有子网)的 Amazon EMR 托管的安全组

私有子网中主实例的默认托管安全组的 Group Name (组名称)ElasticMapReduce-Master-Private。默认托管安全组具有以下规则,如果您指定自定义托管安全组,则 Amazon EMR 将添加相同规则。

类型 协议 端口范围 详细信息
入站规则
All ICMP-IPv4 (所有 ICMP-IPv4) 全部 不适用 主实例的托管安全组的组 ID。换句话说,规则出现在相同安全组内。

这些反身规则允许来自与指定安全组关联且可从私有子网中进行访问的任何实例的入站流量。对多个集群使用默认 ElasticMapReduce-Master-Private 允许这些集群的核心和任务节点通过 ICMP 或者任何 TCP 或 UDP 端口相互通信。指定自定义托管安全组以限制跨集群访问。

所有 TCP TCP 全部
所有 UDP UDP 全部
All ICMP-IPV4 (所有 ICMP-IPV4) 全部 不适用 核心和任务节点的托管安全组的组 ID。

这些规则允许所有入站 ICMP 流量以及来自与指定安全组关联且从私有子网内进行访问的任何核心和任务实例的通过任何 TCP 或 UDP 端口的流量,即使这些实例位于不同的集群中。

所有 TCP TCP 全部
所有 UDP UDP 全部
HTTPS (8443) TCP 8443 私有子网中用于服务访问的托管安全组的组 ID。 此规则允许集群管理器与主节点通信。

适用于核心和任务实例(私有子网)的 Amazon EMR 托管的安全组

私有子网中核心和任务实例的默认托管安全组的 Group Name (组名称)ElasticMapReduce-Slave-Private。默认托管安全组具有以下规则,如果您指定自定义托管安全组,则 Amazon EMR 将添加相同规则。

类型 协议 端口范围 详细信息
入站规则
All ICMP-IPV4 (所有 ICMP-IPV4) 全部 不适用 核心和任务实例托管安全组的组 ID。换句话说,规则出现在相同安全组内。

这些反身规则允许来自与指定安全组关联的任何实例的入站流量。对多个集群使用默认 ElasticMapReduce-slave 允许这些集群的核心和任务实例通过 ICMP 或者任何 TCP 或 UDP 端口相互通信。指定自定义托管安全组以限制跨集群访问。

所有 TCP TCP 全部
所有 UDP UDP 全部
All ICMP-IPV4 (所有 ICMP-IPV4) 全部 不适用 主实例的托管安全组的组 ID。

这些规则允许所有入站 ICMP 流量以及来自与指定安全组关联的任何主实例的通过任何 TCP 或 UDP 端口的流量,即使这些实例位于不同的集群中。

所有 TCP TCP 全部
所有 UDP UDP 全部
HTTPS (8443) TCP 8443 私有子网中用于服务访问的托管安全组的组 ID。 此规则允许集群管理器与核心和任务节点通信。

适用于服务访问(私有子网)的 Amazon EMR 托管的安全组

私有子网中服务访问的默认托管安全组的 Group Name (组名称)ElasticMapReduce-ServiceAccess。它没有入站规则和允许流量通过 HTTPS(端口 8443)到私有子网中其他托管安全组的出站规则。这些规则允许集群管理器与主节点以及核心节点和任务节点进行通信。如果指定自定义安全组,则会添加相同规则。