

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

# Amazon SageMaker Studio Classic でのカスタム SageMaker イメージの仕様
<a name="studio-byoi-specs"></a>

**重要**  
2023 年 11 月 30 日以降、従来の Amazon SageMaker Studio のエクスペリエンスは Amazon SageMaker Studio Classic と名前が変更されました。以下のセクションは、Studio Classic アプリケーションの使用を前提とした内容です。更新後の Studio エクスペリエンスを使用する場合は、「[Amazon SageMaker Studio](studio-updated.md)」を参照してください。  
Studio Classic は既存のワークロードでも維持されていますが、オンボーディングに利用できなくなりました。既存の Studio Classic アプリケーションのみを停止または削除でき、新しいアプリケーションを作成することはできません。[ワークロードを新しい Studio エクスペリエンスに移行](studio-updated-migrate.md)することをお勧めします。

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

**イメージを実行する**  
イメージを KernelGateway アプリとして実行できるよう、`ENTRYPOINT` 命令と `CMD` 命令が上書きされます。  
イメージのポート 8888 は、KernelGateway ウェブサーバーの実行のために予約されています。

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

**カーネル検出**  
SageMaker AI は、Jupyter の[カーネル仕様](https://jupyter-client.readthedocs.io/en/latest/kernels.html#kernelspecs)で定義されているカーネルを認識します。  
イメージを実行する前に、表示するカーネルのリストを指定できます。指定しない場合、python3 と表示されます。[DescribeAppImageConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAppImageConfig.html) 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](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAppImageConfig.html) API を使って指定できます。

**GID/UID の制限**  
Amazon SageMaker Studio Classic は、次の `DefaultUID` と `DefaultGID` の組み合わせのみをサポートしています。  
+  DefaultUID: 1000 と DefaultGID: 100 (権限のないユーザーに対応)
+  DefaultUID: 0 と DefaultGID: 0 (ルートアクセスに対応)

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

**GPU**  
GPU インスタンスでは、イメージは `--gpus` オプションを付けて実行されます。イメージには NVIDIA ドライバーを含めず、CUDA ツールキットのみを含めます。詳細については、「[NVIDIA ユーザーガイド](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/user-guide.html)」を参照してください。

**メトリクスとログ記録**  
KernelGateway プロセスのログは、お客様のアカウントの Amazon CloudWatch に送信されます。ロググループの名前は `/aws/sagemaker/studio` です。ログストリームの名前は `$domainID/$userProfileName/KernelGateway/$appName` です。

**イメージのサイズ**  
35 GB の制限があります。イメージのサイズを表示するには、`docker image ls` を実行します。  


## サンプル Dockerfile
<a name="studio-byoi-specs-sample"></a>

次のサンプル 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}
```