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

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

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

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

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

  • Docker Hub、Microsoft Azure Container Registry、、 GitHub Container Registry、および GitLab Container Registry (認証が必要)

  • Amazon ECR パブリック、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 を使用して、そのアップストリームレジストリからイメージをプルするだけです。次に Amazon ECR はリポジトリを作成し、そのイメージをプライベートレジストリにキャッシュします。特定のタグを持つキャッシュされたイメージのその後のプルリクエストで、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 は、プルスルーキャッシュルールを使用した Amazon ECR からのコンテナイメージのプルをサポートしていません。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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