本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
EMR使用接口VPC终端节点连接亚马逊
您可以使用虚拟私有云 (AWS PrivateLink) 中的接口VPC终端节点 () 直接连接到亚马逊EMR,而不必通过互联网进行连接。VPC当您使用接口VPC终端节点时,您VPC和 Amazon EMR 之间的通信完全在 AWS 网络内进行。每个VPC端点都由一个或多个弹性网络接口 (ENIs) 表示,您的VPC子网中有私有 IP 地址。
接口VPC终端节点EMR无需互联网网关、NAT设备、VPN连接或 AWS Direct Connect 连接即可将您VPC直接连接到 Amazon。您中的实例VPC不需要公有 IP 地址即可与 Amazon 通信EMRAPI。
要EMR通过您的使用亚马逊VPC,您必须使用亚马逊虚拟专用网络 (VPN) VPC 或,从内部的实例进行连接或将您的VPC私有网络连接到您的私有网络 AWS Direct Connect。有关亚马逊的信息VPN,请参阅《亚马逊虚拟私有云用户指南》中的VPN连接。有关信息 AWS Direct Connect,请参阅《AWS Direct Connect 用户指南》中的创建连接。
您可以使用 AWS 控制台或 AWS Command Line Interface (AWS CLI) 命令创建连接到 Amazon EMR 的接口VPC终端节点。有关更多信息,请参阅创建接口端点。
创建接口VPC终端节点后,如果您为终端节点启用私有DNS主机名,则默认 Amazon 终端节点将解析到您的EMRVPC终端节点。Amazon EMR 的默认服务名称终端节点采用以下格式。
elasticmapreduce.
Region
.amazonaws.com
如果您不启用私有DNS主机名,Amazon 会VPC提供一个DNS终端节点名称,您可以按以下格式使用该名称。
VPC_Endpoint_ID
.elasticmapreduce.Region
.vpce.amazonaws.com
有关更多信息,请参阅 Amazon VPC 用户指南中的接口VPC终端节点 (AWS PrivateLink)。
Amazon EMR 支持在您的内部调用其所有API操作VPC。
您可以将VPC终端节点策略附加到VPC终端节点以控制IAM委托人的访问权限。您还可以将安全组与VPC终端节点关联,以根据网络流量的来源和目的地(例如 IP 地址范围)控制入站和出站访问。有关更多信息,请参阅使用VPC终端节点控制对服务的访问。
为 Amazon 创建VPC终端节点策略 EMR
您可以为亚马逊VPC终端节点创建策略EMR,以指定以下内容:
-
可以或不能执行操作的委托人
-
可执行的操作
-
可对其执行操作的资源
有关更多信息,请参阅 Amazon VPC 用户指南中的使用VPC终端节点控制对服务的访问。
例 — VPC 终端节点策略拒绝来自指定 AWS 账户的所有访问
以下VPC终端节点策略拒绝 AWS 账号 123456789012
使用终端节点访问资源的所有权限。
{ "Statement": [ { "Action": "*", "Effect": "Allow", "Resource": "*", "Principal": "*" }, { "Action": "*", "Effect": "Deny", "Resource": "*", "Principal": { "AWS": [ "
123456789012
" ] } } ] }
例 — VPC 端点策略仅允许指定的IAM委托人(用户)进行VPC访问
以下VPC端点策略仅允许用户拥有完全访问权限 lijuan
在 AWS 账户中 123456789012
。 所有其他IAM委托人均被拒绝使用该终端节点进行访问。
{ "Statement": [ { "Action": "*", "Effect": "Allow", "Resource": "*", "Principal": { "AWS": [ "arn:aws:iam::
123456789012
:user/lijuan
" ] } }] }
例 — 允许只读EMR操作的VPC端点策略
以下VPC端点策略仅允许使用 AWS 账户 123456789012
以执行指定的 Amazon EMR 操作。
指定的操作为 Amazon 提供了等同于只读访问权限EMR。指定账户的所有其他操作VPC均被拒绝。所有其它帐户都被拒绝进行任何访问。有关亚马逊EMR操作的列表,请参阅亚马逊的操作、资源和条件键EMR。
{ "Statement": [ { "Action": [ "elasticmapreduce:DescribeSecurityConfiguration", "elasticmapreduce:GetBlockPublicAccessConfiguration", "elasticmapreduce:ListBootstrapActions", "elasticmapreduce:ViewEventsFromAllClustersInConsole", "elasticmapreduce:ListSteps", "elasticmapreduce:ListInstanceFleets", "elasticmapreduce:DescribeCluster", "elasticmapreduce:ListInstanceGroups", "elasticmapreduce:DescribeStep", "elasticmapreduce:ListInstances", "elasticmapreduce:ListSecurityConfigurations", "elasticmapreduce:DescribeEditor", "elasticmapreduce:ListClusters", "elasticmapreduce:ListEditors" ], "Effect": "Allow", "Resource": "*", "Principal": { "AWS": [ "
123456789012
" ] } } ] }
例 — VPC 终端节点策略拒绝访问指定集群
以下VPC端点策略允许所有账户和委托人拥有完全访问权限,但拒绝账户的任何访问权限 AWS 123456789012
到使用集群 ID 在 Amazon EMR 集群上执行的操作 j-A1B2CD34EF5G
。 仍允许其他不支持集群资源级权限的 Amazon EMR 操作。有关亚马逊EMR操作及其相应资源类型的列表,请参阅亚马逊的操作、资源和条件键EMR。
{ "Statement": [ { "Action": "*", "Effect": "Allow", "Resource": "*", "Principal": "*" }, { "Action": "*", "Effect": "Deny", "Resource": "arn:aws:elasticmapreduce:
us-west-2
:123456789012
:cluster/j-A1B2CD34EF5G
", "Principal": { "AWS": [ "123456789012
" ] } } ] }