本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 Amazon 中建立提取快取規則 ECR
對於每個包含您想要在 Amazon ECR私有登錄檔中快取之映像的上游登錄檔,您必須建立提取快取規則。
對於需要身分驗證的上游註冊,您必須將憑證存放在 Secrets Manager 秘密中。您可以使用現有的秘密或建立新的秘密。您可以在 Amazon ECR主控台或 Secrets Manager 主控台中建立 Secrets Manager 秘密。若要使用 Secrets Manager 主控台而非 Amazon ECR主控台建立 Secrets Manager 秘密,請參閱 將上游儲存庫憑證存放在 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 秘密中。
在 開啟 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,然後選擇下一步。
-
在步驟 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 秘密 。針對秘密名稱,使用下拉式選單選取您現有的秘密,接著選擇下一步。
注意
AWS Management Console 只會顯示 Secrets Manager 秘密,其中包含使用
ecr-pullthroughcache/
字首的名稱。秘密也必須位於在其中建立提取快取規則的相同帳戶和區域中。 -
若要建立新秘密,請選擇建立 AWS 秘密,執行下列動作,接著選擇下一步。
-
針對秘密名稱,指定秘密的描述性名稱。秘密名稱必須含有 1 至 512 個 Unicode 字元。
-
針對 Docker Hub 電子郵件 ,指定您的 Docker Hub 電子郵件。
-
針對 Docker Hub 存取字符,請指定您的 Docker Hub 存取字符。如需建立 Docker Hub 存取字符的詳細資訊,請參閱 Docker 文件中的建立和管理存取字符
。
-
-
-
在步驟 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 容器登錄檔 ,下一個 。
-
在步驟 2:設定身分驗證頁面上,對於上游憑證 ,您必須將 GitHub AWS Secrets Manager 容器登錄檔的身分驗證憑證存放在秘密中。您可以指定現有的秘密,或使用 Amazon ECR主控台建立新的秘密。
-
若要使用現有的秘密,請選擇使用現有的 AWS 秘密 。針對秘密名稱,使用下拉式選單選取您現有的秘密,接著選擇下一步。
注意
AWS Management Console 只會顯示 Secrets Manager 秘密,其中包含使用
ecr-pullthroughcache/
字首的名稱。秘密也必須位於在其中建立提取快取規則的相同帳戶和區域中。 -
若要建立新秘密,請選擇建立 AWS 秘密,執行下列動作,接著選擇下一步。
-
針對秘密名稱,指定秘密的描述性名稱。秘密名稱必須含有 1 至 512 個 Unicode 字元。
-
針對GitHub 容器登錄檔使用者名稱 ,指定您的 GitHub 容器登錄檔使用者名稱。
-
針對GitHub 容器登錄檔存取權杖 ,指定您的 GitHub 容器登錄檔存取權杖。如需建立 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 Container Registry
-
針對來源登錄檔 URL,指定 Microsoft Azure 容器登錄檔的名稱,然後選擇下一個 。
重要
您只需要指定字首,因為會代表您填入
.azurecr.io
字尾。
-
-
在步驟 2:設定身分驗證頁面上,針對上游憑證,您必須將 Microsoft Azure Container Registry 的身分驗證憑證儲存在 AWS Secrets Manager 秘密中。您可以指定現有的秘密,或使用 Amazon ECR主控台建立新的秘密。
-
若要使用現有的秘密,請選擇使用現有的 AWS 秘密 。針對秘密名稱,使用下拉式選單選取您現有的秘密,接著選擇下一步。
注意
AWS Management Console 只會顯示 Secrets Manager 秘密,其中包含使用
ecr-pullthroughcache/
字首的名稱。秘密也必須位於在其中建立提取快取規則的相同帳戶和區域中。 -
若要建立新秘密,請選擇建立 AWS 秘密,執行下列動作,接著選擇下一步。
-
針對秘密名稱,指定秘密的描述性名稱。秘密名稱必須含有 1 至 512 個 Unicode 字元。
-
對於 Microsoft Azure Container Registry 使用者名稱,請指定您的 MMicrosoft Azure Container Registry 使用者名稱。
-
對於 Microsoft Azure Container Registry 存取字符,請指定您的 Microsoft Azure Container Registry 存取字符。如需建立 Microsoft Azure Container Registry 存取字符的詳細資訊,請參閱 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 容器登錄檔,下一步。
-
在步驟 2:設定身分驗證頁面上,對於上游憑證 ,您必須將 GitLab AWS Secrets Manager 容器登錄檔的身分驗證憑證存放在秘密中。您可以指定現有的秘密,或使用 Amazon ECR主控台建立新的秘密。
-
若要使用現有的秘密,請選擇使用現有的 AWS 秘密 。針對秘密名稱,使用下拉式選單選取您現有的秘密,接著選擇下一步。如需有關使用 Secrets Manager 主控台建立 Secrets Manager 秘密的詳細資訊,請參閱 將上游儲存庫憑證存放在 AWS Secrets Manager 秘密中。
注意
AWS Management Console 只會顯示 Secrets Manager 秘密,其中包含使用
ecr-pullthroughcache/
字首的名稱。秘密也必須位於在其中建立提取快取規則的相同帳戶和區域中。 -
若要建立新秘密,請選擇建立 AWS 秘密,執行下列動作,接著選擇下一步。
-
-
在步驟 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 Resource Name (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 Container Registry 憑證之秘密的完整 Amazon Resource Name (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 Resource Name (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 Container Registry 憑證之秘密的完整 Amazon Resource Name (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。