アップストリームレジストリと Amazon ECRプライベートレジストリを同期する - Amazon ECR

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

アップストリームレジストリと Amazon ECRプライベートレジストリを同期する

プルスルーキャッシュルールを使用すると、アップストリームレジストリの内容を Amazon ECRプライベートレジストリと同期できます。

Amazon ECR は現在、次のアップストリームレジストリのプルスルーキャッシュルールの作成をサポートしています。

  • Docker Hub、Microsoft Azure コンテナレジストリ、 GitHub コンテナレジストリ、 GitLab コンテナレジストリ (認証が必要)

  • Amazon ECR Public、Kubernetes コンテナイメージレジストリ、および Quay (認証は不要)

GitLab Container Registry の場合、Amazon ECRは GitLab software-as-a-service offering, GitLab.com でのみプルスルーキャッシュをサポートします。

認証が必要なアップストリームレジストリの場合は、認証情報を AWS Secrets Manager シークレットに保存する必要があります。Amazon ECRコンソールを使用すると、認証されたアップストリームレジストリごとに Secrets Manager シークレットを簡単に作成できます。Secrets Manager コンソールを使用して Secrets Manager シークレットを作成する方法の詳細については、「」を参照してくださいシーク AWS Secrets Manager レットへのアップストリームリポジトリ認証情報の保存

アップストリームレジストリのプルスルーキャッシュルールを作成したら、Amazon ECRプライベートレジストリ を使用して、そのアップストリームレジストリからイメージをプルするだけですURI。ECR 次に、Amazon はリポジトリを作成し、そのイメージをプライベートレジストリにキャッシュします。特定のタグを持つキャッシュされたイメージのその後のプルリクエストで、Amazon はアップストリームレジストリECRをチェックして、その特定のタグを持つイメージの新しいバージョンがあるかどうかを確認し、少なくとも 24 時間に 1 回プライベートレジストリでイメージを更新しようとします。

リポジトリ作成テンプレート

Amazon ECR では、現在プレビュー中のリポジトリ作成テンプレートのサポートが追加されました。これにより、プルスルーキャッシュルールを使用して、Amazon がECRユーザーに代わって作成した新しいリポジトリの初期設定を指定するための制御が可能になります。各テンプレートには、新しいリポジトリを特定のテンプレートと一致させるために使用されるリポジトリ名前空間プレフィックスが含まれています。テンプレートでは、リソースベースのアクセスポリシー、タグのイミュータビリティ、暗号化、ライフサイクルポリシーなど、すべてのリポジトリ設定の設定を指定できます。リポジトリ作成テンプレートの設定はリポジトリの作成時にのみ適用され、既存のリポジトリや他の方法で作成されたリポジトリには影響しません。詳細については、「プルスルーキャッシュまたはレプリケーションアクション中に作成されたリポジトリを制御するテンプレート」を参照してください。

プルスルーキャッシュルールを使用する際の考慮事項

