

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

# プルスルーキャッシュ、プッシュ時作成、またはレプリケーションアクション中に作成されたリポジトリを制御するテンプレート
<a name="repository-creation-templates"></a>

Amazon ECR リポジトリ作成テンプレートを使用して、Amazon ECR がユーザーに代わって作成するリポジトリ用の設定を定義します。リポジトリ作成テンプレートの設定はリポジトリの作成時にのみ適用され、既存のリポジトリや他の方法で作成されたリポジトリには影響しません。現在、リポジトリ作成テンプレートを使用すると、リポジトリの作成時に以下の機能に対して設定を適用できます。
+ プルスルーキャッシュ
+ プッシュ時に作成する
+ レプリケーション

## リポジトリ作成テンプレートの仕組み
<a name="repository-creation-templates-works"></a>

Amazon ECR がユーザーに代わって新しいプライベートリポジトリを作成する必要がある場合があります。例えば、次のようになります。
+ プルスルーキャッシュルールを初めて使用して、アップストリームリポジトリのコンテンツを取得し、Amazon ECR プライベートレジストリに保存する場合。
+ イメージがまだ存在しないリポジトリにプッシュする場合。
+ Amazon ECR にリポジトリを別のリージョンまたはアカウントにレプリケートさせる場合。

プルスルーキャッシュルールまたはレプリケートされたリポジトリに一致するリポジトリ作成テンプレートがない場合、Amazon ECR は新しいリポジトリのデフォルト設定を使用します。これらのデフォルト設定には、タグの不変性をオフにする、`AES-256` 暗号化を使用する、リポジトリやライフサイクルポリシーを一切適用しないなどが含まれます。

イメージプッシュのターゲットリポジトリに一致するリポジトリ作成テンプレートがない場合、Amazon ECR はデフォルト設定でリポジトリを作成しません。

リポジトリ作成テンプレートを使用すると、Amazon ECR がプルスルーキャッシュ、プッシュ時作成、レプリケーションアクションを通じて作成された新しいリポジトリに適用する設定を定義できます。新しいリポジトリのタグ不変性、暗号化設定、リポジトリ権限、ライフサイクルポリシー、リソースタグを定義できます。

次の図は、リポジトリ作成テンプレートを使用するときに Amazon ECR が使用するワークフローを示しています。

