カスタム SageMaker イメージ仕様 - Amazon SageMaker

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

カスタム SageMaker イメージ仕様

重要

2023 年 11 月 30 日現在、以前の Amazon SageMaker Studio エクスペリエンスは Amazon SageMaker Studio Classic と名付けられています。以下のセクションは、Studio Classic アプリケーションの使用に固有のものです。更新された Studio エクスペリエンスの使用については、「」を参照してくださいAmazon SageMaker Studio

以下の仕様は、イメージバージョンで SageMaker表されるコンテナイメージに適用されます。

イメージを実行する

ENTRYPOINT および CMDの手順が上書きされ、イメージを KernelGateway アプリケーションとして実行できるようになります。

イメージのポート 8888 は、 KernelGateway ウェブサーバーの実行用に予約されています。

イメージを停止する

は、 docker stop コマンドと同等のものDeleteAppAPIを発行します。コンテナ内の他のプロセスは SIGKILL/SIGTERM シグナルを取得しません。

カーネル検出

SageMaker は、Jupyter カーネル仕様 で定義されているカーネルを認識します

イメージを実行する前に、表示するカーネルのリストを指定できます。指定しない場合、python3 と表示されます。を使用してカーネルのリストDescribeAppImageConfigAPIを表示します。

デフォルトで、Conda 環境はカーネル仕様として認識されます。

ファイルシステム

/opt/.sagemakerinternal ディレクトリと /opt/ml ディレクトリは予約されています。これらのディレクトリにあるデータは、実行時には表示されない場合があります。

ユーザーデータ

イメージでは、ドメイン内の各ユーザーは共有の Amazon Elastic File System ボリュームにユーザーディレクトリを得ます。Amazon EFSボリューム上の現在のユーザーのディレクトリの場所は設定可能です。デフォルトのディレクトリは /home/sagemaker-user です。

SageMaker は、イメージとホスト間の UID/ POSIX GID マッピングを設定します。デフォルトでは、ルートユーザーの UID/GID (0/0) をホストの UID/GID にマッピングします。

これらの値は、 CreateAppImageConfig を使用して指定できますAPI。

GID/UID 制限

Amazon SageMaker Studio Classic では、次の DefaultUIDDefaultGID の組み合わせのみをサポートしています。

  • デフォルト UID: 1000 およびデフォルト GID: 100。これは、権限のないユーザーに対応します。

  • デフォルト UID: 0 およびデフォルト GID: 0。これはルートアクセスに対応します。

メタデータ

メタデータファイルは /opt/ml/metadata/resource-metadata.json にあります。イメージで定義されている変数には、その他の環境変数は追加されません。詳細については、「アプリのメタデータを取得する」を参照してください。

GPU

GPU インスタンスでは、イメージは --gpusオプションで実行されます。NVIDIA ドライバーではなく、CUDAツールキットのみをイメージに含める必要があります。詳細については、NVIDIA「 ユーザーガイド」を参照してください。

メトリクスとログ記録

KernelGateway プロセスからのログは、顧客のアカウント CloudWatch で Amazon に送信されます。ロググループの名前は /aws/sagemaker/studio です。ログストリームの名前は $domainID/$userProfileName/KernelGateway/$appName です。

イメージのサイズ

35 GB に制限されています。イメージのサイズを表示するには、docker image ls を実行します。

サンプル Dockerfile

次のサンプル Dockerfile は、Amazon Linux 2 ベースのイメージの作成、サードパーティのパッケージと python3 カーネルのインストール、権限のないユーザーへのスコープの設定を行います。

FROM public.ecr.aws/amazonlinux/amazonlinux:2 ARG NB_USER="sagemaker-user" ARG NB_UID="1000" ARG NB_GID="100" RUN \ yum install --assumeyes python3 shadow-utils && \ useradd --create-home --shell /bin/bash --gid "${NB_GID}" --uid ${NB_UID} ${NB_USER} && \ yum clean all && \ python3 -m pip install ipykernel && \ python3 -m ipykernel install USER ${NB_UID}