Amazon ECRプルスルーキャッシュルールを使用する場合は、次の点を考慮してください。

  • 次のリージョンでは、プルスルーキャッシュルールの作成はサポートされていません。

    • 中国 (北京) (cn-north-1)

    • 中国 (寧夏) (cn-northwest-1)

    • AWS GovCloud (米国東部) (us-gov-east-1

    • AWS GovCloud (米国西部) (us-gov-west-1

  • AWS Lambda は、プルスルーキャッシュルールECRを使用した Amazon からのコンテナイメージのプルをサポートしていません。

  • プルスルーキャッシュを使用してイメージをプルする場合、Amazon ECRFIPSサービスエンドポイントはイメージを初めてプルするときにサポートされません。ただし、Amazon ECRFIPSサービスエンドポイントを使用すると、その後のプルでも機能します。

  • キャッシュされたイメージが Amazon ECRプライベートレジストリ を介してプルされるとURI、イメージのプルは AWS IP アドレスによって開始されます。これにより、アップストリームレジストリが実行するプルレートクォータに対して、イメージのプルがカウントされないようになります。

  • キャッシュされたイメージが Amazon ECRプライベートレジストリ を介してプルされるとURI、Amazon は少なくとも 24 時間に 1 回アップストリームリポジトリECRをチェックして、キャッシュされたイメージが最新バージョンかどうかを確認します。アップストリームレジストリに新しいイメージがある場合、Amazon はキャッシュされたイメージの更新ECRを試みます。このタイマーは、キャッシュされたイメージの最後のプルに基づいています。

  • Amazon ECRが何らかの理由でアップストリームレジストリからイメージを更新できず、イメージがプルされた場合でも、最後にキャッシュされたイメージはプルされます。

  • アップストリームのレジストリ認証情報を含む Secrets Manager シークレットを作成する場合、シークレット名には ecr-pullthroughcache/ プレフィックスを使用する必要があります。シークレットは、プルスルーキャッシュルールが作成されたのと同じアカウントとリージョンにある必要もあります。

  • プルスルーキャッシュルールを使用してマルチアーキテクチャイメージをプルすると、マニフェストリストとマニフェストリストで参照される各イメージが Amazon ECRリポジトリにプルされます。特定のアーキテクチャのみをプルする場合は、マニフェストリストに関連付けられたタグではなく、アーキテクチャに関連付けられたイメージダイジェストまたはタグを使用してイメージをプルできます。

  • Amazon は、サービスにリンクされたIAMロールECRを使用します。このロールは、Amazon がリポジトリECRを作成し、認証のために Secrets Manager シークレット値を取得し、ユーザーに代わってキャッシュされたイメージをプッシュするために必要なアクセス許可を提供します。サービスにリンクされたIAMロールは、プルスルーキャッシュルールが作成されると自動的に作成されます。詳細については、「プルスルーキャッシュ用の Amazon ECRサービスにリンクされたロール」を参照してください。

  • デフォルトでは、キャッシュされたイメージをプルするIAMプリンシパルには、IAMポリシーを通じてアクセス許可が付与されます。Amazon ECRプライベートレジストリのアクセス許可ポリシーを使用して、IAMエンティティのアクセス許可の範囲をさらに絞り込むことができます。詳細については、「レジストリ許可の使用」を参照してください。

  • プルスルーキャッシュワークフローを使用して作成された Amazon ECR リポジトリは、他の Amazon ECRリポジトリと同様に扱われます。レプリケーションやイメージスキャンなど、すべてのリポジトリ機能がサポートされています。

  • Amazon がプルスルーキャッシュアクションを使用してユーザーに代わって新しいリポジトリECRを作成する場合、一致するリポジトリ作成テンプレートがない限り、次のデフォルト設定がリポジトリに適用されます。リポジトリ作成テンプレートを使用して、Amazon がECRユーザーに代わって作成したリポジトリに適用される設定を定義できます。詳細については、「プルスルーキャッシュまたはレプリケーションアクション中に作成されたリポジトリを制御するテンプレート」を参照してください。

    • タグのイミュータビリティ — オフにすると、タグは変更可能になり上書きできます。

    • 暗号化 — デフォルトの AES256 暗号化が使用されます。

    • リポジトリ権限 — 省略。リポジトリ権限ポリシーは適用されません。

    • ライフサイクルポリシー — 省略。ライフサイクルポリシーは適用されません。

    • リソースタグ — 省略。リソースタグは適用されません。

  • プルスルーキャッシュルールを使用してリポジトリのイメージタグのイミュータビリティを有効にすると、Amazon が同じタグを使用してイメージECRを更新できなくなります。

  • プルスルーキャッシュルールを使用してイメージをプルすると、インターネットへのルートが初めて必要になる場合があります。インターネットへのルートが必要な状況がいくつかあるため、障害を避けるためにルートを設定するのが最善です。したがって、 を使用してインターフェイスVPCエンドポイントを使用するECRように Amazon を設定している場合は AWS PrivateLink 、最初のプルにインターネットへのルートがあることを確認する必要があります。これを行う 1 つの方法はVPC、インターネットゲートウェイを使用して同じ にパブリックサブネットを作成し、すべてのアウトバウンドトラフィックをプライベートサブネットからパブリックサブネットにインターネットにルーティングすることです。プルスルーキャッシュルールを使用した後続のイメージプルでは、これは必要ありません。詳細については、Amazon Virtual Private Cloud ユーザーガイドの「ルートオプションの例」を参照してください。