Creación de una regla de caché de extracción en Amazon ECR
Para cada registro principal que contenga imágenes que desee almacenar en caché en su registro privado de Amazon ECR, deberá crear una regla de caché de extracción.
En el caso de los registros principales que requieren autenticación, debe almacenar las credenciales en un secreto de Secrets Manager. Puede usar un secreto existente de o crear uno nuevo. Puede crear el secreto de Secrets Manager en la consola de Amazon ECR o en la de Secrets Manager. Para crear el secreto de Secrets Manager en la consola de Secrets Manager en lugar de la de Amazon ECR, consulte Almacenar en secreto las credenciales del repositorio principal AWS Secrets Manager.
Requisitos previos
-
Compruebe que tiene los permisos de IAM necesarios para crear reglas de caché de extracción. Para obtener más información, consulte Permisos de IAM necesarios para sincronizar un registro principal con un registro privado de Amazon ECR.
-
Para los registros principales que requieren autenticación: si desea utilizar un secreto existente, compruebe que el secreto de Secrets Manager cumpla los siguientes requisitos:
-
El nombre del secreto comienza con
ecr-pullthroughcache/
. La AWS Management Console solo muestra los secretos de Secrets Manager con el prefijoecr-pullthroughcache/
. -
La cuenta y la región en las que se encuentra el secreto deben coincidir con la cuenta y la región en las que se encuentra la regla de caché de extracción.
-
Para crear una regla de caché de extracción (AWS Management Console)
Los siguientes pasos muestran cómo crear una regla de caché de extracción y un secreto de Secrets Manager mediante la consola de Amazon ECR. Para crear un secreto desde la consola de Secrets Manager, consulte Almacenar en secreto las credenciales del repositorio principal AWS Secrets Manager.
Abra la consola de Amazon ECR en https://console.aws.amazon.com/ecr/
. -
Desde la barra de navegación, elija la región en la que desea configurar su registro privado.
-
En el panel de navegación, elija Private registry (Registro privado), Pull through cache (Caché de extracción).
-
En la página Pull through cache configuration(Configuración de caché de extracción), elija Add rule (Agregar regla).
-
En la página del Paso 1: Especificar un origen, en Registro, elija Amazon ECR Public, Kubernetes o Quay de la lista de registros principales y, a continuación, elija Siguiente.
-
En la página del Paso 2: Especificar un destino, en Prefijo del repositorio de Amazon ECR, especifique el prefijo del espacio de nombres del repositorio que se utilizará al almacenar en caché las imágenes extraídas del registro público de origen y, a continuación, seleccione Siguiente. De forma predeterminada, se rellena un espacio de nombres pero también se puede especificar un espacio de nombres personalizado.
-
En la página del Paso 3: Revisar y crear, revise la configuración de la regla de caché de extracción y, a continuación, seleccione Crear.
-
Repita el paso anterior para cada caché de extracción que desee crear. Las reglas de caché de extracción se crean por separado para cada región.
Abra la consola de Amazon ECR en https://console.aws.amazon.com/ecr/
. -
Desde la barra de navegación, elija la región en la que desea configurar su registro privado.
-
En el panel de navegación, elija Private registry (Registro privado), Pull through cache (Caché de extracción).
-
En la página Pull through cache configuration(Configuración de caché de extracción), elija Add rule (Agregar regla).
-
En la página del Paso 1: Especificar un origen, en Registro, elija Docker Hub, Siguiente.
-
En la página del Paso 2: Configurar la autenticación, en Credenciales principales, debe almacenar las credenciales de autenticación de Docker Hub en un secreto de AWS Secrets Manager. Puede especificar un secreto existente o utilizar la consola Amazon ECR para crear uno nuevo.
-
Para usar un secreto existente, elija Usar un AWS secreto existente. En Nombre secreto, usa el menú desplegable para seleccionar tu secreto existente y, a continuación, selecciona Siguiente.
nota
La AWS Management Console solo muestra los secretos de Secrets Manager con nombres que usan el prefijo
ecr-pullthroughcache/
. El secreto también debe estar en la misma cuenta y región en las que se creó la regla de caché de extracción. -
Para crear un secreto nuevo, selecciona Crear un AWS secreto, haz lo siguiente y, a continuación, selecciona Siguiente.
-
En Nombre secreto, especifique un nombre descriptivo para el secreto. Los nombres de los secretos deben contener de 1 a 512 caracteres Unicode.
-
En correo de Docker Hub, especifique su correo de Docker Hub.
-
Para el token de acceso a Docker Hub, especifique su token de acceso a Docker Hub. Para obtener más información sobre cómo crear un token de acceso de Docker Hub, consulta Crear y administrar los tokens de acceso
en la documentación de Docker.
-
-
-
En la página del Paso 3: Especificar un destino, para Prefijo del repositorio de Amazon ECR, especifique el prefijo del espacio de nombres del repositorio que se utilizará al almacenar en caché las imágenes extraídas del registro público de origen y, a continuación, seleccione Siguiente.
De forma predeterminada, se rellena un espacio de nombres pero también se puede especificar un espacio de nombres personalizado.
-
En la página del Paso 4: Revisar y crear, revise la configuración de la regla de caché de extracción y, a continuación, seleccione Crear.
-
Repita el paso anterior para cada caché de extracción que desee crear. Las reglas de caché de extracción se crean por separado para cada región.
Abra la consola de Amazon ECR en https://console.aws.amazon.com/ecr/
. -
Desde la barra de navegación, elija la región en la que desea configurar su registro privado.
-
En el panel de navegación, elija Private registry (Registro privado), Pull through cache (Caché de extracción).
-
En la página Pull through cache configuration(Configuración de caché de extracción), elija Add rule (Agregar regla).
-
En la página del Paso 1: Especificar un origen, en Registro, elija GitHub Container Registry, Siguiente.
-
En la página del Paso 2: Configurar la autenticación, en Credenciales principales, debe almacenar las credenciales de autenticación de GitHub Container Registry en un secreto de AWS Secrets Manager. Puede especificar un secreto existente o utilizar la consola Amazon ECR para crear uno nuevo.
-
Para usar un secreto existente, elija Usar un AWS secreto existente. En Nombre secreto, usa el menú desplegable para seleccionar tu secreto existente y, a continuación, selecciona Siguiente.
nota
La AWS Management Console solo muestra los secretos de Secrets Manager con nombres que usan el prefijo
ecr-pullthroughcache/
. El secreto también debe estar en la misma cuenta y región en las que se creó la regla de caché de extracción. -
Para crear un secreto nuevo, selecciona Crear un AWS secreto, haz lo siguiente y, a continuación, selecciona Siguiente.
-
En Nombre secreto, especifique un nombre descriptivo para el secreto. Los nombres de los secretos deben contener de 1 a 512 caracteres Unicode.
-
Para el nombre de usuario de GitHub Container Registry, especifica tu nombre de usuario de GitHub Container Registry.
-
Para el token de acceso a GitHub Container Registry, especifica tu token de acceso a GitHub Container Registry. Para obtener más información sobre cómo crear un token de acceso de GitHub, consulta Administrar tus tokens de acceso personal
en la documentación de GitHub.
-
-
-
En la página del Paso 3: Especificar un destino, para Prefijo del repositorio de Amazon ECR, especifique el prefijo del espacio de nombres del repositorio que se utilizará al almacenar en caché las imágenes extraídas del registro público de origen y, a continuación, seleccione Siguiente.
De forma predeterminada, se rellena un espacio de nombres pero también se puede especificar un espacio de nombres personalizado.
-
En la página del Paso 4: Revisar y crear, revise la configuración de la regla de caché de extracción y, a continuación, seleccione Crear.
-
Repita el paso anterior para cada caché de extracción que desee crear. Las reglas de caché de extracción se crean por separado para cada región.
Abra la consola de Amazon ECR en https://console.aws.amazon.com/ecr/
. -
Desde la barra de navegación, elija la región en la que desea configurar su registro privado.
-
En el panel de navegación, elija Private registry (Registro privado), Pull through cache (Caché de extracción).
-
En la página Pull through cache configuration(Configuración de caché de extracción), elija Add rule (Agregar regla).
-
En la página del Paso 1: Especificar un origen, haga lo siguiente.
-
Para Registry, elija Microsoft Azure Container Registry
-
En URL del registro de origen, especifique el nombre de Microsoft Azure Container Registry y, a continuación, elija Siguiente.
importante
Solo necesita especificar el prefijo, ya que el
.azurecr.io
sufijo se rellena en su nombre.
-
-
En la página del Paso 2: Configurar la autenticación, en Credenciales principales, debe almacenar las credenciales de autenticación de Microsoft Azure Container Registry en un secreto de AWS Secrets Manager. Puede especificar un secreto existente o utilizar la consola Amazon ECR para crear uno nuevo.
-
Para usar un secreto existente, elija Usar un AWS secreto existente. En Nombre secreto, usa el menú desplegable para seleccionar tu secreto existente y, a continuación, selecciona Siguiente.
nota
La AWS Management Console solo muestra los secretos de Secrets Manager con nombres que usan el prefijo
ecr-pullthroughcache/
. El secreto también debe estar en la misma cuenta y región en las que se creó la regla de caché de extracción. -
Para crear un secreto nuevo, selecciona Crear un AWS secreto, haz lo siguiente y, a continuación, selecciona Siguiente.
-
En Nombre secreto, especifique un nombre descriptivo para el secreto. Los nombres de los secretos deben contener de 1 a 512 caracteres Unicode.
-
Para el nombre de usuario de Microsoft Azure Container Registry, especifique su nombre de usuario de Microsoft Azure Container Registry.
-
Para el nombre de usuario de Microsoft Azure Container Registry, especifique su nombre de usuario de Microsoft Azure Container Registry. Para obtener más información sobre la creación de un token de acceso a Microsoft Azure Container Registry, consulte Crear token: portal
en la documentación de Microsoft Azure.
-
-
-
En la página del Paso 3: Especificar un destino, para Prefijo del repositorio de Amazon ECR, especifique el prefijo del espacio de nombres del repositorio que se utilizará al almacenar en caché las imágenes extraídas del registro público de origen y, a continuación, seleccione Siguiente.
De forma predeterminada, se rellena un espacio de nombres pero también se puede especificar un espacio de nombres personalizado.
-
En la página del Paso 4: Revisar y crear, revise la configuración de la regla de caché de extracción y, a continuación, seleccione Crear.
-
Repita el paso anterior para cada caché de extracción que desee crear. Las reglas de caché de extracción se crean por separado para cada región.
Abra la consola de Amazon ECR en https://console.aws.amazon.com/ecr/
. -
Desde la barra de navegación, elija la región en la que desea configurar su registro privado.
-
En el panel de navegación, elija Private registry (Registro privado), Pull through cache (Caché de extracción).
-
En la página Pull through cache configuration(Configuración de caché de extracción), elija Add rule (Agregar regla).
-
En la página del Paso 1: especificar un origen, en Registro, elija GitLab Container Registry, Siguiente.
-
En la página del Paso 2: Configurar la autenticación, en Credenciales principales, debe almacenar las credenciales de autenticación de GitLab Container Registry en un secreto de AWS Secrets Manager. Puede especificar un secreto existente o utilizar la consola Amazon ECR para crear uno nuevo.
-
Para usar un secreto existente, elija Usar un AWS secreto existente. En Nombre secreto, usa el menú desplegable para seleccionar tu secreto existente y, a continuación, selecciona Siguiente. Para obtener más información sobre la creación de un secreto de Secrets Manager mediante la consola de Secrets Manager, consulteAlmacenar en secreto las credenciales del repositorio principal AWS Secrets Manager.
nota
La AWS Management Console solo muestra los secretos de Secrets Manager con nombres que usan el prefijo
ecr-pullthroughcache/
. El secreto también debe estar en la misma cuenta y región en las que se creó la regla de caché de extracción. -
Para crear un secreto nuevo, selecciona Crear un AWS secreto, haz lo siguiente y, a continuación, selecciona Siguiente.
-
En Nombre secreto, especifique un nombre descriptivo para el secreto. Los nombres de los secretos deben contener de 1 a 512 caracteres Unicode.
-
Para el nombre de usuario de GitLab Container Registry, especifica tu nombre de usuario de GitLab Container Registry.
-
Para el token de acceso a GitLab Container Registry, especifica tu token de acceso a GitLab Container Registry. Para obtener más información acerca de cómo crear un token de acceso a GitLab Container Registry, consulta Tokens de acceso personal
, Tokens de acceso grupal o Tokens de acceso a proyectos , en la documentación de GitLab.
-
-
-
En la página del Paso 3: Especificar un destino, para Prefijo del repositorio de Amazon ECR, especifique el prefijo del espacio de nombres del repositorio que se utilizará al almacenar en caché las imágenes extraídas del registro público de origen y, a continuación, seleccione Siguiente.
De forma predeterminada, se rellena un espacio de nombres pero también se puede especificar un espacio de nombres personalizado.
-
En la página del Paso 4: Revisar y crear, revise la configuración de la regla de caché de extracción y, a continuación, seleccione Crear.
-
Repita el paso anterior para cada caché de extracción que desee crear. Las reglas de caché de extracción se crean por separado para cada región.
Para crear una regla de caché de extracción (AWS CLI)
Use el comando de la AWS CLI create-pull-through-cache-rule para crear una regla de caché de extracción para un registro privado de Amazon ECR. En el caso de los registros originales que requieren autenticación, debe almacenar las credenciales en un secreto de Secrets Manager. Para crear un secreto desde la consola de Secrets Manager, consulte Almacenar en secreto las credenciales del repositorio principal AWS Secrets Manager.
Se proporcionan los siguientes ejemplos para cada registro ascendente compatible.
En el siguiente ejemplo se crea una regla de caché de extracción para el registro público de Amazon ECR. Especifica un prefijo de repositorio ecr-public
, lo que da como resultado que cada repositorio se cree mediante la regla de caché de extracción para tener el esquema de nomenclatura de 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
En el siguiente ejemplo se crea una regla de extracción de caché para el registro público de Kubernetes. Especifica un prefijo de repositorio kubernetes
, lo que da como resultado que cada repositorio se cree mediante la regla de caché de extracción para tener el esquema de nomenclatura de kubernetes/
.upstream-repository-name
aws ecr create-pull-through-cache-rule \ --ecr-repository-prefix
kubernetes
\ --upstream-registry-url registry.k8s.io \ --regionus-east-2
El siguiente ejemplo crea una regla de extracción de caché para el registro público de Quay. Especifica un prefijo de repositorio quay
, lo que da como resultado que cada repositorio se cree mediante la regla de caché de extracción para tener el esquema de nomenclatura de quay/
.upstream-repository-name
aws ecr create-pull-through-cache-rule \ --ecr-repository-prefix
quay
\ --upstream-registry-url quay.io \ --regionus-east-2
El siguiente ejemplo crea una regla de caché de extracción para el registro de Docker Hub. Especifica un prefijo de repositorio docker-hub
, lo que da como resultado que cada repositorio se cree mediante la regla de caché de extracción para tener el esquema de nomenclatura de docker-hub/
. Debe especificar el nombre de recurso de Amazon (ARN) completo del secreto que contiene las credenciales de Docker Hub.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
El siguiente ejemplo crea una regla de caché de extracción para el GitHub Container Registry. Especifica un prefijo de repositorio docker-hub
, lo que da como resultado que cada repositorio se cree mediante la regla de caché de extracción para tener el esquema de nomenclatura de github/
. Debe especificar el nombre de recurso de Amazon (ARN) completo del secreto que contiene las credenciales de GitHub Container Registry.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
El siguiente ejemplo crea una regla de caché de extracción para el Microsoft Azure Container Registry. Especifica un prefijo de repositorio azure
, lo que da como resultado que cada repositorio se cree mediante la regla de caché de extracción para tener el esquema de nomenclatura de azure/
. Debe especificar el nombre de recurso de Amazon (ARN) completo del secreto que contiene las credenciales de Microsoft Azure Container Registry.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
El siguiente ejemplo crea una regla de caché de extracción para el GitHub Container Registry. Especifica un prefijo de repositorio gitlab
, lo que da como resultado que cada repositorio se cree mediante la regla de caché de extracción para tener el esquema de nomenclatura de gitlab/
. Debe especificar el nombre de recurso de Amazon (ARN) completo del secreto que contiene las credenciales de GitLab Container Registry.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
Siguientes pasos
Una vez que haya creado las reglas de caché de extracción, continúe con los siguientes pasos:
-
Cree una plantilla de creación de repositorios. Puede utilizar una plantilla de creación de repositorios para definir la configuración que se aplicará a los repositorios creados por Amazon ECR en su nombre durante una acción de caché de extracción. Para obtener más información, consulte Plantillas para controlar los repositorios creados durante una acción de extracción, caché o replicación.
-
Valide sus reglas de caché de extracción. Al validar una regla de caché de extracción, Amazon ECR establece una conexión de red con el registro principal, comprueba que puede acceder al secreto de Secrets Manager que contiene las credenciales del registro ascendente y que la autenticación se ha realizado correctamente. Para obtener más información, consulte Validación de reglas de caché de extracción en Amazon ECR.
-
Comience a usar sus reglas de caché de extracción. Para obtener más información, consulte Extracción de una imagen con una regla de caché de extracción en Amazon ECR.