![\[リポジトリ作成テンプレートを新しいリポジトリに適用する方法を示しています。\]](http://docs.aws.amazon.com/ja_jp/AmazonECR/latest/userguide/images/repository_creation_template_light.png)


以下では、リポジトリ作成テンプレートの各パラメータについて詳しく説明します。

Prefix  
**[プレフィックス]** は、テンプレートに関連付けるリポジトリ名前空間のプレフィックスです。このプレフィックスを使用して作成されたすべてのリポジトリには、このテンプレートで定義されている設定が適用されます。例えば、`prod` というプレフィックスは、`prod/` で始まるすべてのリポジトリに適用されます。同様に、`prod/team` というプレフィックスは、`prod/team/` で始まるすべてのリポジトリに適用されます。2 つのテンプレートを含むレジストリでは、1 つのテンプレートにプレフィックス「prod」が付いており、もう 1 つのテンプレートにプレフィックス「prod/team」が付いている場合、名前が「prod/team/」で始まるすべてのリポジトリに、プレフィックス「prod/team」が付いているテンプレートが適用されます。  
作成テンプレートが関連付けられていないレジストリ内のすべてのリポジトリにテンプレートを適用するには、プレフィックスとして `ROOT` を使用できます。  
プレフィックスの末尾には常に `/` が適用されると想定されます。`ecr-public` をプレフィックスとして指定すると、Amazon ECR はそれを `ecr-public/` として扱います。プルスルーキャッシュルールを使用する場合、ルール作成時に指定するリポジトリプレフィックスは、リポジトリ作成テンプレートのプレフィックスとしても指定する必要があります。

説明  
この **[テンプレートの説明]** はオプションで、リポジトリ作成テンプレートの目的を説明するために使用されます。

適用対象  
**[適用対象]** 設定は、このテンプレートを使用して作成する Amazon ECR 作成リポジトリを決定します。有効な値は `PULL_THROUGH_CACHE`、`CREATE_ON_PUSH`、および `REPLICATION` です。例えば、プルスルーキャッシュルールを初めて使用して、アップストリームリポジトリのコンテンツを取得し、Amazon ECR プライベートレジストリに保存します。プルスルーキャッシュルールに一致するリポジトリ作成テンプレートがない場合、Amazon ECR は新しいリポジトリのデフォルト設定を使用します。

リポジトリ作成ロール  
**[リポジトリ作成ロール]** は、リポジトリ作成テンプレートを使用してリポジトリを作成および設定する際に、Amazon ECR が引き受ける IAM ロール ARN です。このロールは、テンプレートでリポジトリタグや KMS を使用する場合に指定する必要があります。指定しないと、リポジトリの作成は失敗します。

イメージタグの変更可能性  
テンプレートを使用して作成されたリポジトリに使用する**タグの変更可能性**設定です。このパラメータを省略すると、**MUTABLE** のデフォルト設定が使用されます。デフォルト設定では、イメージタグの上書きが許可されます。これは、プルスルーキャッシュアクションによって作成されたリポジトリに使用されるテンプレートに使用することを推奨する設定です。これにより、タグが同じ場合でも Amazon ECR はキャッシュされたイメージを更新できます。  
**IMMUTABLE** を指定すると、リポジトリ内のすべてのイメージタグは不変となり、上書きが禁止されます。

暗号化設定  
 AWS KMS (DSSE-KMS) を使用した二層式サーバー側の暗号化は、 AWS GovCloud (US) リージョンでのみ使用できます。
テンプレートを使用して作成されたリポジトリに使用する**暗号化設定**です。  
**KMS** 暗号化タイプを使用する場合、リポジトリのコンテンツは、 AWS KMSに保存されている AWS Key Management Service キーにより、サーバー側の暗号化を使用して暗号化されます。 AWS KMS を使用してデータを暗号化する場合、Amazon ECR のデフォルトの AWS マネージド AWS KMS キーを使用するか、既に作成した独自の AWS KMS キーを指定できます。さらに、 で単層または二層暗号化を使用するように選択できます AWS KMS。詳細については、「[保管中の暗号化](encryption-at-rest.md)」を参照してください。**KMS** 暗号化タイプを使用していて、それをクロスリージョンレプリケーションで使用する場合は、追加のアクセス許可が必要になることがあります。詳細については、「[Creating a KMS key policy for replication](https://docs.aws.amazon.com/AmazonECR/latest/userguide/registry-permissions-create.html)」を参照してください。  
**AES256** の暗号化タイプを使用する場合、Amazon ECR は Amazon S3 で管理された暗号化キーによりサーバー側の暗号化キーを使用して、AES-256 暗号化アルゴリズムを使用するリポジトリ内のイメージを暗号化します。詳細については、**「Amazon Simple Storage Service ユーザーガイド」の「[Amazon S3 マネージドキーによるサーバー側の暗号化 (SSE-S3)](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html)」を参照してください。

リポジトリ権限  
テンプレートを使用して作成されたリポジトリに適用する**リポジトリポリシー**です。リポジトリポリシーは、リソースベースのアクセス権限を使用してリポジトリへのアクセスを制御します。リソースベースのアクセス権限により、どの IAM ユーザーあるいはロールがリポジトリにアクセスでき、どのようなアクションを実行できるかを指定できます。デフォルトでは、リポジトリを作成した AWS アカウントのみがリポジトリにアクセスできます。リポジトリへの追加のアクセス許可を付与または拒否するポリシードキュメントを適用できます。詳細については、「[Amazon ECR でのプライベートリポジトリポリシー](repository-policies.md)」を参照してください。

リポジトリライフサイクルポリシー  
テンプレートを使用して作成されたリポジトリに使用する**ライフサイクルポリシー**です。ライフサイクルポリシーを使用すると、プライベートリポジトリ内のイメージのライフサイクル管理をより詳細に制御できます。ライフサイクルポリシーは 1 つまたは複数のルールで、各ルールでは Amazon ECR へのアクションが定義されています。時間やカウント数に基づいてイメージの有効期限を設定することによってコンテナイメージを自動的にクリーンアップできます。詳細については、「[Amazon ECR でのライフサイクルポリシーを使用したイメージのクリーンアップの自動化](LifecyclePolicies.md)」を参照してください。

リソースタグ  
**リソースタグ**は、リポジトリに適用し、分類と整理に役立つメタデータです。各タグはキーとオプションの値で構成され、どちらもお客様側が定義します。クロスリージョンレプリケーションでリポジトリ作成テンプレートを使用する場合は、このアクセス許可を宛先レジストリポリシーに適用する必要があります。

# Amazon ECR でのリポジトリ作成テンプレートの作成
<a name="repository-creation-templates-create"></a>

リポジトリ作成テンプレートを作成して、プルスルーキャッシュ、プッシュ時作成、またはレプリケーションアクション中に Amazon ECR がユーザーに代わって作成したリポジトリに使用する設定を定義できます。リポジトリ作成テンプレートが作成されると、作成されたすべての新しいリポジトリにその設定が適用されます。これは以前に作成されたリポジトリには影響しません。

テンプレートを使用してリポジトリを設定する際に、KMS キーとリソースタグを指定するオプションがあります。1 つ以上のテンプレートで KMS キー、リソースタグ、またはその両方の組み合わせを使用する場合は、以下を行う必要があります。
+ [リポジトリ作成テンプレートのカスタムポリシーの作成](repository-creation-templates-custom.md).
+ [リポジトリ作成テンプレート用の IAM ロールの作成](repository-creation-templates-create-iam.md).

設定が完了したら、カスタムロールをレジストリ内の特定のテンプレートにアタッチできます。



## リポジトリ作成テンプレートを作成するための IAM アクセス許可
<a name="repository-creation-templates-iam"></a>

IAM プリンシパルがリポジトリ作成テンプレートを管理するには、以下のアクセス許可が必要です。これらのアクセス許可は、アイデンティティに基づく IAM ポリシーを使用して付与する必要があります。
+ `ecr:CreateRepositoryCreationTemplate` — リポジトリ作成テンプレートを作成するアクセス許可を付与します。
+ `ecr:UpdateRepositoryCreationTemplate` — リポジトリ作成テンプレートを更新するためのアクセス許可を付与します。
+ `ecr:DescribeRepositoryCreationTemplates` – レジストリ内のリポジトリ作成テンプレートをリストするためのアクセス許可を付与します。
+ `ecr:DeleteRepositoryCreationTemplate` — リポジトリ作成テンプレートを削除するアクセス許可を付与します。
+ `ecr:CreateRepository` – Amazon ECR リポジトリを作成するためのアクセス許可を付与します。
+ `ecr:PutLifecyclePolicy` — ライフサイクルポリシーを作成し、それをリポジトリに適用するアクセス許可を付与します。このアクセス許可は、リポジトリ作成テンプレートにライフサイクルポリシーが含まれている場合にのみ必要です。
+ `ecr:SetRepositoryPolicy` — リポジトリのアクセス許可ポリシーを作成するアクセス許可を付与します。このアクセス許可は、リポジトリ作成テンプレートにリポジトリポリシーが含まれている場合にのみ必要です。
+ `iam:PassRole` – エンティティがサービスまたはアプリケーションにロールを渡すことを許可するためのアクセス許可を付与します。このアクセス許可は、ユーザーに代わってアクションを実行するロールを引き受ける必要があるサービスやアプリケーションに必要です。

# リポジトリ作成テンプレートのカスタムポリシーの作成
<a name="repository-creation-templates-custom"></a>

を使用して、後で IAM ロールに関連付けられるポリシー AWS マネジメントコンソール を定義できます。その後、この IAM ロールは、リポジトリ作成テンプレートを設定するときにリポジトリ作成ロールとして使用できます。

------
#### [ AWS マネジメントコンソール ]

**JSON ポリシーエディタを使用してリポジトリ作成テンプレートのカスタムポリシーを作成するには、次の手順を実行します。**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) で IAM コンソールを開きます。

1. 左側のナビゲーションペインで、**[ポリシー]** を選択します。

1. [**Create policy**] (ポリシーの作成) を選択します。

1. [**ポリシーエディタ**] セクションで、[**JSON**] オプションを選択します。

1. **[JSON]** フィールドに次のポリシーを入力します。

------
#### [ JSON ]

****  

   ```
   { 
           "Version":"2012-10-17",		 	 	  
           "Statement": [ 
               { 
                   "Effect": "Allow",
                   "Action": [ 
                       "ecr:CreateRepository", 
                       "ecr:ReplicateImage", 
                       "ecr:TagResource" 
                   ], 
                   "Resource": "*" 
               }, 
               {
                   "Effect": "Allow", 
                   "Action": [ 
                       "kms:CreateGrant", 
                       "kms:RetireGrant", 
                       "kms:DescribeKey" 
                   ], 
                   "Resource": "*" 
               } 
            ]
   }
   ```

------

1. [ポリシーの検証](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_policy-validator.html)中に生成されたセキュリティ警告、エラー、または一般警告をすべて解決してから、**[次へ]** を選択します。

1. ポリシーにアクセス権限を追加し終えたら、[**次へ**] を選択します。

1. [**確認と作成**] ページで、作成するポリシーの [**ポリシー名**] と [**説明**] (オプション) を入力します。**このポリシーで定義されているアクセス許可** を確認して、ポリシーによって付与されたアクセス許可を確認します。

1. **ポリシーを作成** をクリックして、新しいポリシーを保存します。

1. 作成テンプレート用にこのポリシーを割り当てるロールを作成します。「[リポジトリ作成テンプレート用の IAM ロールの作成](repository-creation-templates-create-iam.md)」を参照してください。

------

# リポジトリ作成テンプレート用の IAM ロールの作成
<a name="repository-creation-templates-create-iam"></a>

を使用して、テンプレートでリポジトリタグまたは KMS を使用しているリポジトリ作成テンプレートでリポジトリ作成ロールを指定するときに、Amazon ECR で使用できるロール AWS マネジメントコンソール を作成できます。

------
#### [ AWS マネジメントコンソール ]

**ロールを作成するには、次の手順を実行します。**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) で IAM コンソールを開きます。

