

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

# Amazon Elastic Container Registry へのイメージのアップロード
<a name="ml-uploading-your-images"></a>

推論イメージとトレーニングイメージを作成したら、Amazon Elastic Container Registry にアップロードできます。[Amazon ECR](https://aws.amazon.com/ecr/) は、フルマネージドの Docker レジストリです。Amazon SageMaker AI は、Amazon ECR からイメージをプルして、推論用のモデルパッケージまたはトレーニングジョブ用のアルゴリズムを作成します。 AWS Marketplace は、Amazon ECR からこれらのイメージを取得し、モデルパッケージとアルゴリズム製品を公開します。このトピックでは、推論イメージとトレーニングイメージを Amazon ECR にアップロードする手順を説明します。

**Topics**
+ [アップロードする必要があるイメージ](#ml-which-images-must-i-upload)
+ [必要となる IAM アクセス許可](#ml-what-iam-permissions-are-required)
+ [Docker クライアントを にログインする AWS](#ml-log-in-your-docker-client)
+ [リポジトリを作成してイメージをアップロードします。](#ml-create-repository-and-upload-image)
+ [アップロードしたイメージをスキャンします。](#ml-scan-your-uploaded-image)

## アップロードする必要があるイメージ
<a name="ml-which-images-must-i-upload"></a>

 モデルパッケージを公開する場合は、推論イメージのみをアップロードします。アルゴリズムを公開する場合は、推論イメージとトレーニングイメージの両方をアップロードします。推論イメージとトレーニングイメージを結合する場合は、結合されたイメージを 1 回だけアップロードしてください。

## 必要となる IAM アクセス許可
<a name="ml-what-iam-permissions-are-required"></a>

 以下の手順では、ローカルマシンに販売者の AWS Identity and Access Management (IAM) ロールまたはユーザーの正しい AWS 認証情報があることを前提としています AWS アカウント。ロールまたはユーザーは、 AWS Marketplace と Amazon ECR の両方に正しいポリシーを設定する必要があります。たとえば、次の AWS 管理ポリシーを使用できます。
+  [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSMarketplaceSellerProductsFullAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSMarketplaceSellerProductsFullAccess.html) – へのアクセス用 AWS Marketplace 
+  [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ContainerRegistryFullAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ContainerRegistryFullAccess.html) - Amazon ECR へのアクセス用 

**注記**  
リンクをクリックすると、*AWS マネージドポリシーリファレンス*が表示されます。

## Docker クライアントを にログインする AWS
<a name="ml-log-in-your-docker-client"></a>

 発行元の の変数を設定します ( AWS リージョン 「」を参照[公開 AWS リージョン でサポート](ml-service-restrictions-and-limits.md#ml-supported-aws-regions-for-publishing))。この例では、米国東部 (オハイオ) リージョンを使用します。

```
region={{us-east-2}}
```

 次のコマンドを実行して、 AWS アカウント ID を持つ変数を設定します。この例では、current AWS Command Line Interface (AWS CLI) 認証情報が販売者の認証情報に属していることを前提としています AWS アカウント。

```
account=$(aws sts get-caller-identity --query Account --output text)
```

 リージョンの AWS アカウント Amazon ECR Docker レジストリを使用して Docker CLI クライアントを認証するには、次のコマンドを実行します。

```
aws ecr get-login-password \
--region ${region} \
| sudo docker login \
--username AWS \
--password-stdin \
${account}.dkr.ecr.${region}.amazonaws.com
```

## リポジトリを作成してイメージをアップロードします。
<a name="ml-create-repository-and-upload-image"></a>

 アップロードしたイメージのタグに変数を設定し、アップロードしたイメージリポジトリの名前に別の変数を設定します。

```
image={{my-inference-image}}
repo={{my-inference-image}}
```

**注記**  
 **推論イメージとトレーニングイメージを作成した、このガイドの前のセクションで、これらのイメージは **my-inference-image** および my-training-image** としてそれぞれタグ付けされていました。この例では、推論イメージを作成して同じ名前のリポジトリにアップロードします。

 次のコマンドを実行して、Amazon ECR にイメージリポジトリを作成します。

```
aws ecr --region ${region} create-repository --repository-name "${repo}"
```

 Amazon ECR リポジトリの場所のフルネームは、次のパーツで構成されています。` <account-id>.dkr.ecr.<region>.amazonaws.com/<image-repository-name>`

 イメージをリポジトリにプッシュするには、リポジトリの場所のフルネームをイメージにタグ付けする必要があります。

 イメージリポジトリの場所のフルネームとして変数を `latest` タグと共に設定します。

```
fullname="${account}.dkr.ecr.${region}.amazonaws.com/${repo}:latest"
```

 イメージにフルネームをタグ付けします。

```
sudo docker tag ${image} ${fullname}
```

 最後に、Amazon ECR のリポジトリに推論イメージをプッシュします。

```
sudo docker push ${fullname}
```

 アップロードが完了すると、公開元のリージョンの [Amazon ECR コンソールのリポジトリリスト](https://console.aws.amazon.com/ecr/repositories?region=us-east-2)にイメージが表示されます。前の例では、イメージは米国東部 (オハイオ) リージョンにプッシュされました。

## アップロードしたイメージをスキャンします。
<a name="ml-scan-your-uploaded-image"></a>

 [Amazon ECR コンソール](https://console.aws.amazon.com/ecr/repositories?region=us-east-2)で、公開 AWS リージョン 元の を選択し、イメージがアップロードされたリポジトリを開きます。アップロードしたイメージを選択し、スキャンを開始して既知の脆弱性を確認します。 は、Amazon SageMaker AI リソースで使用されるコンテナイメージの Amazon ECR スキャン結果を公開前に AWS Marketplace チェックします。製品を作成するには、重要度が「重大」または「高」の脆弱性があるコンテナイメージを修正する必要があります。

 イメージが正常にスキャンされたら、そのイメージを使用してモデルパッケージまたはアルゴリズムリソースを作成できます。

商品のスキャン中に誤検出のエラーがあったと思われる場合は、[AWS Marketplace Seller Operations](https://aws.amazon.com/marketplace/management/contact-us) チームに連絡し、エラーの関する情報を伝えてください。

 **次のステップ** 
+  [機械学習製品を作成するための要件とベストプラクティス](ml-listing-requirements-and-best-practices.md) におけるファイルサイズ制限を確認する 
+  「[Amazon SageMaker AI リソースの作成](ml-creating-your-amazon-sagemaker-resource.md)」に進む 