Amazon でのプルスルーキャッシュルールの作成 ECR - Amazon ECR

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

Amazon でのプルスルーキャッシュルールの作成 ECR

Amazon ECRプライベートレジストリにキャッシュするイメージを含むアップストリームレジストリごとに、プルスルーキャッシュルールを作成する必要があります。

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

前提条件

  • プルスルーキャッシュルールを作成するための適切なIAMアクセス許可があることを確認します。詳細については、IAM アップストリームレジストリと Amazon ECRプライベートレジストリを同期するために必要な アクセス許可 を参照してください。

  • 認証が必要なアップストリームレジストリの場合: 既存のシークレットを使用する場合は、Secrets Manager シークレットが次の要件を満たしていることを確認します。

    • シークレットの名前は で始まりますecr-pullthroughcache/。は、 AWS Management Console ecr-pullthroughcache/プレフィックスを持つ Secrets Manager シークレットのみを表示します。

    • シークレットがあるアカウントとリージョンは、プルスルーキャッシュルールがあるアカウントとリージョンと一致する必要があります。

プルスルーキャッシュルールの作成 (AWS Management Console)

次の手順は、Amazon ECRコンソールを使用してプルスルーキャッシュルールと Secrets Manager シークレットを作成する方法を示しています。Secrets Manager コンソールを使用してシークレットを作成するには、「」を参照してくださいシーク AWS Secrets Manager レットへのアップストリームリポジトリ認証情報の保存

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

  2. ナビゲーションバーから、プライベートレジストリ設定を構成するリージョンを選択します。

  3. ナビゲーションペインで、[Private registry] (プライベートレジストリ)、[Pull through cache] (プルスルーキャッシュ) の順に選択します。

  4. [Pull through cache configuration] (プルスルーキャッシュの設定) ページで、[Add rule] (ルールの追加) を選択します。

  5. ステップ 1: ソースページ、レジストリ で、アップストリームレジストリのリストから Amazon ECR Public、Kubernetes、または Quay を選択し、次へ を選択します。

  6. ステップ 2: 送信先ページの Amazon ECRリポジトリプレフィックス で、ソースパブリックレジストリからプルされたイメージをキャッシュするときに使用するリポジトリ名前空間プレフィックスを指定し、次へ を選択します。デフォルトでは、名前空間は設定されていますが、カスタム名前空間も指定できます。

  7. [ステップ 3: 確認と作成] ページで、プルスルーキャッシュルールの設定を確認し、[作成] を選択します。

  8. 作成する各プルスルーキャッシュに対して、前のステップを繰り返します。プルスルーキャッシュルールは、リージョンごとに個別に作成されます。

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

  2. ナビゲーションバーから、プライベートレジストリ設定を構成するリージョンを選択します。

  3. ナビゲーションペインで、[Private registry] (プライベートレジストリ)、[Pull through cache] (プルスルーキャッシュ) の順に選択します。

  4. [Pull through cache configuration] (プルスルーキャッシュの設定) ページで、[Add rule] (ルールの追加) を選択します。

  5. [ステップ 1: ソースを指定] ページの [レジストリ][Docker Hub] を選択し、[次へ] を選択します。

  6. [ステップ 2: 認証の設定] ページの [アップストリームの認証情報] では、Docker Hub の認証認証情報を AWS Secrets Manager シークレットに保存する必要があります。既存のシークレットを指定するか、Amazon ECRコンソールを使用して新しいシークレットを作成できます。

    1. 既存のシークレットを使用するには、既存のシーク AWS レットを使用する を選択します。[シークレット名] では、ドロップダウンを使用して既存のシークレットを選択し、[次へ] を選択します。

      注記

      は、 ecr-pullthroughcache/プレフィックスを使用する名前の Secrets Manager シークレット AWS Management Console のみを表示します。シークレットは、プルスルーキャッシュルールが作成されたのと同じアカウントとリージョンにある必要もあります。

    2. 新しいシークレットを作成するには、[ AWS シークレットを作成する] を選択し、次の操作を行って、[次へ] を選択します。

      1. [シークレット名] には、シークレットのわかりやすい名前を指定します。シークレット名は 1~512 文字の Unicode 文字で構成されます。

      2. Docker Hub E メール で、Docker Hub E メールを指定します。

      3. [Docker Hub のアクセストークン]には、Docker Hub アクセストークンを指定します。Docker Hub アクセストークンの作成について詳しくは、Docker ドキュメントの「Create and manage access tokens」を参照してください。

  7. ステップ 3: 送信先ページの Amazon ECRリポジトリプレフィックス で、ソースパブリックレジストリからプルされたイメージをキャッシュするときに使用するリポジトリ名前空間を指定し、次へ を選択します。

    デフォルトでは、名前空間は設定されていますが、カスタム名前空間も指定できます。

  8. [ステップ 4: 確認と作成] ページで、プルスルーキャッシュルールの設定を確認し、[作成] を選択します。

  9. 作成する各プルスルーキャッシュに対して、前のステップを繰り返します。プルスルーキャッシュルールは、リージョンごとに個別に作成されます。

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

  2. ナビゲーションバーから、プライベートレジストリ設定を構成するリージョンを選択します。

  3. ナビゲーションペインで、[Private registry] (プライベートレジストリ)、[Pull through cache] (プルスルーキャッシュ) の順に選択します。

  4. [Pull through cache configuration] (プルスルーキャッシュの設定) ページで、[Add rule] (ルールの追加) を選択します。

  5. ステップ 1: ソースページを指定するで、レジストリ で、GitHub コンテナレジストリ 次へ を選択します。

  6. ステップ 2: 認証を設定するページで、アップストリーム認証情報 に対して、 GitHub コンテナレジストリの認証情報を シークレットに保存 AWS Secrets Manager する必要があります。既存のシークレットを指定するか、Amazon ECRコンソールを使用して新しいシークレットを作成できます。

    1. 既存のシークレットを使用するには、既存のシーク AWS レットを使用する を選択します。[シークレット名] では、ドロップダウンを使用して既存のシークレットを選択し、[次へ] を選択します。

      注記

      は、 ecr-pullthroughcache/プレフィックスを使用する名前の Secrets Manager シークレット AWS Management Console のみを表示します。シークレットは、プルスルーキャッシュルールが作成されたのと同じアカウントとリージョンにある必要もあります。

    2. 新しいシークレットを作成するには、[ AWS シークレットを作成する] を選択し、次の操作を行って、[次へ] を選択します。

      1. [シークレット名] には、シークレットのわかりやすい名前を指定します。シークレット名は 1~512 文字の Unicode 文字で構成されます。

      2. GitHub コンテナレジストリのユーザー名 には、 GitHub コンテナレジストリのユーザー名を指定します。

      3. GitHub コンテナレジストリアクセストークン で、 GitHub コンテナレジストリアクセストークンを指定します。 GitHub アクセストークンの作成の詳細については、 GitHub ドキュメントの「個人用アクセストークンの管理」を参照してください。

  7. ステップ 3: 送信先ページの Amazon ECRリポジトリプレフィックス で、ソースパブリックレジストリからプルされたイメージをキャッシュするときに使用するリポジトリ名前空間を指定し、次へ を選択します。

    デフォルトでは、名前空間は設定されていますが、カスタム名前空間も指定できます。

  8. [ステップ 4: 確認と作成] ページで、プルスルーキャッシュルールの設定を確認し、[作成] を選択します。

  9. 作成する各プルスルーキャッシュに対して、前のステップを繰り返します。プルスルーキャッシュルールは、リージョンごとに個別に作成されます。

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

  2. ナビゲーションバーから、プライベートレジストリ設定を構成するリージョンを選択します。

  3. ナビゲーションペインで、[Private registry] (プライベートレジストリ)、[Pull through cache] (プルスルーキャッシュ) の順に選択します。

  4. [Pull through cache configuration] (プルスルーキャッシュの設定) ページで、[Add rule] (ルールの追加) を選択します。

  5. [ステップ 1:ソースの指定] ページで、以下の操作を行います。

    1. [レジストリ] には、[Microsoft Azure コンテナレジストリ] を選択します。

    2. ソースレジストリ でURL、Microsoft Azure コンテナレジストリの名前を指定し、次へ を選択します。

      重要

      .azurecr.io サフィックスはユーザーに代わって入力されるため、プレフィックスを指定するだけで済みます。

  6. [ステップ 2: 認証の設定] ページの [アップストリームの認証情報] では、Microsoft Azure コンテナレジストリ の認証認証情報を AWS Secrets Manager シークレットに保存する必要があります。既存のシークレットを指定するか、Amazon ECRコンソールを使用して新しいシークレットを作成できます。

    1. 既存のシークレットを使用するには、既存のシーク AWS レットを使用する を選択します。[シークレット名] では、ドロップダウンを使用して既存のシークレットを選択し、[次へ] を選択します。

      注記

      は、 ecr-pullthroughcache/プレフィックスを使用する名前の Secrets Manager シークレット AWS Management Console のみを表示します。シークレットは、プルスルーキャッシュルールが作成されたのと同じアカウントとリージョンにある必要もあります。

    2. 新しいシークレットを作成するには、[ AWS シークレットを作成する] を選択し、次の操作を行って、[次へ] を選択します。

      1. [シークレット名] には、シークレットのわかりやすい名前を指定します。シークレット名は 1~512 文字の Unicode 文字で構成されます。

      2. [Microsoft Azure コンテナレジストリのユーザー名] には、Microsoft Azure コンテナーレジストリのユーザー名を指定します。

      3. [Microsoft Azure コンテナレジストリのアクセストークン] には、Microsoft Azure コンテナレジストリのアクセストークンを指定します。Microsoft Azure コンテナレジストリアクストークンの作成について詳しくは、Microsoft Azure ドキュメントの「トークンを作成する - ポータル」を参照してください。

  7. ステップ 3: 送信先ページの Amazon ECRリポジトリプレフィックス で、ソースパブリックレジストリからプルされたイメージをキャッシュするときに使用するリポジトリ名前空間を指定し、次へ を選択します。

    デフォルトでは、名前空間は設定されていますが、カスタム名前空間も指定できます。

  8. [ステップ 4: 確認と作成] ページで、プルスルーキャッシュルールの設定を確認し、[作成] を選択します。

  9. 作成する各プルスルーキャッシュに対して、前のステップを繰り返します。プルスルーキャッシュルールは、リージョンごとに個別に作成されます。

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

  2. ナビゲーションバーから、プライベートレジストリ設定を構成するリージョンを選択します。

  3. ナビゲーションペインで、[Private registry] (プライベートレジストリ)、[Pull through cache] (プルスルーキャッシュ) の順に選択します。

  4. [Pull through cache configuration] (プルスルーキャッシュの設定) ページで、[Add rule] (ルールの追加) を選択します。

  5. ステップ 1: ソースを指定するページの Registry で、 GitLab Container Registry, Next を選択します。

  6. ステップ 2: 認証を設定するページで、アップストリーム認証情報 の場合、 GitLab コンテナレジストリの認証情報を シークレットに保存 AWS Secrets Manager する必要があります。既存のシークレットを指定するか、Amazon ECRコンソールを使用して新しいシークレットを作成できます。

    1. 既存のシークレットを使用するには、既存のシーク AWS レットを使用する を選択します。[シークレット名] では、ドロップダウンを使用して既存のシークレットを選択し、[次へ] を選択します。Secrets Manager コンソールを使用して Secrets Manager シークレットを作成する方法の詳細については、シーク AWS Secrets Manager レットへのアップストリームリポジトリ認証情報の保存 を参照してください。

      注記

      は、 ecr-pullthroughcache/プレフィックスを使用する名前の Secrets Manager シークレット AWS Management Console のみを表示します。シークレットは、プルスルーキャッシュルールが作成されたのと同じアカウントとリージョンにある必要もあります。

    2. 新しいシークレットを作成するには、[ AWS シークレットを作成する] を選択し、次の操作を行って、[次へ] を選択します。

      1. [シークレット名] には、シークレットのわかりやすい名前を指定します。シークレット名は 1~512 文字の Unicode 文字で構成されます。

      2. GitLab コンテナレジストリのユーザー名 には、 GitLab コンテナレジストリのユーザー名を指定します。

      3. GitLab コンテナレジストリアクセストークン で、 GitLab コンテナレジストリアクセストークンを指定します。 GitLab コンテナレジストリアクセストークンの作成の詳細については、 GitLab ドキュメントの「個人用アクセストークン」、「グループアクセストークン」、または「プロジェクトアクセストークン」を参照してください。

  7. ステップ 3: 送信先ページの Amazon ECRリポジトリプレフィックス で、ソースパブリックレジストリからプルされたイメージをキャッシュするときに使用するリポジトリ名前空間を指定し、次へ を選択します。

    デフォルトでは、名前空間は設定されていますが、カスタム名前空間も指定できます。

  8. [ステップ 4: 確認と作成] ページで、プルスルーキャッシュルールの設定を確認し、[作成] を選択します。

  9. 作成する各プルスルーキャッシュに対して、前のステップを繰り返します。プルスルーキャッシュルールは、リージョンごとに個別に作成されます。