1. コンソールのナビゲーションペインで、**[ロール]**、**[ロールの作成]** の順に選択します。

1. **[カスタム信頼ポリシー]** ロールタイプを選択します。

1. **[カスタム信頼ポリシー]** セクションで、以下にリストされているカスタム信頼ポリシーを貼り付けます。

------
#### [ JSON ]

****  

   ```
   {
   "Version":"2012-10-17",		 	 	 
   "Statement": [
       {
           "Effect": "Allow",
           "Principal": {
               "Service": "ecr.amazonaws.com"
           },
           "Action": "sts:AssumeRole"
       }
       ]
   }
   ```

------

1. [**次へ**] を選択します。

1. **[アクセス許可の追加]** ページで、アクセス許可ポリシーのリストから、先ほど作成したカスタムポリシーの横にあるチェックボックスを選択し、**[次へ]** を選択します。

1. **ロール名** に、ロールの名前を入力します。ロール名は 内で一意である必要があります AWS アカウント。ロール名がポリシーとして、または ARN の一部として使用される場合、ロール名は大文字と小文字を区別します。サインイン処理中など、コンソールでロール名がユーザーに表示される場合、ロール名は大文字と小文字を区別しません。さまざまなエンティティがロールを参照する可能性があるため、作成後にロール名を編集することはできません。

