

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

# カスタムイメージ
<a name="studio-updated-jl-admin-guide-custom-images"></a>

SageMaker Distribution が提供する機能とは異なる機能が必要な場合は、カスタムの拡張機能とパッケージを使用した独自のイメージを持ち込むことができます。これを使用して、独自のブランドやコンプライアンスのニーズに合わせて JupyterLab UI をパーソナライズすることもできます。

次のページでは、独自のカスタム SageMaker AI イメージを作成するための JupyterLab 固有の情報とテンプレートを説明します。これは、独自の Amazon SageMaker Studio の情報と、独自の SageMaker AI イメージを作成して Studio に取り込む (BYOI) 手順を補足することを目的としています。カスタム Amazon SageMaker AI イメージと Studio に独自のイメージを取り込む (BYOI) 方法については、「[Bring your own image (BYOI)](studio-updated-byoi.md)」を参照してください。

**Topics**
+ [アプリケーションのヘルスチェックと URL](#studio-updated-jl-admin-guide-custom-images-app-healthcheck)
+ [Dockerfile サンプル](#studio-updated-jl-custom-images-dockerfile-templates)

## アプリケーションのヘルスチェックと URL
<a name="studio-updated-jl-admin-guide-custom-images-app-healthcheck"></a>
+ `Base URL` – BYOI アプリケーションのベース URL は `jupyterlab/default` である必要があります。保持できるアプリケーションは 1 つのみで、必ず `default` という名前にする必要があります。
+ `HealthCheck API` – SageMaker AI は、ポート `8888` のヘルスチェックエンドポイントを使用して、JupyterLab アプリケーションのヘルスをチェックします。ヘルスチェックのエンドポイントは、`jupyterlab/default/api/status` です。
+ `Home/Default URL` – が使用する `/opt/.sagemakerinternal`および `/opt/ml` ディレクトリ AWS。`/opt/ml` のメタデータファイルには、`DomainId` などのリソースに関するメタデータが含まれています。
+ 認証 - ユーザーの認証を有効にするには、Jupyter Notebook トークンまたはパスワードベースの認証をオフにし、すべてのオリジンを許可します。

## Dockerfile サンプル
<a name="studio-updated-jl-custom-images-dockerfile-templates"></a>

以下の例は、上記の情報と[カスタムイメージの仕様](studio-updated-byoi-specs.md)を満たす `Dockerfile` です。

**注記**  
独自のイメージを SageMaker Unified Studio に取り込む (BYOI) 場合は、「*Amazon SageMaker Unified Studio ユーザーガイド*」の「[Dockerfile 仕様](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/byoi-specifications.html)」に従う必要があります。  
SageMaker Unified Studio の `Dockerfile` の例については、「*Amazon SageMaker Unified Studio ユーザーガイド*」の「[Dockerfile の例](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/byoi-specifications.html#byoi-specifications-example)」を参照してください。

------
#### [ Example AL2023 Dockerfile ]

以下の例は、上記の情報と[カスタムイメージの仕様](studio-updated-byoi-specs.md)を満たす AL2023 Dockerfile の例です。

```
FROM public.ecr.aws/amazonlinux/amazonlinux:2023

ARG NB_USER="sagemaker-user"
ARG NB_UID=1000
ARG NB_GID=100

# Install Python3, pip, and other dependencies
RUN yum install -y \
    python3 \
    python3-pip \
    python3-devel \
    gcc \
    shadow-utils && \
    useradd --create-home --shell /bin/bash --gid "${NB_GID}" --uid ${NB_UID} ${NB_USER} && \
    yum clean all

RUN python3 -m pip install --no-cache-dir \
    'jupyterlab>=4.0.0,<5.0.0' \
    urllib3 \
    jupyter-activity-monitor-extension \
    --ignore-installed

# Verify versions
RUN python3 --version && \
    jupyter lab --version

USER ${NB_UID}
CMD jupyter lab --ip 0.0.0.0 --port 8888 \
    --ServerApp.base_url="/jupyterlab/default" \
    --ServerApp.token='' \
    --ServerApp.allow_origin='*'
```

------
#### [ Example Amazon SageMaker のディストリビューション Dockerfile ]

以下の例は、上記の情報と[カスタムイメージの仕様](studio-updated-byoi-specs.md)を満たす Amazon SageMaker Distribution Dockerfile です。

```
FROM public.ecr.aws/sagemaker/sagemaker-distribution:latest-cpu
ARG NB_USER="sagemaker-user"
ARG NB_UID=1000
ARG NB_GID=100

ENV MAMBA_USER=$NB_USER

USER root

RUN apt-get update
RUN micromamba install sagemaker-inference --freeze-installed --yes --channel conda-forge --name base

USER $MAMBA_USER

ENTRYPOINT ["entrypoint-jupyter-server"]
```

------