

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

# カスタムイメージ
<a name="code-editor-custom-images"></a>

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

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

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

## アプリケーションのヘルスチェックと URL
<a name="code-editor-custom-images-app-healthcheck"></a>
+ `Base URL` – BYOI アプリケーションのベース URL は `CodeEditor/default` である必要があります。保持できるアプリケーションは 1 つのみで、必ず `default` という名前にする必要があります。
+ ヘルスチェックエンドポイント – SageMaker AI で検出するには、Code Editor サーバーを 0.0.0.0 ポート 8888 でホストする必要があります。
+  認証 - SageMaker AI がユーザーを認証できるようにするには、`sagemaker-code-editor` を開く際に `--without-connection-token` を渡す必要があります。

**注記**  
Amazon SageMaker Distribution をベースイメージとして使用している場合、これらの要件は、含まれている `entrypoint-code-editor` スクリプトの一部として既に処理されています。

## Dockerfile サンプル
<a name="code-editor-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 micromamba Dockerfile ]

[https://mamba.readthedocs.io/en/latest/user_guide/micromamba.html](https://mamba.readthedocs.io/en/latest/user_guide/micromamba.html) ベースの環境を使用してゼロからイメージを作成するための Dockerfile の例は、以下のとおりです。

```
FROM mambaorg/micromamba:latest
ARG NB_USER="sagemaker-user"
ARG NB_UID=1000
ARG NB_GID=100

USER root

RUN micromamba install -y --name base -c conda-forge sagemaker-code-editor

USER $NB_UID

CMD eval "$(micromamba shell hook --shell=bash)"; \
    micromamba activate base; \
    sagemaker-code-editor --host 0.0.0.0 --port 8888 \
        --without-connection-token \
        --base-path "/CodeEditor/default"
```

------
#### [ Example SageMaker AI Distribution Dockerfile ]

[Amazon SageMaker AI ディストリビューション](https://github.com/aws/sagemaker-distribution/tree/main)ベースの環境を使用してイメージを作成するための 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

 # install scrapy in the base environment
RUN micromamba install -y --name base -c conda-forge scrapy

 # download VSCodeVim
RUN \
  wget https://github.com/VSCodeVim/Vim/releases/download/v1.27.2/vim-1.27.2.vsix \
  -P /tmp/exts/ --no-check-certificate

 # Install the extension
RUN \
  extensionloc=/opt/amazon/sagemaker/sagemaker-code-editor-server-data/extensions \
  && sagemaker-code-editor \
    --install-extension "/tmp/exts/vim-1.27.2.vsix" \
    --extensions-dir "${extensionloc}"

USER $MAMBA_USER
ENTRYPOINT ["entrypoint-code-editor"]
```

------