使用接口 VPC 端点连接到 Amazon EMR on EKS - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用接口 VPC 端点连接到 Amazon EMR on EKS

您可以使用虚拟私有云 (VPC Amazon PrivateLink) 中的接口 VPC 终端节点 () 直接连接到 EKS 上的 Amazon EMR,而不必通过互联网进行连接。当您使用接口 VPC 终端节点时,您的 VPC 与 EKS 上的 Amazon EMR 之间的通信完全在网络内进行。 Amazon 每个 VPC 终端节点都由一个或多个弹性网络接口 (ENIs) 表示,其私有 IP 地址位于您的 VPC 子网中。

接口 VPC 终端节点将您的 VPC 直接连接到 EKS 上的 Amazon EMR,无需互联网网关、NAT 设备、VPN 连接或 Direc Amazon t Connect 连接。VPC 中的实例不需要公有 IP 地址便可与 Amazon EMR on EKS API 进行通信。

您可以使用 Amazon Web Services Management Console 或 Amazon Command Line Interface (Amazon CLI) 命令创建接口 VPC 终端节点以连接到 EKS 上的 Amazon EMR。有关更多信息,请参阅创建接口端点

在创建接口 VPC 终端节点后,如果您为终端节点启用私有 DNS 主机名,则默认 Amazon EMR on EKS 终端节点将解析为您的 VPC 终端节点。Amazon EMR on EKS 的默认服务名称终端节点采用以下格式。

emr-containers.Region.amazonaws.com

如果您不启用私有 DNS 主机名,Amazon VPC 将提供一个您可以使用的 DNS 终端节点名称,格式如下。

VPC_Endpoint_ID.emr-containers.Region.vpce.amazonaws.com

有关更多信息,请参阅 Amazon VPC 用户指南中的接口 VPC 终端节点 (Amazon PrivateLink)。Amazon EMR on EKS 支持调用您 VPC 中的所有 API 操作

您可以将 VPC 终端节点策略附加到 VPC 终端节点,以控制 IAM 委托人的访问权限。您还可以将安全组与 VPC 端点关联,以便根据网络流量的源和目标(例如 IP 地址范围)控制入站和出站访问。有关更多信息,请参阅使用 VPC 端点控制对服务的访问

为 Amazon EMR on EKS 创建 VPC 终端节点策略

您可以为 Amazon EMR on EKS 的 Amazon VPC 终端节点创建一个策略,在该策略中指定以下内容:

  • 可以或不能执行操作的委托人

  • 可执行的操作

  • 可对其执行操作的资源

有关更多信息,请参阅《Amazon VPC 用户指南》中的使用 VPC 终端节点控制对服务的访问权限

例 拒绝来自指定 Amazon 账户的所有访问的 VPC 终端节点策略

以下 VPC 终端节点策略拒绝 Amazon 账户使用该终端节点访问123456789012所有资源。

{ "Statement": [ { "Action": "*", "Effect": "Allow", "Resource": "*", "Principal": "*" }, { "Action": "*", "Effect": "Deny", "Resource": "*", "Principal": { "AWS": [ "123456789012" ] } } ] }
例 仅允许 VPC 访问指定的 IAM 委托人(用户)的 VPC 终端节点策略

以下 VPC 终端节点策略仅允许 Amazon 账户lijuan中的 IAM 用户拥有完全访问权限123456789012。使用终端节点拒绝所有其它 IAM 委托人进行访问。

{ "Statement": [ { "Action": "*", "Effect": "Allow", "Resource": "*", "Principal": { "AWS": [ "arn:aws:iam::123456789012:user/lijuan" ] } } ] }
例 允许只读 Amazon EMR on EKS 操作的 VPC 终端节点策略

以下 VPC 终端节点策略仅123456789012允许 Amazon 账户在 EKS 上执行指定的 Amazon EMR 操作。

指定的操作为 Amazon EMR on EKS 提供等效的只读访问权限。针对指定账户拒绝 VPC 上的所有其它操作。所有其它帐户都被拒绝进行任何访问。有关 Amazon EMR on EKS 操作列表,请参阅 Amazon EMR on EKS 的操作、资源和条件键

{ "Statement": [ { "Action": [ "emr-containers:DescribeJobRun", "emr-containers:DescribeVirtualCluster", "emr-containers:ListJobRuns", "emr-containers:ListTagsForResource", "emr-containers:ListVirtualClusters" ], "Effect": "Allow", "Resource": "*", "Principal": { "AWS": [ "123456789012" ] } } ] }
例 拒绝访问指定虚拟集群的 VPC 终端节点策略

以下 VPC 终端节点策略允许所有账户和委托人拥有完全访问权限,但拒绝 Amazon 账户123456789012访问在具有集群 ID A1B2CD34EF5G 的虚拟集群上执行的操作。对于仍然不被允许的虚拟集群,其它 Amazon EMR on EKS 操作不支持资源级权限。有关 Amazon EMR on EKS 操作及其相应资源类型的列表,请参阅《Amazon Identity and Access Management 用户指南》中的 Amazon EMR on EKS 的操作、资源和条件键

{ "Statement": [ { "Action": "*", "Effect": "Allow", "Resource": "*", "Principal": "*" }, { "Action": "*", "Effect": "Deny", "Resource": "arn:aws:emr-containers:us-west-2:123456789012:/virtualclusters/A1B2CD34EF5G", "Principal": { "AWS": [ "123456789012" ] } } ] }