Amazon ECR でのイメージタグの上書きの防止 - Amazon ECR

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

Amazon ECR でのイメージタグの上書きの防止

リポジトリでタグのイミュータビリティをオンにすることで、イメージタグの上書きを防止できます。タグのイミュータビリティをオンにした後、リポジトリに既に存在しているタグが付いたイメージをプッシュすると ImageTagAlreadyExistsException エラーが返されます。タグのイミュータビリティはすべてのタグに影響します。一部のタグをイミュータブルにし、その他のタグをイミュータブルにしないということはできません。

AWS Management Console および AWS CLI ツールを使用して、新しいリポジトリまたは既存のリポジトリのイメージタグのミュータビリティを設定できます。コンソールの手順を使用してリポジトリを作成するには、「イメージを保存するための Amazon ECR プライベートリポジトリの作成」を参照してください。

イメージタグのミュータビリティの設定 (AWS Management Console)

イメージタグのミュータビリティを設定する手順
  1. https://console.aws.amazon.com/ecr/repositories で Amazon ECR コンソールを開きます。

  2. ナビゲーションバーから、編集するリポジトリを含むリージョンを選択します。

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

    リポジトリが表示されない場合は、プライベートレジストリを選択してメニューを展開し、リポジトリを選択します。

  4. プライベートリポジトリページで、イメージタグのミュータビリティ設定を設定するリポジトリ名の前のラジオボタンを選択します。

  5. 「アクション」を選択し、「編集」の「リポジトリ」を選択します。

  6. イメージタグのイミュータビリティについては、リポジトリの次のいずれかのタグのミュータビリティ設定を選択します。

    • ミュータブル – イメージタグを上書きする場合は、このオプションを選択します。Amazon ECR がキャッシュされたイメージを更新できるように、プルスルーキャッシュアクションを使用するリポジトリに推奨されます。さらに、いくつかのミュータブルタグのタグ更新を無効にするには、ミュータブルタグ除外テキストボックスにタグ名を入力するか、ワイルドカード (*) を使用して複数の類似タグに一致します。

    • イミュータブル – イメージタグが上書きされるのを防ぎ、既存のタグでイメージをプッシュするときにリポジトリ内のすべてのタグと除外に適用される場合は、このオプションを選択します。既存のタグを持つイメージをプッシュImageTagAlreadyExistsExceptionしようとすると、Amazon ECR は を返します。さらに、いくつかのイミュータブルタグのタグ更新を有効にするには、イミュータブルタグ除外テキストボックスにタグ名を入力するか、ワイルドカード (*) を使用して複数の類似タグを一致させます。

  7. [Image scan settings] (イメージスキャン設定) では、基本的なスキャンに対してはリポジトリレベルでのスキャン設定を指定できますが、プライベートレジストリレベルでスキャン設定を指定することがベストプラクティスとなります。プライベートレジストリでスキャン設定を指定することで、拡張スキャンまたはベーシックスキャンのいずれかを有効にすることができ、スキャンするリポジトリを指定するフィルターも定義できます。詳細については、「Amazon ECR でイメージをスキャンしてソフトウェア脆弱性がないか調べる」を参照してください。

  8. [Encryption settings] (暗号化設定) は表示専用フィールドであり、リポジトリの作成後にリポジトリの暗号化設定を変更することはできません。

  9. [保存] を選択してリポジトリ設定を更新します。

イメージタグのミュータビリティの設定 (AWS CLI)

タグが変更不可に設定されたリポジトリを作成するには

次のいずれかのコマンドを使用して、タグが変更不可似せていされた新しいイメージリポジトリを作成します。

  • イメージタグのミュータビリティを備えた create-repository (AWS CLI)

    aws ecr create-repository --repository-name name --image-tag-mutability IMMUTABLE --region us-east-2
  • イメージタグのミュータビリティ除外フィルターを使用した create-repository (AWS CLI)

    aws ecr create-repository --repository-name name --image-tag-mutability IMMUTABLE_WITH_EXCLUSION --image-tag-mutability-exclusion-filters filterType=WILDCARD,filter=filter-text --region us-east-2
  • イメージタグのミュータビリティを備えた New-ECRRepository (AWS Tools for Windows PowerShell)

    New-ECRRepository -RepositoryName name -ImageTagMutability IMMUTABLE -Region us-east-2 -Force
  • イメージタグのミュータビリティ除外フィルターを使用した New-ECRRepository (AWS Tools for Windows PowerShell)

    New-ECRRepository -RepositoryName name -ImageTagMutability IMMUTABLE_WITH_EXCLUSION -ImageTagMutabilityExclusionFilter @{FilterType=WILDCARD Filter=filter-text} -Region us-east-2 -Force
リポジトリのイメージタグのミュータビリティ設定を更新する手順

次のいずれかのコマンドを使用して、既存のリポジトリのイメージタグの変更可能性を更新します。

  • put-image-tag-mutability (AWS CLI) とイメージタグのミュータビリティ

    aws ecr put-image-tag-mutability --repository-name name --image-tag-mutability IMMUTABLE --region us-east-2
  • put-image-tag-mutability (AWS CLI) とイメージタグのミュータビリティ除外フィルター

    aws ecr put-image-tag-mutability --repository-name name --image-tag-mutability IMMUTABLE_WITH_EXCLUSION --image-tag-mutability-exclusion-filters filterType=WILDCARD,filter=latest --region us-east-2
  • イメージタグのミュータビリティを備えた Write-ECRImageTagMutability (AWS Tools for Windows PowerShell)

    Write-ECRImageTagMutability -RepositoryName name -ImageTagMutability IMMUTABLE -Region us-east-2 -Force
  • イメージタグのミュータビリティ除外フィルターを使用した Write-ECRImageTagMutability (AWS Tools for Windows PowerShell)

    Write-ECRImageTagMutability -RepositoryName name -ImageTagMutability IMMUTABLE_WITH_EXCLUSION -ImageTagMutabilityExclusionFilter @{FilterType=WILDCARD Filter=latest}