Amazon SageMaker Studio Classic でのカスタム SageMaker イメージの仕様 - Amazon SageMaker AI

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

Amazon SageMaker Studio Classic でのカスタム SageMaker イメージの仕様

重要

2023 年 11 月 30 日以降、従来の Amazon SageMaker Studio のエクスペリエンスは Amazon SageMaker Studio Classic と名前が変更されました。以下のセクションは、Studio Classic アプリケーションの使用を前提とした内容です。更新後の Studio エクスペリエンスを使用する場合は、「Amazon SageMaker Studio」を参照してください。

Studio Classic は既存のワークロードでも維持されていますが、オンボーディングに利用できなくなりました。既存の Studio Classic アプリケーションのみを停止または削除でき、新しいアプリケーションを作成することはできません。ワークロードを新しい Studio エクスペリエンスに移行することをお勧めします。

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

イメージを実行する

イメージを KernelGateway アプリとして実行できるよう、ENTRYPOINT 命令と CMD 命令が上書きされます。

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

イメージを停止する

DeleteApp API は docker stop コマンドに相当するコマンドを発行します。コンテナ内の他のプロセスは SIGKILL/SIGTERM シグナルを受信しません。

カーネル検出

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

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

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

ファイルシステム

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

ユーザーデータ

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

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

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

GID/UID の制限

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

  • DefaultUID: 1000 と DefaultGID: 100 (権限のないユーザーに対応)

  • DefaultUID: 0 と DefaultGID: 0 (ルートアクセスに対応)

メタデータ

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

GPU

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

メトリクスとログ記録

KernelGateway プロセスのログは、お客様のアカウントの Amazon CloudWatch に送信されます。ロググループの名前は /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 && \ jupyter-activity-monitor-extension \ python3 -m pip install ipykernel && \ python3 -m ipykernel install USER ${NB_UID}