プルスルーキャッシュルールを作成するには (AWS CLI)

create-pull-through-cache-rule AWS CLI コマンドを使用して、Amazon ECRプライベートレジストリのプルスルーキャッシュルールを作成します。認証が必要なアップストリームレジストリでは、認証情報を Secrets Manager シークレットに保存する必要があります。Secrets Manager コンソールを使用してシークレットを作成するには、「」を参照してくださいシーク AWS Secrets Manager レットへのアップストリームリポジトリ認証情報の保存

以下の例は、サポートされている各アップストリームレジストリについて提供されています。

次の例では、Amazon ECR Public レジストリのプルスルーキャッシュルールを作成します。リポジトリプレフィックス ecr-public を指定します。この結果、プルスルーキャッシュルールを使用して作成された各リポジトリは命名スキーム ecr-public/upstream-repository-name を持ちます。

aws ecr create-pull-through-cache-rule \ --ecr-repository-prefix ecr-public \ --upstream-registry-url public.ecr.aws \ --region us-east-2

次の例では、Kubernetes パブリックレジストリのプルスルーキャッシュルールを作成します。リポジトリプレフィックス kubernetes を指定します。この結果、プルスルーキャッシュルールを使用して作成された各リポジトリは命名スキーム kubernetes/upstream-repository-name を持ちます。