1. (オプション) **[説明]** には、新しいロールの説明を入力します。

1. ロール情報を確認し、**ロールの作成** を選択します。

------

## リポジトリ作成テンプレートの作成
<a name="repository-creation-templates-creating"></a>

テンプレートに必要な前提条件をすべて満たしたら、リポジトリ作成テンプレートの作成に進むことができます。

------
#### [ AWS マネジメントコンソール ]

**リポジトリ作成テンプレートを作成するには (AWS マネジメントコンソール)**

1. Amazon ECR コンソール ([https://console.aws.amazon.com/ecr/](https://console.aws.amazon.com/ecr/)) を開きます。

1. ナビゲーションバーから、リポジトリ作成テンプレートを作成するリージョンを選択します。

1. ナビゲーションペインで、**[プライベートレジストリ]**、**[リポジトリ作成テンプレート]** を選択します。

1. **[リポジトリ作成テンプレート]** ページで、**[テンプレートを作成]** を選択します。

1. **[ステップ 1: テンプレートの定義]** ページの **[テンプレートの詳細]** で、**[特定のプレフィックス]** を選択してテンプレートを特定のリポジトリ名前空間のプレフィックスに適用するか、**[ECR レジストリの任意のプレフィックス]** を選択して、リージョン内の他のテンプレートと一致しないすべてのリポジトリにテンプレートを適用します。

   1. **[特定のプレフィックス]** を選択した場合は、**[プレフィックス]** にテンプレートを適用するリポジトリ名前空間プレフィックスを指定します。プレフィックスの末尾には常に `/` が適用されると想定されます。例えば、`prod` というプレフィックスは、`prod/` で始まるすべてのリポジトリに適用されます。同様に、`prod/team` というプレフィックスは、`prod/team/` で始まるすべてのリポジトリに適用されます。

   1. **[ECR レジストリの任意のプレフィックス]** を選択すると、**[プレフィックス]** は `ROOT` に設定されます。

1. **[適用対象]** では、このテンプレートを適用する Amazon ECR ワークフローを指定します。使用できるオプションは `PULL_THROUGH_CACHE`、`CREATE_ON_PUSH`、および `REPLICATION` です。

1. **[テンプレートの説明]** には、テンプレートの説明をオプションで指定し、**[次へ]** を選択します。

1. **[ステップ 2: リポジトリ作成設定の追加]** ページで、テンプレートを使用して作成されたリポジトリに適用するリポジトリ設定設定を指定します。

   1. **[イメージタグのミュータビリティ]** で、このリポジトリのタグの変更可能性の設定を選択します。詳細については、「[Amazon ECR でのイメージタグの上書きの防止](image-tag-mutability.md)」を参照してください。
      + **[ミュータブル]** – イメージタグを上書きする場合は、このオプションを選択します。Amazon ECR がキャッシュされたイメージを更新できるように、プルスルーキャッシュアクションを使用するリポジトリに推奨されます。さらに、いくつかのミュータブルタグのタグ更新を無効にするには、**[Mutable tag exclusion]** テキストボックスにタグ名を入力します。複数の類似したタグが一致するワイルドカード (\$1) を使用できます。
      + **[イミュータブル]** – イメージタグが上書きされるのを防ぎ、既存のタグを含むイメージをプッシュするときに、リポジトリ内のすべてのタグと除外に適用する場合、このオプションを選択します。Amazon ECR は、既存のタグを使用してイメージをプッシュしようとすると `ImageTagAlreadyExistsException` を返します。さらに、いくつかのイミュータブルタグのタグ更新を有効にするには、**[Immutable tag exclusion]** テキストボックスにタグ名を入力します。複数の類似したタグが一致するワイルドカード (\$1) を使用できます。

   1. **[暗号化設定]** では、使用する暗号化設定を選択します。詳細については、「[保管中の暗号化](encryption-at-rest.md)」を参照してください。

      **[AES-256]** が選択されていると、Amazon ECR は、Amazon Simple Storage Service が管理する暗号化キーによるサーバー側暗号化を使用し、保管中のデータが業界標準の AES-256 暗号化アルゴリズムで暗号化されます。これは追加コストなしで提供されます。

      **[AWS KMS]** を選択すると、Amazon ECR は AWS Key Management Service (AWS KMS) に保存されたキーによるサーバー側の暗号化を使用します。 AWS KMS を使用してデータを暗号化する場合、Amazon ECR によって管理されるデフォルトの AWS マネージドキーを使用するか、*カスタマーマネージド*キーと呼ばれる独自の AWS KMS キーを指定できます。
**注記**  
一度リポジトリを作成すると、リポジトリの暗号化設定は変更できません。

   1. **[リポジトリ権限]** については、このテンプレートを使用して作成されたリポジトリに適用するリポジトリ権限ポリシーを指定します。オプションで、ドロップダウンを使用して、最も一般的なユースケース用の JSON サンプルを 1 つ選択できます。詳細については、「[Amazon ECR でのプライベートリポジトリポリシー](repository-policies.md)」を参照してください。

   1. **[リポジトリライフサイクルポリシー]** では、このテンプレートを使用して作成されたリポジトリに適用するリポジトリライフサイクルポリシーを指定します。オプションで、ドロップダウンを使用して、最も一般的なユースケース用の JSON サンプルを 1 つ選択できます。詳細については、「[Amazon ECR でのライフサイクルポリシーを使用したイメージのクリーンアップの自動化](LifecyclePolicies.md)」を参照してください。

   1. **リポジトリ AWS タグ**では、キーと値のペアの形式でメタデータを指定して、このテンプレートを使用して作成されたリポジトリに関連付け、次**へ**を選択します。詳細については、「[Amazon ECR でのプライベートリポジトリのタグ付け](ecr-using-tags.md)」を参照してください。

   1. **[リポジトリ作成ロール]** では、テンプレートでリポジトリタグまたは KMS を使用する場合にリポジトリ作成テンプレートに使用するカスタム IAM ロールをドロップダウンメニューから選択します (詳細については「[リポジトリ作成テンプレート用の IAM ロールの作成](repository-creation-templates-create-iam.md)」を参照)。その後、**[次へ]** を選択します。

1. **[ステップ 3: 確認と作成]** ページで、リポジトリ作成テンプレートに指定した設定を確認します。**[編集]** を選択して、変更を加えます。完了したら、**[作成]** を選択します。

------
#### [ AWS CLI ]

[create-repository-creation-template](https://docs.aws.amazon.com/cli/latest/reference/ecr/create-repository-creation-template.html) AWS CLI コマンドは、プライベートレジストリのリポジトリ作成テンプレートを作成するために使用されます。

**リポジトリ作成テンプレートを作成するには (AWS CLI)**

1. を使用して、[create-repository-creation-template](https://docs.aws.amazon.com/cli/latest/reference/ecr/create-repository-creation-template.html) コマンドのスケルトン AWS CLI を生成します。

   ```
   aws ecr create-repository-creation-template \
       --generate-cli-skeleton
   ```

   コマンドの出力には、リポジトリ作成テンプレートの完全な構文が表示されます。

   ```
   {
   "appliedFor":[""], // string array, but valid are PULL_THROUGH_CACHE, CREATE_ON_PUSH, and REPLICATION
   "prefix": "string",
       "description": "string",
       "imageTagMutability": "MUTABLE"|"IMMUTABLE"|"IMMUTABLE_WITH_EXCLUSION"|"MUTABLE_WITH_EXCLUSION",
       "imageTagMutabilityExclusionFilters": [
           "filterType": "WILDCARD",
           "filter": "string"
       ],
       "repositoryPolicy": "string",
       "lifecyclePolicy": "string"
   "encryptionConfiguration": {
   "encryptionType": "AES256"|"KMS",
           "kmsKey": "string"
       },
       "resourceTags": [
           {
   "Key": "string",
               "Value": "string"
           }
       ],
       "customRoleArn": "string", // must be a valid IAM Role ARN
   }
   ```

1. 前のステップの出力を使用して、`repository-creation-template.json` という名前のファイルを作成します。このテンプレートは、将来のリポジトリへのイメージのプッシュとプルを許可するリポジトリポリシーを使用して `prod/*` の下に作成されたリポジトリに対する KMS 暗号化キーを設定し、2 週間以上経過したイメージを期限切れにするライフサイクルポリシーを設定し、ECR が KMS キーにアクセスしてリソースタグ `examplekey` を将来のリポジトリに割り当てることができるようにするカスタムロールを設定します。

   ```
   {
   "prefix": "prod",
       "description": "For repositories cached from my PTC rule and in my replication configuration that start with 'prod/'",
       "appliedFor": ["PULL_THROUGH_CACHE", "CREATE_ON_PUSH", "REPLICATION"],
       "encryptionConfiguration": {
   "encryptionType": "KMS",
           "kmsKey": "arn:aws:kms:us-west-2:111122223333:key/a1b2c3d4-5678-90ab-cdef-example11111"
       },
       "resourceTags": [
           {
   "Key": "examplekey",
               "Value": "examplevalue"
           }
       ],
       "imageTagMutability": "IMMUTABLE_WITH_EXCLUSION",
       "imageTagMutabilityExclusionFilters": [
         {
         "filterType": "WILDCARD",
         "filter": "latest"
         },
         {
         "filterType": "WILDCARD",
         "filter": "beta*"
         }
       ]
       "repositoryPolicy": "{\"Version\":\"2012-10-17\",		 	 	 \"Statement\":[{\"Sid\":\"AllowPushPullIAMRole\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::111122223333:user\/IAMusername\"},\"Action\":[\"ecr:BatchGetImage\",\"ecr:BatchCheckLayerAvailability\",\"ecr:CompleteLayerUpload\",\"ecr:GetDownloadUrlForLayer\",\"ecr:InitiateLayerUpload\",\"ecr:PutImage\",\"ecr:UploadLayerPart\"]}]}", 
       "lifecyclePolicy": "{\"rules\":[{\"rulePriority\":1,\"description\":\"Expire images older than 14 days\",\"selection\":{\"tagStatus\":\"any\",\"countType\":\"sinceImagePushed\",\"countUnit\":\"days\",\"countNumber\":14},\"action\":{\"type\":\"expire\"}}]}",
       "customRoleArn": "arn:aws:iam::111122223333:role/myRole"
   }
   ```

1. 次のコマンドを使用して、リポジトリ作成テンプレートを作成します。次の例では、`repository-creation-template.json` の代わりに、前のステップで作成した設定ファイルの名前を指定することを確認してください。

   ```
   aws ecr create-repository-creation-template \
       --cli-input-json file://repository-creation-template.json
   ```

------

# リポジトリ作成テンプレートを更新する
<a name="repository-creation-templates-updating"></a>

リポジトリ作成テンプレートは、設定を変更する必要がある場合には編集することができます。リポジトリ作成テンプレートを編集すると、新しい設定が既存のテンプレートに適用されます。

**重要**  
これは以前に作成されたリポジトリには影響しません。

------
#### [ AWS マネジメントコンソール ]

**リポジトリ作成テンプレートを編集する手順 (AWS マネジメントコンソール)**

1. Amazon ECR コンソール ([https://console.aws.amazon.com/ecr/](https://console.aws.amazon.com/ecr/)) を開きます。

1. ナビゲーションバーから、編集するリポジトリ作成テンプレートがあるリージョンを選択します。

1. ナビゲーションペインで、**[プライベートレジストリ]** を選択し、次に **[スキャン]** を選択します。

1. ナビゲーションバーから、**[リポジトリ作成テンプレート]** を選択します。

1. **[リポジトリ作成テンプレート]** ページで、編集するリポジトリ作成テンプレートを選択します。

1. **[アクション]** ドロップダウンメニューから、**[編集]** を選択します。

1. 設定を確認して更新します。

1. [更新] を選択して、新しい作成テンプレートの設定を適用します。

------
#### [ AWS CLI ]

**リポジトリ作成テンプレートを編集する手順 (AWS CLI)**
+ [update-repository-creation-template](https://docs.aws.amazon.com/cli/latest/reference/ecr/update-repository-creation-template.html) コマンドを使用して、既存のリポジトリ作成テンプレートを更新します。テンプレートの `prefix` 値を指定する必要があります。次の例では、`prod` プレフィックスを持つリポジトリ作成テンプレートを更新します。

  ```
  aws ecr update-repository-creation-template \
       --prefix prod \
       --image-tag-mutability="IMMUTABLE_WITH_EXCLUSION" \
       --image-tag-mutability-exclusion-filters filterType=WILDCARD, filter=latest
  ```

  コマンドの出力には、更新されたリポジトリ作成テンプレートの詳細が表示されます。

------

# Amazon ECR でのリポジトリ作成テンプレートの削除
<a name="repository-creation-templates-delete"></a>

不要になったリポジトリ作成テンプレートを削除できます。リポジトリ作成テンプレートを削除すると、プルスルーキャッシュまたはレプリケーションのアクション中に関連付けられたプレフィックスの下に新しく作成されたリポジトリは、一致する別のテンプレートが見つからない限り、デフォルト設定を継承します。「[リポジトリ作成テンプレートの仕組み](repository-creation-templates.md#repository-creation-templates-works)」を参照してください。

**重要**  
これは以前に作成されたリポジトリには影響しません。

------
#### [ AWS マネジメントコンソール ]

**リポジトリ作成テンプレートを削除するには (AWS マネジメントコンソール)**

1. Amazon ECR コンソール ([https://console.aws.amazon.com/ecr/](https://console.aws.amazon.com/ecr/)) を開きます。

1. ナビゲーションバーから、削除するリポジトリ作成テンプレートがあるリージョンを選択します。

1. ナビゲーションペインで、**[プライベートレジストリ]**、**[リポジトリ作成テンプレート]** を選択します。

1. **[リポジトリ作成テンプレート]** ページで、削除するリポジトリ作成テンプレートを選択します。

1. **[アクション]** ドロップダウンメニューから **[削除]** を選択します。

------
#### [ AWS CLI ]

**リポジトリ作成テンプレートを削除するには (AWS CLI)**
+ [delete-repository-creation-template.html](https://docs.aws.amazon.com/cli/latest/reference/ecr/delete-repository-creation-template.html) コマンドを使用して、既存のリポジトリ作成テンプレートを削除します。テンプレートの `prefix` 値を指定する必要があります。次の例では、`prod` プレフィックスを持つリポジトリ作成テンプレートを削除します。

  ```
  aws ecr delete-repository-creation-template \
       --prefix prod
  ```

  コマンドの出力には、削除されたリポジトリ作成テンプレートの詳細が表示されます。

------