インタラクティブエンドポイントの Docker イメージをカスタマイズする - Amazon EMR

インタラクティブエンドポイントの Docker イメージをカスタマイズする

カスタマイズされたベースカーネルイメージを実行できるように、インタラクティブエンドポイント用の Docker イメージをカスタマイズすることもできます。これは、EMR Studio からインタラクティブワークロードを実行するときに必要な依存関係を確実に確保するのに役立ちます。

  1. 上記のステップ 1〜4 に従って、Docker イメージをカスタマイズします。Amazon EMR 6.9.0 リリース以降では、Amazon ECR Public Gallery からベースイメージ URI を取得できます。Amazon EMR 6.9.0 より前のリリースでは、それぞれの AWS リージョンの Amazon ECR レジストリアカウントでイメージを取得できますが、唯一の違いは Dockerfile 内のベースイメージ URI です。ベースイメージ URI は次の形式に従います。

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

    spark の代わりに、ベースイメージ URI で notebook-spark を使用する必要があります。ベースイメージには、Spark ランタイムと、Spark ランタイムで実行されるノートブックのカーネルが含まれています。リージョンとコンテナイメージタグの選択について詳しくは、ベースイメージ URI の選択の詳細 を参照してください。

    注記

    現在のところ、ベースイメージのオーバーライドのみがサポートされており、ベースイメージ AWS が提供するもの以外の種類のまったく新しいカーネルの導入はサポートされていません。

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

    まず、以下の内容で custom-image-managed-endpoint.json という JSON ファイルを作成します。

    { "name": "endpoint-name", "virtualClusterId": "virtual-cluster-id", "type": "JUPYTER_ENTERPRISE_GATEWAY", "releaseLabel": "emr-6.6.0-latest", "executionRoleArn": "execution-role-arn", "certificateArn": "certificate-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" } } ] } ] } }

    次に、次の例で示すように、JSON ファイルで指定された設定を使用してインタラクティブエンドポイントを作成します。

    aws emr-containers create-managed-endpoint --cli-input-json custom-image-managed-endpoint.json

    詳細については、「Create an interactive endpoint for your virtual cluster」を参照してください。

  3. EMR Studio 経由でインタラクティブエンドポイントに接続します。詳細については、Connecting from Studio を参照してください。