Amazon ECR でのリポジトリのライフサイクルポリシーの作成 - Amazon ECR

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

Amazon ECR でのリポジトリのライフサイクルポリシーの作成

ライフサイクルポリシーを使用して、未使用のリポジトリイメージを期限切れにする一連のルールを作成します。ライフサイクルポリシーを作成すると、影響を受けるイメージは 24 時間以内に期限切れになります。

注記

Amazon ECR レプリケーションを使用して異なるリージョンまたはアカウント間でリポジトリのコピーを作成する場合、ライフサイクルポリシーは、作成されたリージョンのリポジトリに対してのみアクションを実行できることに注意してください。したがって、レプリケーションをオンにしている場合は、リポジトリを複製する各リージョンとアカウントにライフサイクルポリシーを作成してください。

前提条件

ベストプラクティス: ライフサイクルポリシーのプレビューを作成して、ライフサイクルポリシールールによって期限切れになったイメージが意図したとおりであることを確認します。手順については、「Amazon ECR でのライフサイクルポリシーのプレビューの作成」を参照してください。

  1. https://console.aws.amazon.com/ecr/repositories で Amazon ECR コンソールを開きます。

  2. ナビゲーションバーから、ライフサイクルポリシーを作成するリポジトリを含むリージョンを選択します。

  3. ナビゲーションペインで、[プライベートレジストリ] の下で、[リポジトリ] を選択します。

  4. [プライベートリポジトリ] ページでリポジトリを選択し、[アクション] ドロップダウンを使用して [ライフサイクルポリシー] を選択します。

  5. リポジトリのライフサイクルポリシーで、[ルールを作成] を選択します。

  6. ライフサイクルポリシーのルールに以下の詳細を入力します。

    1. [ルールの優先順位] で、ルールの優先順位を数字で入力します。ルールの優先順位によって、ライフサイクルポリシールールが適用される順序が決まります。

    2. [ルールの説明] で、ライフサイクルポリシーのルールの説明を入力します。

    3. [イメージのステータス] では、[タグ付き (ワイルドカードマッチング)][タグ付き (プレフィックスマッチング)][タグ付けなし]、または [任意] を選択します。

    4. [イメージのステータス][タグ付き (ワイルドカードマッチング)] を選択した場合、[ワイルドカードマッチング用のタグを指定] では、ライフサイクルポリシーに基づいてアクションを実行するためのワイルドカード (*) 付きのイメージタグのリストを指定できます。例えば、イメージに prodprod1prod2 というようにタグが付いている場合、すべてのアクションを実行する prod* を指定します。複数のタグを指定する場合、指定されたすべてのタグが付いているイメージのみが選択されます。

      重要

      1 文字列あたりのワイルドカード (*) の上限は 4 つです。例えば、["test*1*2*3*4*5*6"] は有効ですが ["*test*1*2*3", "test*1*2*3*"] は無効です。

    5. [イメージのステータス][タグ付き (プレフィックスマッチング)] を選択した場合、[ワイルドカードマッチング用のタグを指定] では、ライフサイクルポリシーに基づいてアクションを実行するためのイメージタグのリストを指定できます。

    6. [一致条件] で、[イメージをプッシュしてから] または [次の数値を超えるイメージ数] を選択し、値を指定します。

    7. [保存] を選択します。

  7. ステップ 5 ~ 7 を繰り返すことにより、追加のライフサイクルポリシーのルールを作成します。

  1. ライフサイクルポリシーを作成するリポジトリの名前を取得します。

    aws ecr describe-repositories
  2. ライフサイクルポリシーの内容を指定して、policy.json というローカルファイル名を作成します。ライフサイクルポリシーの例については、「Amazon ECR のライフサイクルポリシーの例」を参照してください。

  3. リポジトリ名を指定してライフサイクルポリシーを作成し、作成したライフサイクルポリシー JSON ファイルを参照します。

    aws ecr put-lifecycle-policy \ --repository-name repository-name \ --lifecycle-policy-text file://policy.json