インタラクティブエンドポイントを含むカスタムカーネルイメージ - Amazon EMR

インタラクティブエンドポイントを含むカスタムカーネルイメージ

Amazon EMR Studio からインタラクティブワークロードを実行するときにアプリケーションに適切な依存関係があることを確認するには、インタラクティブエンドポイントの Docker イメージをカスタマイズし、カスタマイズされたベースカーネルイメージを実行します。インタラクティブエンドポイントを作成してカスタム Docker イメージに接続するには、以下の手順を実行します。

注記

上書きできるのはベースイメージだけです。新しいカーネルイメージタイプを追加することはできません。

  1. カスタマイズした Docker イメージを作成して公開します。ベースイメージには、Spark ランタイムと、Spark ランタイムで実行されるノートブックのカーネルが含まれています。イメージを作成するには、Docker イメージをカスタマイズする方法 のステップ 1~4 に従います。ステップ 1 では、Docker ファイル内のベースイメージ URI で、notebook-sparkspark の代わりに使用する必要があります。

    ECR-registry-account.dkr.ecr.Region.amazonaws.com/notebook-spark/container-image-tag

    AWS リージョンとコンテナイメージタグの選択について詳しくは、「ベースイメージ URI の選択の詳細」を参照してください。

  2. カスタムイメージで使用できるインタラクティブエンドポイントを作成します。

    1. 次の内容を含む JSON ファイル custom-image-managed-endpoint.json を作成します。この例では、Amazon EMR リリース 6.9.0 を使用します。

      { "name": "endpoint-name", "virtualClusterId": "virtual-cluster-id", "type": "JUPYTER_ENTERPRISE_GATEWAY", "releaseLabel": "emr-6.9.0-latest", "executionRoleArn": "execution-role-arn", "configurationOverrides": { "applicationConfiguration": [ { "classification": "jupyter-kernel-overrides", "configurations": [ { "classification": "python3", "properties": { "container-image": "123456789012.dkr.ecr.us-west-2.amazonaws.com/custom-notebook-python:latest" } }, { "classification": "spark-python-kubernetes", "properties": { "container-image": "123456789012.dkr.ecr.us-west-2.amazonaws.com/custom-notebook-spark:latest" } } ] } ] } }
    2. 次の例で示すように、JSON ファイルで指定された設定を使用してインタラクティブエンドポイントを作成します。詳細については、「create-managed-endpoint コマンドでインタラクティブエンドポイントを作成する」を参照してください。

      aws emr-containers create-managed-endpoint --cli-input-json custom-image-managed-endpoint.json
  3. EMR Studio 経由でインタラクティブエンドポイントに接続します。詳細と手順については、AWS Workshop Studio ドキュメントの「EKS での Amazon EMR」セクションにある「Connecting from Studio」を参照してください。