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

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

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

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

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

前提条件

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

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

    • シークレットの名前は で始まりますecr-pullthroughcache/。には、 AWS Management Console Secrets Manager のシークレットがecr-pullthroughcache/プレフィックスとともにのみ表示されます。

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

プルスルーキャッシュルールの作成 (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 を選択し、Next を選択します。

  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 Container Registry Next を選択します。

  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 Container Registry ユーザー名 には、 GitHub Container Registry ユーザー名を指定します。

      3. GitHub Container Registry アクセストークン には、 GitHub Container Registry アクセストークンを指定します。 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: ソースページを指定し、レジストリで 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 Container Registry ユーザー名 には、 GitLab Container Registry ユーザー名を指定します。

      3. Container GitLab Registry アクセストークン には、Container Registry アクセストークンを指定します。 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

次のステップ

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