

# カスタマイズ
<a name="customization"></a>

## ライフサイクル設定
<a name="lifecycle-configuration"></a>

 ライフサイクル設定は、新しい SageMaker AI Studio ノートブックの開始など、SageMaker AI Studio ライフサイクルイベントによって開始されるシェルスクリプトです。これらのシェルスクリプトを使用して、カスタムパッケージのインストール、Jupyter 拡張機能による非アクティブなノートブックアプリの自動シャットダウン、Git 設定のセットアップなど、SageMaker AI Studio 環境のカスタマイズを自動化できます。ライフサイクル設定の構築方法の詳細な手順については、こちらのブログ「[ライフサイクル設定を使用して Amazon SageMaker AI Studio をカスタマイズする](https://aws.amazon.com/blogs/machine-learning/customize-amazon-sagemaker-studio-using-lifecycle-configurations/)」を参照してください。

## SageMaker AI Studio ノートブックのカスタムイメージ
<a name="custom-images-for-sagemaker-studio-notebooks"></a>

 Studio ノートブックには、[Amazon SageMaker AI Python SDK](https://sagemaker.readthedocs.io/en/stable/) および最新バージョンの IPython ランタイムまたはカーネルで構成される構築済みイメージのセットが付属しています。この機能を使用すると、独自のカスタムイメージを Amazon SageMaker AI ノートブックに持ち込むことができます。これにより、これらのイメージは、ドメイン内に認証されたすべてのユーザーが利用できるようになります。

 デベロッパーやデータサイエンティストは、以下のようないくつかの異なるユースケースでカスタムイメージが必要になる場合があります。
+  TensorFlow、MXNet、PyTorch などの一般的な ML フレームワークの特定バージョンまたは最新バージョンにアクセスします。
+  ローカルで開発されたカスタムコードやアルゴリズムを SageMaker AI Studio ノートブックに持ち込んで、イテレーションやモデルトレーニングを迅速化します。
+  API を介してデータレイクやオンプレミスのデータストアにアクセスします。管理者は、対応するドライバーをイメージに含める必要があります。
+  IPython 以外の、カーネルと呼ばれるバックエンドランタイム (R、Julia、[その他](https://github.com/aws-samples/sagemaker-studio-custom-image-samples)) にアクセスします。また、説明されている方法を使用してカスタムカーネルをインストールすることもできます。

 カスタムイメージの作成方法の詳細な手順については、「[SageMaker AI のカスタムイメージの作成](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-byoi-create.html)」を参照してください。

## JupyterLab 拡張機能
<a name="jupyterlab-extensions"></a>

 SageMaker AI Studio JuypterLab 3 ノートブックを使用すると、増え続けるオープンソースの JupyterLab 拡張機能のコミュニティを活用できます。このセクションでは、SageMaker AI のデベロッパーワークフローに該当する数例を取り上げますが、[すべての利用可能な拡張機能を参照](https://jupyterlab.readthedocs.io/en/stable/user/extensions.html#installing-an-extension)するか、さらには[自分で作成](https://jupyterlab.readthedocs.io/en/stable/extension/extension_tutorial.html)することをお勧めします。

 JupyterLab 3 では、[拡張機能のパッケージ化とインストールのプロセス](https://jupyterlab.readthedocs.io/en/stable/user/extensions.html#installing-extensions)が大幅に簡易化されました。前述の拡張機能は、bash スクリプトを使用してインストールできます。例えば、SageMaker AI Studio で、[Studio ランチャーからシステムターミナルを開いて](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-launcher.html)、次のコマンドを実行します。さらに、[ライフサイクル設定](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-lcc.html)を使用して、これらの拡張機能のインストールを自動化し、Studio を再起動しても設定が保持されるようにすることができます。これは、ドメイン内のすべてのユーザーに対して設定することも、個々のユーザーレベルで設定することもできます。

 例えば、Amazon S3 ファイルブラウザ用の拡張機能をインストールするには、システムターミナルで次のコマンドを実行し、ブラウザを必ず更新します。

```
conda init
conda activate studio
pip install jupyterlab_s3_browser
jupyter serverextension enable --py jupyterlab_s3_browser
conda deactivate
restart-jupyter-server
```

 JupyterLab ノートブックのバージョン 1 と 3 の両方で動作するライフサイクル設定を記述して下位互換性を維持する方法など、拡張機能の管理の詳細については、「[JupyterLab および Jupyter Server 拡張機能のインストール](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-jl.html#studio-jl-install)」を参照してください。



## Git リポジトリ
<a name="git-repositories"></a>

SageMaker AI Studio には Jupyter Git 拡張機能がプリインストールされており、ユーザーは Git リポジトリのカスタム URL の入力、EFS ディレクトリへのクローン作成、変更のプッシュ、コミット履歴の表示を行うことができます。管理者は、推奨される git リポジトリをドメインレベルで設定し、エンドユーザーがドロップダウンで選択できるようにすることができます。最新の手順については、「[推奨される Git リポジトリを Studio にアタッチする](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-git-attach.html)」を参照してください。

リポジトリがプライベートの場合、拡張機能は、標準の git インストールを使用して認証情報をターミナルに入力するようユーザーに求めます。また、ユーザーは個々の EFS ディレクトリに ssh 認証情報を保存して、管理を容易にすることもできます。

## Conda 環境
<a name="conda-environments"></a>

SageMaker AI Studio ノートブックは Amazon EFS を永続的なストレージレイヤーとして使用します。データサイエンティストは、永続的なストレージを利用してカスタム Conda 環境を作成し、これらの環境を使用してカーネルを作成できます。これらのカーネルは、EFS に支えられており、カーネル、アプリ、または Studio の再起動間で保持されます。Studio は、すべての有効な環境を KernelGateway カーネルとして自動的に選択します。

Conda 環境を作成するプロセスは、データサイエンティストには簡単ですが、カーネルがカーネルセレクターに設定されるまでに約 1 分かかります。環境を作成するには、システムターミナルで次のコマンドを実行します。

```
mkdir -p ~/.conda/envs
conda create --yes -p ~/.conda/envs/custom
conda activate ~/.conda/envs/custom
conda install -y ipykernel
conda config --add envs_dirs ~/.conda/envs
```

詳細な手順については、「[Amazon SageMaker Studio ノートブックで Python パッケージを管理する 4 つのアプローチ](https://aws.amazon.com/blogs/machine-learning/four-approaches-to-manage-python-packages-in-amazon-sagemaker-studio-notebooks/)」の「Conda 環境を Studio の EFS ボリュームに永続化する」セクションを参照してください。**