aws ecr create-pull-through-cache-rule \ --ecr-repository-prefix kubernetes \ --upstream-registry-url registry.k8s.io \ --region us-east-2

次の例では、Quay パブリックレジストリのプルスルーキャッシュルールを作成します。リポジトリプレフィックス quay を指定します。この結果、プルスルーキャッシュルールを使用して作成された各リポジトリは命名スキーム quay/upstream-repository-name を持ちます。

aws ecr create-pull-through-cache-rule \ --ecr-repository-prefix quay \ --upstream-registry-url quay.io \ --region us-east-2

次の例では、Docker Hub レジストリのプルスルーキャッシュルールを作成します。リポジトリプレフィックス docker-hub を指定します。この結果、プルスルーキャッシュルールを使用して作成された各リポジトリは命名スキーム docker-hub/upstream-repository-name を持ちます。Docker Hub 認証情報を含むシークレットの完全な Amazon リソースネーム (ARN) を指定する必要があります。

aws ecr create-pull-through-cache-rule \ --ecr-repository-prefix docker-hub \ --upstream-registry-url registry-1.docker.io \ --credential-arn arn:aws:secretsmanager:us-east-2:111122223333:secret:ecr-pullthroughcache/example1234 \ --region us-east-2

次の例では、 GitHub コンテナレジストリのプルスルーキャッシュルールを作成します。リポジトリプレフィックス docker-hub を指定します。この結果、プルスルーキャッシュルールを使用して作成された各リポジトリは命名スキーム github/upstream-repository-name を持ちます。 GitHub コンテナレジストリの認証情報を含むシークレットの完全な Amazon リソースネーム (ARN) を指定する必要があります。

