インタラクティブエンドポイントの概要 - Amazon EMR

インタラクティブエンドポイントの概要

インタラクティブエンドポイントは、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 クラスターに接続し、インタラクティブワークロードを実行するための外部インターフェイスを提供します。

インタラクティブエンドポイントのアーキテクチャ図