インタラクティブエンドポイントの Docker イメージをカスタマイズする
カスタマイズされたベースカーネルイメージを実行できるように、インタラクティブエンドポイント用の Docker イメージをカスタマイズすることもできます。これは、EMR Studio からインタラクティブワークロードを実行するときに必要な依存関係を確実に確保するのに役立ちます。
-
上記のステップ 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 が提供するもの以外の種類のまったく新しいカーネルの導入はサポートされていません。
-
カスタムイメージで使用できるインタラクティブエンドポイントを作成します。
まず、以下の内容で
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」を参照してください。
-
EMR Studio 経由でインタラクティブエンドポイントに接続します。詳細については、Connecting from Studio
を参照してください。