aws ecr create-pull-through-cache-rule \ --ecr-repository-prefix github \ --upstream-registry-url ghcr.io \ --credential-arn arn:aws:secretsmanager:us-east-2:111122223333:secret:ecr-pullthroughcache/example1234 \ --region us-east-2

次の例では、Microsoft Azure Container Registry のプルスルーキャッシュルールを作成します。リポジトリプレフィックス azure を指定します。この結果、プルスルーキャッシュルールを使用して作成された各リポジトリは命名スキーム azure/upstream-repository-name を持ちます。Microsoft Azure Container Registry 認証情報を含むシークレットの完全な Amazon リソースネーム (ARN) を指定する必要があります。

aws ecr create-pull-through-cache-rule \ --ecr-repository-prefix azure \ --upstream-registry-url myregistry.azurecr.io \ --credential-arn arn:aws:secretsmanager:us-east-2:111122223333:secret:ecr-pullthroughcache/example1234 \ --region us-east-2

次の例では、 GitLab コンテナレジストリのプルスルーキャッシュルールを作成します。リポジトリプレフィックス gitlab を指定します。この結果、プルスルーキャッシュルールを使用して作成された各リポジトリは命名スキーム gitlab/upstream-repository-name を持ちます。 GitLab コンテナレジストリの認証情報を含むシークレットの完全な Amazon リソースネーム (ARN) を指定する必要があります。

aws ecr create-pull-through-cache-rule \ --ecr-repository-prefix gitlab \ --upstream-registry-url registry.gitlab.com \ --credential-arn arn:aws:secretsmanager:us-east-2:111122223333:secret:ecr-pullthroughcache/example1234 \ --region us-east-2

次のステップ

プルスルーキャッシュルールを作成した後、次のステップは次のとおりです。