インターフェイス VPC エンドポイントを使用して Amazon EMR on EKS に接続する - Amazon EMR

インターフェイス VPC エンドポイントを使用して Amazon EMR on EKS に接続する

インターネット経由で接続するのではなく、Virtual Private Cloud (VPC) のインターフェイス VPC エンドポイント (AWS PrivateLink) を使用して Amazon EMR on EKS に直接接続できます。インターフェイス VPC エンドポイントを使用すると、VPC と Amazon EMR on EKS の間の通信は完全に AWS ネットワーク内で実施されます。各 VPC エンドポイントは、VPC サブネット内のプライベート IP アドレスを持つ 1 つ以上の Elastic Network Interfaces (ENI) で表されます。

インターフェイス VPC エンドポイントは、インターネットゲートウェイ、NAT デバイス、VPN 接続、または AWS Direct Connect 接続を使用せずに、VPC を Amazon EMR on EKS に直接接続します。VPC のインスタンスは、パブリック IP アドレスがなくても Amazon EMR on EKS API と通信できます。

インターフェイス VPC エンドポイントを作成し、AWS Management Consoleか AWS Command Line Interface (AWS CLI) コマンドのいずれかを使用して Amazon EMR on EKS に接続できます。詳細については、インターフェイスエンドポイントの作成を参照してください。

インターフェイス 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 エンドポイント (AWS 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 エンドポイントでサービスへのアクセスを制御する」を参照してください。

例 指定した AWS アカウントからのすべてのアクセスを拒否する VPC エンドポイントポリシー

次の VPC エンドポイントポリシーは、AWS アカウント 123456789012 がエンドポイントを使用するリソースへのすべてのアクセスを拒否します。

{ "Statement": [ { "Action": "*", "Effect": "Allow", "Resource": "*", "Principal": "*" }, { "Action": "*", "Effect": "Deny", "Resource": "*", "Principal": { "AWS": [ "123456789012" ] } } ] }
例 指定した IAM プリンシパル (ユーザー) への VPC アクセスのみを許可する VPC エンドポイントポリシー

次の VPC エンドポイントポリシーは、AWS アカウント 123456789012 の IAM ユーザー lijuan にのみフルアクセスを許可します。他のすべての IAM プリンシパルは、エンドポイントを使用したアクセスを拒否されます。

{ "Statement": [ { "Action": "*", "Effect": "Allow", "Resource": "*", "Principal": { "AWS": [ "arn:aws:iam::123456789012:user/lijuan" ] } } ] }
例 読み取り専用の Amazon EMR on EKS オペレーションを許可する VPC エンドポイントポリシー

次の VPC エンドポイントポリシーは、AWS アカウント 123456789012 にのみ、指定された Amazon EMR on EKS アクションの実行を許可します。

指定されたアクションは、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 エンドポイントポリシーは、すべてのアカウントとプリンシパルにフルアクセスを許可しますが、AWS アカウント 123456789012 には、クラスター ID A1B2CD34EF5G を持つ仮想クラスターで実行されるアクションに対するすべてのアクセスを拒否します。仮想クラスターのリソースレベルのアクセス許可をサポートしないその他の Amazon EMR on EKS アクションは、引き続き許可されます。Amazon EMR on EKS アクションのリストとそれに対応するリソースタイプについては、「AWS 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" ] } } ] }