インタラクティブエンドポイントの概要
インタラクティブエンドポイントは、Amazon EMR Studio などのインタラクティブクライアントが EKS クラスター上の Amazon EMR に接続してインタラクティブワークロードを実行できるようにします。インタラクティブエンドポイントは、インタラクティブクライアントが必要とするリモートカーネルライフサイクル管理機能を提供する Jupyter Enterprise Gateway によって支えられています。カーネルは、Jupyter ベースの Amazon EMR Studio クライアントと相互作用してインタラクティブワークロードを実行する言語固有のプロセスです。
インタラクティブエンドポイントは、次のカーネルをサポートします。
-
Python 3
-
Kubernetes での PySpark
-
Scala を使用した Apache Spark
注記
EKS での Amazon EMR の料金は、インタラクティブエンドポイントとカーネルに適用されます。詳細については、「Amazon EMR on EKS pricing
EMR Studio を EKS での Amazon EMR に接続するには、以下のエンティティが必要です。
-
EKS での Amazon EMR 仮想クラスター — 仮想クラスターは、Amazon EMR を登録する際に使用する Kubernetes 名前空間です。Amazon EMR では、仮想クラスターを使用してジョブを実行し、エンドポイントをホストします。複数の仮想クラスターを同じ物理クラスターでバックアップできます。ただし、各仮想クラスターは Amazon EKS クラスター上の 1 つの名前空間にマッピングされます。仮想クラスターでは、請求に適用されるアクティブなリソースや、サービスの外部でライフサイクル管理を必要とするアクティブなリソースは作成されません。
-
EKS での Amazon EMR のインタラクティブエンドポイント — インタラクティブエンドポイントは、EMR Studio ユーザーがワークスペースに接続できる HTTPS エンドポイントです。HTTPS エンドポイントには EMR Studio からのみアクセスでき、Amazon EKS クラスターの Amazon Virtual Private Cloud (Amazon VPC) のプライベートサブネットにこれを作成します。
Python、PySpark、および Spark Scala カーネルは、EKS での Amazon EMR ジョブ実行ロールで定義されたアクセス許可を使用して、他の AWS のサービスを呼び出します。インタラクティブエンドポイントに接続するすべてのカーネルとユーザーは、エンドポイントの作成時に指定したロールを使用します。ユーザーごとに別々のエンドポイントを作成し、ユーザーごとに異なる AWS Identity and Access Management (IAM) ロールを割り当てることをお勧めします。
-
AWS Application Load Balancer コントローラー — AWS Application Load Balancer コントローラーは、Amazon EKS Kubernetes クラスターの Elastic Load Balancing を管理します。コントローラーは、Kubernetes Ingress リソースを作成するときに、Application Load Balancer (ALB) をプロビジョニングします。ALB は、インタラクティブエンドポイントなどの Kubernetes サービスを Amazon EKS クラスターの外部に公開しますが、同じ Amazon VPC 内に公開します。インタラクティブエンドポイントを作成すると、インタラクティブクライアントが接続できるように ALB を使用してインタラクティブエンドポイントを公開する Ingress リソースもデプロイされます。Amazon EKS クラスターごとに 1 つの AWS Application Load Balancer コントローラーをインストールするだけで済みます。
次の図に、EKS での Amazon EMR のインタラクティブエンドポイントのアーキテクチャを示します。Amazon EKS クラスターは、分析ワークロードを実行するコンピューティングとインタラクティブエンドポイントで構成されます。Application Load Balancer コントローラーは kube-system
名前空間で実行されます。ワークロードとインタラクティブエンドポイントは、仮想クラスターの作成時に指定した名前空間で実行されます。インタラクティブエンドポイントを作成すると、EKS での Amazon EMR コントロールプレーンは Amazon EKS クラスターにインタラクティブエンドポイントデプロイを作成します。さらに、Application Load Balancer イングレスのインスタンスが AWS ロードバランサーコントローラーによって作成されます。Application Load Balancer は、EMR Studio などのクライアントが Amazon EMR クラスターに接続し、インタラクティブワークロードを実行するための外部インターフェイスを提供します。