

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

# プライベートレジストリを使用した CodeBuild プロジェクトの作成
<a name="private-registry-sample-create-project"></a>

1. 無料のプライベートリポジトリを作成する方法については、[Docker Hub のリポジトリ](https://docs.docker.com/docker-hub/repos/)に関するページを参照してください。ターミナルで以下のコマンドを実行して、イメージのプル、ID の取得、新しいリポジトリへのプッシュを行うこともできます。

   ```
   docker pull amazonlinux
   docker images amazonlinux --format {{.ID}}
   docker tag image-id your-username/repository-name:tag
   docker login
   docker push your-username/repository-name
   ```

1.  *AWS Secrets Manager 「 ユーザーガイド*」の「 [AWS Secrets Manager シークレットを作成する](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html)」の手順に従います。

   

   1.  ステップ 3 の **[シークレットのタイプを選択]** で、**[他の種類のシークレット]** を選択します。

   1. **[キー/値のペア]** で、Docker Hub ユーザー名として 1 つのキーと値のペアを作成し、Docker Hub パスワードとして 1 つのキーと値のペアを作成します 

   1.  「 [AWS Secrets Manager シークレットを作成する](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html)」の手順に従ってください。

   1.  ステップ 5 の **[自動ローテーションの設定]** ページで、自動ローテーションをオフにします。キーは Docker Hub の認証情報に対応しているためです。

   1.  「 [AWS Secrets Manager シークレットを作成する](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html)」のステップに従います。

    詳細については、「[What is AWS Secrets Manager?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/)」を参照してください。

1.  コンソールで AWS CodeBuild プロジェクトを作成すると、CodeBuild は必要なアクセス許可をアタッチします。以外の AWS KMS キーを使用する場合は`DefaultEncryptionKey`、サービスロールに追加する必要があります。詳細については、『[g852]IAM ユーザーガイド[/g852]』の「[g851]ロールの修正 (コンソール)[/g851]」を参照してください。

    Secrets Manager で使用するサービスロールには、少なくとも `secretsmanager:GetSecretValue` アクセス許可が必要です。  
![\[サービスロールの設定。\]](http://docs.aws.amazon.com/ja_jp/codebuild/latest/userguide/images/private-registry-sample-iam.png)

1.  コンソールでプライベートレジストリに保存されている環境を使用してプロジェクトを作成するには、プロジェクトの作成時に以下の操作を行います。詳細については、[ビルドプロジェクトの作成 (コンソール)](create-project.md#create-project-console) を参照してください。
**注記**  
 プライベートレジストリが VPC 内にある場合は、パブリックインターネットアクセスが必要です。CodeBuild は、VPC 内のプライベート IP アドレスからイメージを取得できません。

   1.  **[環境イメージ]** で、**[カスタムイメージ]** を選択します。

   1.  [**Environment type (環境タイプ)**] で、[**Linux**] または [**Windows**] を選択します。

   1.  **[イメージレジストリ]** で、**[その他のレジストリ]** を選択します。

   1.  **[外部レジストリの URL]** で、画像の場所を入力し、**[レジストリの認証情報 - オプション]** で Secrets Manager の認証情報の ARN または名前を入力します。
**注記**  
 認証情報が現在のリージョンに存在しない場合は、ARN を使用する必要があります。認証情報が別のリージョンに存在する場合、認証情報の名前は使用できません。