使用 Amazon EMR 阻止公有访问 - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Amazon EMR 阻止公有访问

当与集群关联的任何安全组具有一个允许某端口上来自 IPv4 0.0.0.0/0 或 IPv6 ::/0(公有访问)的入站流量的规则时,Amazon EMR 阻止公有访问将阻止公有子网内的集群启动,除非已经将该端口指定为例外。默认情况下,端口 22 是一个例外。您可以配置例外以允许在某个端口或端口范围上进行公有访问。阻止公有访问不会在私有子网中生效。

为您的Amazon账户的每个Amazon区域启用阻止公有访问。换句话说,每个区域都为您的账户在该区域中创建的所有集群启用了阻止公有访问。

重要

我们不建议为您的账户关闭阻止公有访问权限。

阻止公有访问仅在集群创建期间适用。阻止公有访问不会阻止具有适当权限的 IAM 委托人更新安全组配置以允许对正在运行的集群进行公有访问。

阻止公有访问是一种账户级别配置,可帮助您对区域中 Amazon EMR 集群的公共网络访问进行集中管理。当账户用户在您启用阻止公有访问配置的区域中启动集群时,Amazon EMR 会检查配置中定义的端口规则,并将其与集群关联的安全组中指定的入站流量规则进行比较。如果这些安全组具有向公有 IP 地址开放端口的入站规则,但这些端口未在阻止公有访问配置中配置为例外,则 Amazon EMR 将无法创建集群并向用户发送异常。

您可以随时更新账户中的安全组和阻止公有访问配置。Amazon EMR 不会在此类更新之后检查已经根据阻止公有访问配置运行的集群,也不会使已经运行的集群失败。

Amazon EMR 阻止公共访问可在以下区域使用:

  • 非洲(开普敦)- af-south-1

  • 亚太地区(孟买)– ap-south-1

  • 亚太地区(香港)- ap-east-1

  • 亚太地区(雅加达)– ap-southeast-3

  • 亚太地区(大阪)– ap-northeast-3

  • 亚太地区(首尔)– ap-northeast-2

  • 亚太地区(新加坡)– ap-southeast-1

  • 亚太地区(悉尼)- ap-southeast-2

  • 亚太地区(东京)- ap-northeast-1

  • 加拿大(中部)– ca-central-1

  • 中国(北京)- cn-north-1

  • 中国(宁夏)- cn-northwest-1

  • 欧洲(法兰克福)– eu-central-1

  • 欧洲(爱尔兰)– eu-west-1

  • 欧洲(伦敦)– eu-west-2

  • 欧洲(米兰)- eu-south-1

  • 欧洲(巴黎)– eu-west-3

  • 欧洲(斯德哥尔摩)– eu-north-1

  • 中东(巴林)- me-south-1

  • 南美洲(圣保罗)– sa-east-1

  • 美国东部(弗吉尼亚北部)- us-east-1

  • 美国东部(俄亥俄)- us-east-2

  • 美国西部(加利福尼亚北部)– us-west-1

  • 美国西部(俄勒冈)- us-west-2

配置阻止公有访问

您可以使用Amazon Web Services Management Console、Amazon CLI 和 Amazon EMR API 启用和禁用阻止公有访问设置。设置按区域适用于您的账户。为了保障集群安全性,建议您保持启用 BPA。

注意

我们重新设计了 Amazon EMR 控制台,以便其易于使用。请参阅 控制台中的新增功能,以了解有关新旧控制台体验差异的信息。

New console
使用新控制台配置阻止公有访问
  1. 通过以下Amazon Web Services Management Console链接登录并打开 Amazon EMR 控制台:https://console.aws.amazon.com/emr

  2. 在顶部导航栏中,确保选中您要配置的 Region(区域)。

  3. 在左侧导航窗格中的 EMR on EC2 下,选择 Block public access(阻止公有访问)。

  4. Block public access settings (阻止公有访问设置) 下,完成以下步骤。

    要... 请执行此操作...

    打开或关闭阻止公有访问

    选择 Edit(编辑),根据需要选择 Turn on(打开)或 Turn off(关闭),然后选择 Save(保存)。

    编辑例外列表中的端口

    1. 选择 Edit(编辑),然后找到 Port range exceptions(端口范围例外)部分。

    2. 要将端口添加到例外列表,请选择 Add a port range (添加端口范围) 并输入新端口或端口范围。对要添加的每个端口或端口范围重复此过程。

    3. 要删除端口或端口范围,请选择端口范围列表中条目旁边的 Remove(删除)。

    4. 选择保存

Old console
使用旧控制台查看配置阻止公有访问
  1. 通过以下链接打开 Amazon EKR 控制台:https://console.aws.amazon.com/emr

  2. 在顶部导航栏中,确保选中要配置的 Region(区域)。

  3. 选择 Block public access (阻止公有访问)

  4. Block public access settings (阻止公有访问设置) 下,完成以下步骤。

    要... 请执行此操作...

    打开或关闭阻止公有访问

    选择 Change(更改),根据需要选择 On(开)或 Off(关),然后选择对勾标记进行确认。

    编辑例外列表中的端口

    1. Exceptions (例外) 下,选择 Edit (编辑)

    2. 要将端口添加到例外列表,请选择 Add a port range (添加端口范围) 并输入新端口或端口范围。对要添加的每个端口或端口范围重复此过程。

    3. 要删除端口或端口范围,请选择 Port ranges (端口范围) 列表中条目旁边的 x

    4. 选择 Save Changes(保存更改)。

Amazon CLI
使用 Amazon CLI 配置阻止公有访问
  • 使用 aws emr put-block-public-access-configuration 命令可配置阻止公有访问,如以下示例所示。

    要... 请执行此操作...

    打开阻止公有访问

    BlockPublicSecurityGroupRules 设置为 true,如以下示例所示。要启动集群,与集群关联的安全组不得具有允许公有访问的入站规则。

    aws emr put-block-public-access-configuration --block-public-access-configuration BlockPublicSecurityGroupRules=true

    关闭阻止公有访问

    BlockPublicSecurityGroupRules 设置为 false,如以下示例所示。与集群关联的安全组可以具有允许在任何端口上进行公有访问的入站规则。不推荐您使用此配置。

    aws emr put-block-public-access-configuration --block-public-access-configuration BlockPublicSecurityGroupRules=false

    打开阻止公有访问并将端口指定为例外

    以下示例将打开阻止公有访问,并将端口 22 和端口 100-101 指定为例外。这样,如果关联的安全组具有允许在端口 22、端口 100 或端口 101 上进行公有访问的入站规则,则允许创建集群。

    aws emr put-block-public-access-configuration --block-public-access-configuration '{ "BlockPublicSecurityGroupRules": true, "PermittedPublicSecurityGroupRuleRanges": [ { "MinRange": 22, "MaxRange": 22 }, { "MinRange": 100, "MaxRange": 101 } ] }'