# AWS SageMakerでのスコアリングコードの使用

> AWS SageMakerでのスコアリングコードの使用 - SageMakerでスコアリングコードモデルを使用します。

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-15T05:55:44.912340+00:00` (UTC).

## Primary page

- [AWS SageMakerでのスコアリングコードの使用](https://docs.datarobot.com/ja/docs/classic-ui/integrations/aws/sagemaker/sc-sagemaker.html.md): Full documentation for this topic (Markdown sidecar).

## Sections on this page

- [スコアリングコードをダウンロードする](https://docs.datarobot.com/ja/docs/classic-ui/integrations/aws/sagemaker/sc-sagemaker.html.md#download-scoring-code): In-page section heading.
- [スコアリングコードのAWS S3バケットへのアップロード](https://docs.datarobot.com/ja/docs/classic-ui/integrations/aws/sagemaker/sc-sagemaker.html.md#upload-scoring-code-to-an-aws-s3-bucket): In-page section heading.
- [Amazon ECRにDockerイメージを公開](https://docs.datarobot.com/ja/docs/classic-ui/integrations/aws/sagemaker/sc-sagemaker.html.md#publish-a-docker-image-to-amazon-ecr): In-page section heading.
- [モデルを作成](https://docs.datarobot.com/ja/docs/classic-ui/integrations/aws/sagemaker/sc-sagemaker.html.md#create-the-model): In-page section heading.
- [エンドポイント設定を作成](https://docs.datarobot.com/ja/docs/classic-ui/integrations/aws/sagemaker/sc-sagemaker.html.md#create-an-endpoint-configuration): In-page section heading.
- [予測の作成](https://docs.datarobot.com/ja/docs/classic-ui/integrations/aws/sagemaker/sc-sagemaker.html.md#make-predictions): In-page section heading.
- [注意事項](https://docs.datarobot.com/ja/docs/classic-ui/integrations/aws/sagemaker/sc-sagemaker.html.md#_1): In-page section heading.

## Documentation content

このトピックでは、AWS SageMakerにデプロイされたDataRobotのスコアリングコードを使用して、予測を行う方法について説明します。 スコアリングコードを使用すると、機械学習モデルをJARファイルとしてダウンロードし、選択した環境にデプロイできます。

AWS SageMakerを使用すると、機械学習モデルを取り込んでAPIエンドポイントとして公開できます。また、DataRobotはJavaおよびPythonでモデルをエクスポートできます。 エクスポートしたら、モデルをAWS SageMakerにデプロイできます。 この例では、Java JARファイルを指定するDataRobotスコアリングコードエクスポートに焦点を当てています。

インポートするモデルが [スコアリングコード](https://docs.datarobot.com/ja/docs/classic-ui/predictions/port-pred/scoring-code/index.html.md) をサポートしていることを確認します。 スコアリングコードのエクスポートをサポートしているモデルは、「スコアリングコード」アイコンで示されます。

**AWS SageMakerにデプロイする理由**

DataRobotでは、プラットフォームに完全に統合されたスケーラブルな予測サーバーを提供しますが、代わりにAWS SageMaker上でのデプロイを行う理由があります。

- 会社の方針またはガバナンス上の判断。
- DataRobotモデルの上にカスタム機能の設定。
- API呼び出しのオーバーヘッドなしでの低レイテンシースコアリング。 一般的に、Javaコードの実行はPython APIを介したスコアリングよりも高速です。
- DataRobot APIと通信できないシステムにモデルを統合する機能。

## スコアリングコードをダウンロードする

DataRobotのモデルをAWS SageMakerにデプロイするには、まずモデル（DataRobotが提供するスコアリングコードJARファイル）を含むTAR.GZアーカイブを作成します。 JARファイルは [リーダーボード](https://docs.datarobot.com/ja/docs/classic-ui/predictions/port-pred/scoring-code/sc-download-leaderboard.html.md) または [デプロイ](https://docs.datarobot.com/ja/docs/classic-ui/predictions/port-pred/scoring-code/sc-download-deployment.html.md) からダウンロードできます。

> [!NOTE] 備考
> DataRobotのライセンスによっては、 デプロイ ページからのみコードが利用できる場合があります。

## スコアリングコードのAWS S3バケットへのアップロード

スコアリングコードJARファイルをダウンロードしたら、Codegen JARファイルをAWS S3バケットにアップロードして、SageMakerがアクセスできるようにする必要があります。

SageMakerはアーカイブ（ `tar.gz` 形式）でS3バケットにアップロードされることを想定しています。 以下のコマンドのいずれかを使用して、モデルを `tar.gz` アーカイブとして圧縮します。

**Linux:**
```
tar -czvf 5e8471fa169e846a096d5137.jar.tar.gz 5e8471fa169e846a096d5137.jar 
```

**MacOS:**
MacOSでは、デプロイ時に問題を引き起こす可能性のある隠しファイルを `tar.gz` パッケージに追加しています。 これらの問題を防ぐには、次のコマンドを使用します。

```
COPYFILE\_DISABLE=1 tar -czvf 5e8471fa169e846a096d5137.jar.tar.gz 5e8471fa169e846a096d5137.jar 
```


`tar.gz` アーカイブを作成したら、S3にアップロードします。

1. Amazon S3コンソールを開きます。
2. アップロードをクリックし、tar.gzアーカイブをS3バケットに送信します。

## Amazon ECRにDockerイメージを公開

次に、推論コードを含むDockerイメージをAmazon ECRに公開します。 この例では、次のコマンドでDataRobot指定のDockerイメージをダウンロードできます。

```
docker pull datarobotdev/scoring-inference-code-sagemaker:latest 
```

Amazon ECRにイメージを公開するには：

1. イメージのプッシュ先のAmazon ECRレジストリに対して、Dockerクライアントを認証します。 使用するレジストリごとに認証トークンを取得する必要があり、トークンは12時間有効です。ここにリストされているさまざまな認証オプションについては、Amazonのドキュメントを参照してください。
2. トークンベースの認証を使用します。 TOKEN=$(aws ecr get-authorization-token --output text --query 'authorizationData[].authorizationToken') curl -i -H "Authorization: Basic $TOKEN" <https://xxxxxxx.dkr.ecr.us-east-1.amazonaws.com/v2/sagemakertest/tags/list>
3. 次に、イメージをプッシュできるAmazon ECRレジストリを作成します。 aws ecr create-repository --repository-name sagemakerdemo このコマンドを使用すると、以下に示す出力結果が返されます。

AWSマネジメントコンソールからリポジトリを作成することもできます。

1. ECRサービス > リポジトリを作成に移動し、リポジトリ名を指定します。
2. プッシュするイメージを特定します。 dockerイメージコマンドを実行して、システム上のイメージを一覧表示します。
3. イメージにタグを付けてAWS ECRにプッシュします。
4. プレースホルダーxxxxxxxxは、DataRobot提供のDockerイメージのイメージIDを示します。このイメージには、Docker Hubからダウンロードした推論コード(scoring-inference-code-sagemaker:latest)が含まれています。
5. Amazon ECRレジストリ、リポジトリ、および使用するオプションのイメージタグ名の組み合わせを使用して、イメージにタグを付けます。 レジストリの形式は*aws_account_id.dkr.ecr.region.amazonaws.com*です。 リポジトリ名は、イメージ用に作成したリポジトリと一致する必要があります。 イメージタグを省略すると、DataRobotはタグが最新であると想定します。 docker tag xxxxxxxx "${account}.dkr.ecr.${region}.amazonaws.com/sagemakerdemo"
6. イメージをプッシュします。 docker push ${account}.dkr.ecr.${region}.amazonaws.com/sagemakermlopsdockerized

プッシュされたら、AWSマネジメントコンソールからイメージを検証できます。

## モデルを作成

1. AWSにサインインして、検索バーにSageMakerと入力します。 最初の結果、Amazon SageMakerを選択すると、SageMakerのコンソールに入り、モデルを作成することができます。
2. アカウントに既存の役割がない場合、IAMの役割のフィールドで、ドロップダウンからCreate a new role（新しい役割の作成）を選択します。 このオプションを選択すると、必要な権限のある役割が作成され、現在のユーザーのインスタンスに割り当てられます。
3. Container input optionsフィールド（1）でProvide model artifacts and inference image location（モデルアーティファクトおよび推論イメージの場所を指定）を選択します。 S3バケット内のスコアリングコードイメージ（モデル）の場所（2）および推論コードを含むDockerイメージのレジストリパス（3）を指定します。
4. 完了したら、フィールドの下にあるAdd container（コンテナを追加）をクリックします。 モデル設定は次の例と一致する必要があります。

## エンドポイント設定を作成

予測用のエンドポイントを設定するには：

1. 左側のダッシュボードを開き、Endpoint configurations（エンドポイント設定）ページに移動して、新しいエンドポイント設定を作成します。 アップロードされたモデルを選択します。
2. Endpoint configuration name(1)を入力し、必要に応じてEncryption key(2)を指定します。 完了したら、ページの下部にあるCreate endpoint configuration（エンドポイント設定を作成）を選択します。
3. ダッシュボードを使用してEndpoints（エンドポイント）に移動し、新しいエンドポイントを作成します。 エンドポイントに名前を付け(1)、既存のエンドポイント設定を使用(2）を選択します。 上記の手順で作成した設定を選択します（3）。 完了したら、エンドポイント設定を選択をクリックします。 エンドポイントが作成されたら、モデルで予測リクエストを作成できます。 エンドポイントがリクエストを処理する準備ができると、ステータスがInServiceに変わります。

## 予測の作成

SageMakerエンドポイントのステータスが InService に変わると、このエンドポイントに対する予測を開始できます。

最初にコマンドラインからエンドポイントをテストして、エンドポイントが応答していることを確認します。 以下のコマンドを使用してテスト予測を行い、CSV文字列の本文にデータを渡します。

```
aws sagemaker-runtime invoke-endpoint --endpoint-name mlops-dockerized-endpoint-new 
```

> [!NOTE] 備考
> 上記のコマンドを実行するには、AWS CLIがインストールされていることを確認してください。

## 注意事項

SageMakerでデプロイする際、以下の点に留意してください。

- MLOpsのエージェントが設定されていない限り、事前定義済みデータのドリフトや精度の追跡はできません。
- AWS SageMakerにデプロイされる結果として、追加の時間オーバーヘッドが発生する可能性があります。
