翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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 シークレットに保存する。
で Amazon ECRコンソールを開きますhttps://console.aws.amazon.com/ecr/
。 -
ナビゲーションバーから、プライベートレジストリ設定を構成するリージョンを選択します。
-
ナビゲーションペインで、[Private registry] (プライベートレジストリ)、[Pull through cache] (プルスルーキャッシュ) の順に選択します。
-
[Pull through cache configuration] (プルスルーキャッシュの設定) ページで、[Add rule] (ルールの追加) を選択します。
-
ステップ 1: レジストリ のソースページを指定し、アップストリームレジストリのリストから Amazon ECR Public、Kubernetes、または Quay を選択し、Next を選択します。
-
ステップ 2: Amazon リポジトリプレフィックス の送信先ページを指定し、ソースパブリックレジストリからプルされたイメージをキャッシュするときに使用するリポジトリ名前空間プレフィックスを指定し、次へ を選択します。 ECR デフォルトでは、名前空間は設定されていますが、カスタム名前空間も指定できます。
-
[ステップ 3: 確認と作成] ページで、プルスルーキャッシュルールの設定を確認し、[作成] を選択します。
-
作成する各プルスルーキャッシュに対して、前のステップを繰り返します。プルスルーキャッシュルールは、リージョンごとに個別に作成されます。
で Amazon ECRコンソールを開きますhttps://console.aws.amazon.com/ecr/
。 -
ナビゲーションバーから、プライベートレジストリ設定を構成するリージョンを選択します。
-
ナビゲーションペインで、[Private registry] (プライベートレジストリ)、[Pull through cache] (プルスルーキャッシュ) の順に選択します。
-
[Pull through cache configuration] (プルスルーキャッシュの設定) ページで、[Add rule] (ルールの追加) を選択します。
-
[ステップ 1: ソースを指定] ページの [レジストリ] で [Docker Hub] を選択し、[次へ] を選択します。
-
[ステップ 2: 認証の設定] ページの [アップストリームの認証情報] では、Docker Hub の認証認証情報を AWS Secrets Manager シークレットに保存する必要があります。既存のシークレットを指定するか、Amazon ECRコンソールを使用して新しいシークレットを作成できます。
-
既存のシークレットを使用するには、既存のシーク AWS レットを使用する を選択します。[シークレット名] では、ドロップダウンを使用して既存のシークレットを選択し、[次へ] を選択します。
注記
には、
ecr-pullthroughcache/
プレフィックスを使用して名前を持つ Secrets Manager シークレット AWS Management Console のみが表示されます。シークレットは、プルスルーキャッシュルールが作成されたのと同じアカウントとリージョンにある必要もあります。 -
新しいシークレットを作成するには、[ AWS シークレットを作成する] を選択し、次の操作を行って、[次へ] を選択します。
-
[シークレット名] には、シークレットのわかりやすい名前を指定します。シークレット名は 1~512 文字の Unicode 文字で構成されます。
-
Docker Hub の E メール には、Docker Hub の E メールを指定します。
-
[Docker Hub のアクセストークン]には、Docker Hub アクセストークンを指定します。Docker Hub アクセストークンの作成について詳しくは、Docker ドキュメントの「Create and manage access tokens
」を参照してください。
-
-
-
ステップ 3: Amazon リポジトリプレフィックス の送信先ページを指定し、ソースパブリックレジストリからプルされたイメージをキャッシュするときに使用するリポジトリ名前空間を指定し、次へ を選択します。 ECR
デフォルトでは、名前空間は設定されていますが、カスタム名前空間も指定できます。
-
[ステップ 4: 確認と作成] ページで、プルスルーキャッシュルールの設定を確認し、[作成] を選択します。
-
作成する各プルスルーキャッシュに対して、前のステップを繰り返します。プルスルーキャッシュルールは、リージョンごとに個別に作成されます。
で Amazon ECRコンソールを開きますhttps://console.aws.amazon.com/ecr/
。 -
ナビゲーションバーから、プライベートレジストリ設定を構成するリージョンを選択します。
-
ナビゲーションペインで、[Private registry] (プライベートレジストリ)、[Pull through cache] (プルスルーキャッシュ) の順に選択します。
-
[Pull through cache configuration] (プルスルーキャッシュの設定) ページで、[Add rule] (ルールの追加) を選択します。
-
ステップ 1: ソースページを指定し、レジストリ で GitHub Container Registry 、Next を選択します。
-
ステップ 2: 認証ページの設定で、アップストリーム認証情報 の場合、 GitHub コンテナレジストリの認証情報をシークレットに保存 AWS Secrets Manager する必要があります。既存のシークレットを指定するか、Amazon ECRコンソールを使用して新しいシークレットを作成できます。
-
既存のシークレットを使用するには、既存の AWS シークレットを使用する を選択します。[シークレット名] では、ドロップダウンを使用して既存のシークレットを選択し、[次へ] を選択します。
注記
には、
ecr-pullthroughcache/
プレフィックスを使用して名前を持つ Secrets Manager シークレット AWS Management Console のみが表示されます。シークレットは、プルスルーキャッシュルールが作成されたのと同じアカウントとリージョンにある必要もあります。 -
新しいシークレットを作成するには、[ AWS シークレットを作成する] を選択し、次の操作を行って、[次へ] を選択します。
-
[シークレット名] には、シークレットのわかりやすい名前を指定します。シークレット名は 1~512 文字の Unicode 文字で構成されます。
-
GitHub Container Registry ユーザー名 には、 GitHub Container Registry ユーザー名を指定します。
-
GitHub Container Registry アクセストークン には、 GitHub Container Registry アクセストークンを指定します。 GitHub アクセストークンの作成の詳細については、 GitHub ドキュメントの「個人用アクセストークンの管理
」を参照してください。
-
-
-
ステップ 3: Amazon リポジトリプレフィックス の送信先ページを指定し、ソースパブリックレジストリからプルされたイメージをキャッシュするときに使用するリポジトリ名前空間を指定し、次へ を選択します。 ECR
デフォルトでは、名前空間は設定されていますが、カスタム名前空間も指定できます。
-
[ステップ 4: 確認と作成] ページで、プルスルーキャッシュルールの設定を確認し、[作成] を選択します。
-
作成する各プルスルーキャッシュに対して、前のステップを繰り返します。プルスルーキャッシュルールは、リージョンごとに個別に作成されます。
で Amazon ECRコンソールを開きますhttps://console.aws.amazon.com/ecr/
。 -
ナビゲーションバーから、プライベートレジストリ設定を構成するリージョンを選択します。
-
ナビゲーションペインで、[Private registry] (プライベートレジストリ)、[Pull through cache] (プルスルーキャッシュ) の順に選択します。
-
[Pull through cache configuration] (プルスルーキャッシュの設定) ページで、[Add rule] (ルールの追加) を選択します。
-
[ステップ 1:ソースの指定] ページで、以下の操作を行います。
-
[レジストリ] には、[Microsoft Azure コンテナレジストリ] を選択します。
-
ソースレジストリ でURL、Microsoft Azure コンテナレジストリの名前を指定し、次へ を選択します。
重要
.azurecr.io
サフィックスはユーザーに代わって入力されるため、プレフィックスを指定するだけで済みます。
-
-
[ステップ 2: 認証の設定] ページの [アップストリームの認証情報] では、Microsoft Azure コンテナレジストリ の認証認証情報を AWS Secrets Manager シークレットに保存する必要があります。既存のシークレットを指定するか、Amazon ECRコンソールを使用して新しいシークレットを作成できます。
-
既存のシークレットを使用するには、既存のシーク AWS レットを使用する を選択します。[シークレット名] では、ドロップダウンを使用して既存のシークレットを選択し、[次へ] を選択します。
注記
には、
ecr-pullthroughcache/
プレフィックスを使用して名前を持つ Secrets Manager シークレット AWS Management Console のみが表示されます。シークレットは、プルスルーキャッシュルールが作成されたのと同じアカウントとリージョンにある必要もあります。 -
新しいシークレットを作成するには、[ AWS シークレットを作成する] を選択し、次の操作を行って、[次へ] を選択します。
-
[シークレット名] には、シークレットのわかりやすい名前を指定します。シークレット名は 1~512 文字の Unicode 文字で構成されます。
-
[Microsoft Azure コンテナレジストリのユーザー名] には、Microsoft Azure コンテナーレジストリのユーザー名を指定します。
-
[Microsoft Azure コンテナレジストリのアクセストークン] には、Microsoft Azure コンテナレジストリのアクセストークンを指定します。Microsoft Azure コンテナレジストリアクストークンの作成について詳しくは、Microsoft Azure ドキュメントの「トークンを作成する - ポータル
」を参照してください。
-
-
-
ステップ 3: Amazon リポジトリプレフィックス の送信先ページを指定し、ソースパブリックレジストリからプルされたイメージをキャッシュするときに使用するリポジトリ名前空間を指定し、次へ を選択します。 ECR
デフォルトでは、名前空間は設定されていますが、カスタム名前空間も指定できます。
-
[ステップ 4: 確認と作成] ページで、プルスルーキャッシュルールの設定を確認し、[作成] を選択します。
-
作成する各プルスルーキャッシュに対して、前のステップを繰り返します。プルスルーキャッシュルールは、リージョンごとに個別に作成されます。
で Amazon ECRコンソールを開きますhttps://console.aws.amazon.com/ecr/
。 -
ナビゲーションバーから、プライベートレジストリ設定を構成するリージョンを選択します。
-
ナビゲーションペインで、[Private registry] (プライベートレジストリ)、[Pull through cache] (プルスルーキャッシュ) の順に選択します。
-
[Pull through cache configuration] (プルスルーキャッシュの設定) ページで、[Add rule] (ルールの追加) を選択します。
-
ステップ 1: ソースページを指定し、レジストリで GitLab Container Registry, Next を選択します。
-
ステップ 2: 認証ページの設定で、アップストリーム認証情報 の場合、 GitLab コンテナレジストリの認証情報を AWS Secrets Manager シークレットに保存する必要があります。既存のシークレットを指定するか、Amazon ECRコンソールを使用して新しいシークレットを作成できます。
-
既存のシークレットを使用するには、既存のシーク AWS レットを使用する を選択します。[シークレット名] では、ドロップダウンを使用して既存のシークレットを選択し、[次へ] を選択します。Secrets Manager コンソールを使用して Secrets Manager シークレットを作成する方法の詳細については、アップストリームリポジトリの認証情報を AWS Secrets Manager シークレットに保存する を参照してください。
注記
には、
ecr-pullthroughcache/
プレフィックスを使用して名前を持つ Secrets Manager シークレット AWS Management Console のみが表示されます。シークレットは、プルスルーキャッシュルールが作成されたのと同じアカウントとリージョンにある必要もあります。 -
新しいシークレットを作成するには、[ AWS シークレットを作成する] を選択し、次の操作を行って、[次へ] を選択します。
-
[シークレット名] には、シークレットのわかりやすい名前を指定します。シークレット名は 1~512 文字の Unicode 文字で構成されます。
-
GitLab Container Registry ユーザー名 には、 GitLab Container Registry ユーザー名を指定します。
-
Container GitLab Registry アクセストークン には、Container Registry アクセストークンを指定します。 GitLab GitLab コンテナレジストリアクセストークンの作成の詳細については、 GitLab ドキュメントの「個人アクセストークン
」、「グループアクセストークン 」、または「プロジェクトアクセストークン 」を参照してください。
-
-
-
ステップ 3: Amazon リポジトリプレフィックス の送信先ページを指定し、ソースパブリックレジストリからプルされたイメージをキャッシュするときに使用するリポジトリ名前空間を指定し、次へ を選択します。 ECR
デフォルトでは、名前空間は設定されていますが、カスタム名前空間も指定できます。
-
[ステップ 4: 確認と作成] ページで、プルスルーキャッシュルールの設定を確認し、[作成] を選択します。
-
作成する各プルスルーキャッシュに対して、前のステップを繰り返します。プルスルーキャッシュルールは、リージョンごとに個別に作成されます。
プルスルーキャッシュルールを作成するには (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 \ --regionus-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 \ --regionus-east-2
次の例では、Quay パブリックレジストリのプルスルーキャッシュルールを作成します。リポジトリプレフィックス quay
を指定します。この結果、プルスルーキャッシュルールを使用して作成された各リポジトリは命名スキーム quay/
を持ちます。upstream-repository-name
aws ecr create-pull-through-cache-rule \ --ecr-repository-prefix
quay
\ --upstream-registry-url quay.io \ --regionus-east-2
次の例では、Docker Hub レジストリのプルスルーキャッシュルールを作成します。リポジトリプレフィックス docker-hub
を指定します。この結果、プルスルーキャッシュルールを使用して作成された各リポジトリは命名スキーム docker-hub/
を持ちます。Docker Hub 認証情報を含むシークレットの完全な Amazon リソースネーム (ARN) を指定する必要があります。upstream-repository-name
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
\ --regionus-east-2
次の例では、 GitHub コンテナレジストリのプルスルーキャッシュルールを作成します。リポジトリプレフィックス docker-hub
を指定します。この結果、プルスルーキャッシュルールを使用して作成された各リポジトリは命名スキーム github/
を持ちます。 GitHub コンテナレジストリの認証情報を含むシークレットの完全な Amazon リソースネーム (ARN) を指定する必要があります。upstream-repository-name
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
\ --regionus-east-2
次の例では、Microsoft Azure Container Registry のプルスルーキャッシュルールを作成します。リポジトリプレフィックス azure
を指定します。この結果、プルスルーキャッシュルールを使用して作成された各リポジトリは命名スキーム azure/
を持ちます。Microsoft Azure Container Registry 認証情報を含むシークレットの完全な Amazon リソースネーム (ARN) を指定する必要があります。upstream-repository-name
aws ecr create-pull-through-cache-rule \ --ecr-repository-prefix
azure
\ --upstream-registry-urlmyregistry
.azurecr.io \ --credential-arn arn:aws:secretsmanager:us-east-2
:111122223333
:secret:ecr-pullthroughcache/example1234
\ --regionus-east-2
次の例では、 GitLab コンテナレジストリのプルスルーキャッシュルールを作成します。リポジトリプレフィックス gitlab
を指定します。この結果、プルスルーキャッシュルールを使用して作成された各リポジトリは命名スキーム gitlab/
を持ちます。 GitLab コンテナレジストリの認証情報を含むシークレットの完全な Amazon リソースネーム (ARN) を指定する必要があります。upstream-repository-name
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
\ --regionus-east-2
次のステップ
プルスルーキャッシュルールを作成したら、次のステップは次のとおりです。
-
リポジトリ作成テンプレートを作成します。リポジトリ作成テンプレートを使用すると、プルスルーキャッシュアクション中に Amazon がECRユーザーに代わって作成した新しいリポジトリに使用する設定を定義できます。詳細については、「プルスルーキャッシュまたはレプリケーションアクション中に作成されたリポジトリを制御するテンプレート」を参照してください。
-
プルスルーキャッシュルールを検証します。プルスルーキャッシュルールを検証すると、Amazon はアップストリームレジストリとのネットワーク接続ECRを行い、アップストリームレジストリの認証情報を含む Secrets Manager シークレットにアクセスできること、および認証が成功したことを確認します。詳細については、「Amazon でのプルスルーキャッシュルールの検証 ECR」を参照してください。
-
プルスルーキャッシュルールの使用を開始します。詳細については、「Amazon のプルスルーキャッシュルールを使用してイメージをプルする ECR」を参照してください。