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

使用 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 阻止公共访问可在以下区域使用:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

配置阻止公有访问

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

  1. 通过以下链接打开 Amazon EMR 控制台:https://console.aws.amazon.com/elasticmapreduce/

  2. 在导航栏中,确保选中要配置的区域

  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

使用 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 } ] }'