# カスタム環境の作成

> カスタム環境の作成 - カスタムモデルがDataRobotの組み込み環境に含まれていないものを必要とする場合、カスタム環境を構築します。

This Markdown file sits beside the HTML page at the same path (with a `.md` suffix). It summarizes the topic and lists links for tools and LLM context.

Companion generated at `2026-07-27T18:44:30.771103+00:00` (UTC).

## Primary page

- [カスタム環境の作成](https://docs.datarobot.com/ja/docs/workbench/nxt-registry/nxt-environment-workshop/nxt-create-custom-env.html.md): Full documentation for this topic (Markdown sidecar).

## Sections on this page

- [カスタムモデル環境のガイドライン](https://docs.datarobot.com/ja/docs/workbench/nxt-registry/nxt-environment-workshop/nxt-create-custom-env.html.md#custom-model-environment-guidelines): In-page section heading.
- [カスタムモデルの環境変数](https://docs.datarobot.com/ja/docs/workbench/nxt-registry/nxt-environment-workshop/nxt-create-custom-env.html.md#custom-model-environment-variables): In-page section heading.
- [環境の作成](https://docs.datarobot.com/ja/docs/workbench/nxt-registry/nxt-environment-workshop/nxt-create-custom-env.html.md#create-the-environment): In-page section heading.
- [Linuxパッケージの追加](https://docs.datarobot.com/ja/docs/workbench/nxt-registry/nxt-environment-workshop/nxt-create-custom-env.html.md#add-linux-packages): In-page section heading.
- [Python/Rパッケージの追加](https://docs.datarobot.com/ja/docs/workbench/nxt-registry/nxt-environment-workshop/nxt-create-custom-env.html.md#add-python-r-packages): In-page section heading.
- [ローカルで環境をテストする](https://docs.datarobot.com/ja/docs/workbench/nxt-registry/nxt-environment-workshop/nxt-create-custom-env.html.md#test-the-environment-locally): In-page section heading.

## Documentation content

DataRobotにアップロードされたカスタムモデル、ジョブ、アプリケーション、ノートブックは、Kubernetesで実行されるDockerコンテナの環境内で実行されます。 つまり、DataRobotは、カスタムタスクを定義するアップロードされたファイルをコンテナにコピーします。 DataRobotにはさまざまなビルトイン環境が用意されているので、ほとんどの場合、カスタム環境を追加する必要はありません。 カスタムモデルのカスタム環境の作成の詳細については、以下のガイドラインを参照してください。

## カスタムモデル環境のガイドライン

PythonやRのパッケージは、コードを含む `requirements.txt` ファイルをアップロードすることで、これらの環境に簡単に追加できます。 カスタム環境は、カスタムモデルが以下の場合にのみ必要です。

- 追加のLinuxパッケージが必要な状況。
- 別のオペレーティングシステムが必要な状況。
- Python、R、Java以外の言語を使用する状況。

このドキュメントでは、これらのケースでカスタム環境を構築する方法について説明します。 カスタム環境をローカルで構築してテストするには、Docker Desktopと [DataRobot User Models (DRUM) CLIツール](https://docs.datarobot.com/ja/docs/api/code-first-tools/drum/custom-model-drum.html.md) の両方をマシンにインストールします。

> [!NOTE] 備考
> 環境テンプレートを使用することをお勧めします。特定のユースケースを除き、独自の環境を構築することは推奨されません。 （DRUMを使用せず、独自の予測サーバーを実装する場合など）

テンプレート環境でサポートされていないツール、言語、またはフレームワークを使用する場合は、独自に作成できます。 DataRobotでは、提供された環境を必要に応じて変更することをお勧めします。ただし、使いやすく再利用可能な環境を作成するには、次のガイドラインに従う必要があります。

- 環境には、必要な要件をインストールするDockerfileが含まれている必要があります。
- カスタムモデルには、予測を行うための単純なウェブサーバーが必要です。 DataRobotでは、複数のモデルで再利用できるように、これを環境内に置くことをお勧めします。 ウェブサーバーはポート8080でリッスンし、次のルートを実装する必要があります。 URL prefix環境変数URL_PREFIXはランタイムで使用可能な環境変数です。 以下のルートに追加する必要があります。 必須エンドポイント説明GET /URL_PREFIX/このルートは、モデルのサーバーが実行されているかどうかを確認するために使用されます。POST /URL_PREFIX/predict/このルートは予測の作成に使用されます。 オプションの拡張エンドポイント説明GET /URL_PREFIX/stats/このルートは、DataRobotカスタムモデルテストのメモリー使用量データを取得するために使用されます。GET /URL_PREFIX/health/このルートは、モデルがロードされ、正常に機能するかどうかを確認するために使用されます。 モデルの読み込みに失敗した場合、513レスポンスコードを含むエラーが返されます。 このケースを処理しないと、バックエンドk8sコンテナがクラッシュし、数分間の再起動ループに入ることがあります。
- モデルサーバーを起動するには、実行可能なstart_server.shファイルが必要です。
- すべてのコードおよびstart_server.shは、Dockerfileによって/opt/code/にコピーする必要があります。

> [!NOTE] 備考
> 完全なAPI仕様の詳細については、 [DRUMサーバーAPIyamlファイル](https://github.com/datarobot/datarobot-user-models/blob/master/custom_model_runner/drum_server_api.yaml) を参照してください。

### カスタムモデルの環境変数

DRUMでカスタム環境を構築する場合、カスタムモデルコードは、 [DataRobotクライアント](https://pypi.org/project/datarobot/) と [MLOps Connected Client](https://pypi.org/project/datarobot-mlops-connected-client/) へのアクセスを容易にするために挿入された複数の環境変数を参照できます。

| 環境変数 | 説明 |
| --- | --- |
| MLOPS_DEPLOYMENT_ID | カスタムモデルがデプロイモードで実行されている場合（カスタムモデルがデプロイされている場合）、デプロイIDを使用できます。 |
| DATAROBOT_ENDPOINT | カスタムモデルに パブリックネットワークアクセスがある場合、DataRobotエンドポイントURLを使用できます。 |
| DATAROBOT_API_TOKEN | カスタムモデルに パブリックネットワークアクセスがある場合、DataRobot APIトークンを使用できます。 |

### 環境の作成

DRUMのインストールが完了したら、 [GitHub](https://github.com/datarobot/datarobot-user-models/tree/master/public_dropin_environments) にある例の1つをコピーして環境作成を開始します。 このリンクをクリックする前にGitHubにログインしてください。 以下を確認してください。

- 環境コードは単一のフォルダーに保存されます。
- env_info.jsonファイルを削除します。

### Linuxパッケージの追加

Linuxパッケージを環境に追加するには、 `dockerfile` の先頭、 `FROM datarobot…` 行の直後にコードを追加します。 Ubuntuベース用の `dockerfile` 構文を使用します。 たとえば、次のコマンドはDataRobotにどのベースを使用するかを指示し、そしてDockerイメージ内にパッケージ `foo` 、 `boo` 、 `moo` をインストールするよう指示します。

```
FROM datarobot/python3-dropin-env-base
RUN apt-get update --fix-missing && apt-get install foo boo moo 
```

### Python/Rパッケージの追加

場合によっては、Python/Rのパッケージを環境に含めたい場合があります。 その場合は、以下の点に注意してください。

- インストールするパッケージをrequirements.txtに表示します。 Rパッケージの場合、バージョンはリストに含めません。
- PythonとRのパッケージを同じrequirements.txtファイルに混在させないでください。 その代わり、複数のファイルを作成し、dockerfileを調整して、DataRobotがそれらを見つけて使用できるようにします。

### ローカルで環境をテストする

次の例では、DockerツールとDRUMを使って環境をすばやくテストする方法を示しています。 カスタムタスクをカスタム環境と一緒にテストするには、タスクの内容が保存されているローカルフォルダーに移動します。 以下を実行し、 `< >` ブラケットの中のプレースホルダー名を実際の名前に置き換えてください。

```
``` sh
drum fit --code-dir <path_to_task_content> --docker <path_to_a_folder_with_environment_code> --input <path_to_test_data.csv> --target-type <target_type> --target <target_column_name> --verbose 
```
```
