Creación de una regla de caché de extracción en Amazon ECR - Amazon ECR

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

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 anteriores que requieren autenticación con secretos, 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 información, consulte Permisos de IAM necesarios para sincronizar un registro principal con un registro privado de Amazon ECR.

  • Para los registros anteriores que requieren autenticación con secretos: 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 prefijo ecr-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.

  1. Abra la consola Amazon ECR en https://console.aws.amazon.com/ecr/.

  2. Desde la barra de navegación, elija la región en la que desea configurar su registro privado.

  3. En el panel de navegación, elija Private registry (Registro privado), Pull through cache (Caché de extracción).

  4. En la página Pull through cache configuration(Configuración de caché de extracción), elija Add rule (Agregar regla).

  5. 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.

  6. 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.

  7. 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.

  8. 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.

  1. Abra la consola Amazon ECR en https://console.aws.amazon.com/ecr/.

  2. Desde la barra de navegación, elija la región en la que desea configurar su registro privado.

  3. En el panel de navegación, elija Private registry (Registro privado), Pull through cache (Caché de extracción).

  4. En la página Pull through cache configuration(Configuración de caché de extracción), elija Add rule (Agregar regla).

  5. En la página del Paso 1: Especificar un origen, en Registro, elija Docker Hub, Siguiente.

  6. 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.

    1. 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

      AWS Management Console Solo muestra los secretos de Secrets Manager con nombres que usan el ecr-pullthroughcache/ prefijo. 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.

    2. Para crear un secreto nuevo, selecciona Crear un AWS secreto, haz lo siguiente y, a continuación, selecciona Siguiente.

      1. En Nombre secreto, especifique un nombre descriptivo para el secreto. Los nombres de los secretos deben contener de 1 a 512 caracteres Unicode.

      2. En correo de Docker Hub, especifique su correo de Docker Hub.

      3. 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.

  7. 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.

  8. 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.

  9. 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.

  1. Abra la consola Amazon ECR en https://console.aws.amazon.com/ecr/.

  2. Desde la barra de navegación, elija la región en la que desea configurar su registro privado.

  3. En el panel de navegación, elija Private registry (Registro privado), Pull through cache (Caché de extracción).

  4. En la página Pull through cache configuration(Configuración de caché de extracción), elija Add rule (Agregar regla).

  5. En el paso 1: especifique una página de origen, en Registry, elija GitHub Container Registry y, a continuación.

  6. En la página Paso 2: Configurar la autenticación, en el caso de las credenciales de Upstream, debe guardar en AWS Secrets Manager secreto las credenciales de autenticación de GitHub Container Registry. Puede especificar un secreto existente o utilizar la consola Amazon ECR para crear uno nuevo.

    1. Para usar un secreto existente, selecciona Usar un AWS secreto existente. En Nombre secreto, usa el menú desplegable para seleccionar tu secreto existente y, a continuación, selecciona Siguiente.

      nota

      AWS Management Console Solo muestra los secretos de Secrets Manager con nombres que usan el ecr-pullthroughcache/ prefijo. 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.

    2. Para crear un secreto nuevo, selecciona Crear un AWS secreto, haz lo siguiente y, a continuación, selecciona Siguiente.

      1. En Nombre secreto, especifique un nombre descriptivo para el secreto. Los nombres de los secretos deben contener de 1 a 512 caracteres Unicode.

      2. Como nombre de usuario de GitHub Container Registry, especifique su nombre de usuario de GitHub Container Registry.

      3. Para el token de acceso a GitHub Container Registry, especifique su token de acceso a GitHub Container Registry. Para obtener más información sobre cómo crear un token de GitHub acceso, consulta Administrar tus tokens de acceso personales en la GitHub documentación.

  7. 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.

  8. 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.

  9. 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.

  1. Abra la consola Amazon ECR en https://console.aws.amazon.com/ecr/.

  2. Desde la barra de navegación, elija la región en la que desea configurar su registro privado.

  3. En el panel de navegación, elija Private registry (Registro privado), Pull through cache (Caché de extracción).

  4. En la página Pull through cache configuration(Configuración de caché de extracción), elija Add rule (Agregar regla).

  5. En la página del Paso 1: Especificar un origen, haga lo siguiente.

    1. Para Registry, elija Microsoft Azure Container Registry

    2. 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.

  6. 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.

    1. 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

      AWS Management Console Solo muestra los secretos de Secrets Manager con nombres que usan el ecr-pullthroughcache/ prefijo. 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.

    2. Para crear un secreto nuevo, selecciona Crear un AWS secreto, haz lo siguiente y, a continuación, selecciona Siguiente.

      1. En Nombre secreto, especifique un nombre descriptivo para el secreto. Los nombres de los secretos deben contener de 1 a 512 caracteres Unicode.

      2. Para el nombre de usuario de Microsoft Azure Container Registry, especifique su nombre de usuario de Microsoft Azure Container Registry.

      3. 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.

  7. 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.

  8. 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.

  9. 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.

  1. Abra la consola Amazon ECR en https://console.aws.amazon.com/ecr/.

  2. Desde la barra de navegación, elija la región en la que desea configurar su registro privado.

  3. En el panel de navegación, elija Private registry (Registro privado), Pull through cache (Caché de extracción).

  4. En la página Pull through cache configuration(Configuración de caché de extracción), elija Add rule (Agregar regla).

  5. En el paso 1: especifique una página de origen, en Registry, elija GitLab Container Registry y, a continuación.

  6. En la página Paso 2: Configurar la autenticación, en el caso de las credenciales de Upstream, debe guardar en AWS Secrets Manager secreto las credenciales de autenticación de GitLab Container Registry. Puede especificar un secreto existente o utilizar la consola Amazon ECR para crear uno nuevo.

    1. Para usar un secreto existente, selecciona 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

      AWS Management Console Solo muestra los secretos de Secrets Manager con nombres que usan el ecr-pullthroughcache/ prefijo. 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.

    2. Para crear un secreto nuevo, selecciona Crear un AWS secreto, haz lo siguiente y, a continuación, selecciona Siguiente.

      1. En Nombre secreto, especifique un nombre descriptivo para el secreto. Los nombres de los secretos deben contener de 1 a 512 caracteres Unicode.

      2. Como nombre de usuario de GitLab Container Registry, especifique su nombre de usuario de GitLab Container Registry.

      3. Para el token de acceso a GitLab Container Registry, especifique su token de acceso a GitLab Container Registry. Para obtener más información sobre cómo crear un token de acceso a GitLab Container Registry, consulta los tokens de acceso personal, los tokens de acceso grupal o los tokens de acceso a proyectos en la GitLab documentación.

  7. 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.

  8. 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.

  9. 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.

  1. Abra la consola Amazon ECR en https://console.aws.amazon.com/ecr/.

  2. En la barra de navegación, elija la región en la que desee configurar los ajustes de registro privado.

  3. En el panel de navegación, elija Private registry (Registro privado), Pull through cache (Caché de extracción).

  4. En la página Pull through cache configuration(Configuración de caché de extracción), elija Add rule (Agregar regla).

  5. En la página Paso 1: Especificar origen, en Registry, elija Amazon ECR Private y This account. En Región, seleccione la región para el registro original de Amazon ECR y, a continuación, elija Siguiente.

  6. En la página Paso 2: Especificar los espacios de nombres, para el espacio de nombres de caché, elija si desea crear repositorios de caché extraíbles con un prefijo específico o sin prefijo. Si selecciona un prefijo específico, debe especificar un nombre de prefijo para usarlo como parte del espacio de nombres para almacenar en caché las imágenes del registro original.

  7. En el caso del espacio de nombres upstream, elija si desea utilizar un prefijo específico que exista en el registro upstream. Si no selecciona ningún prefijo, puede extraerlo de cualquier repositorio del registro principal. Especifique el prefijo del repositorio ascendente si se le solicita y, a continuación, seleccione Siguiente.

    nota

    Para obtener más información sobre la personalización de los espacios de nombres ascendentes y de caché, consulte. Personalización de los prefijos del repositorio para que el ECR extraiga la memoria caché

  8. 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.

  9. Repita estos pasos para cada caché extraíble que desee crear. Las reglas de caché de extracción se crean por separado para cada región.

  1. Abra la consola Amazon ECR en https://console.aws.amazon.com/ecr/.

  2. Desde la barra de navegación, elija la región en la que desea configurar su registro privado.

  3. En el panel de navegación, elija Private registry (Registro privado), Pull through cache (Caché de extracción).

  4. En la página Pull through cache configuration(Configuración de caché de extracción), elija Add rule (Agregar regla).

  5. En la página Paso 1: Especificar origen, en Registro, elija Amazon ECR Private and Cross Account. En Región, seleccione la región para el registro original de Amazon ECR. En Cuenta, especifique el ID de AWS cuenta para el registro de Amazon ECR original y, a continuación, seleccione Siguiente.

  6. En la página Paso 2: Especificar los permisos, en el caso de la función de IAM, seleccione una función para utilizarla para el acceso a la memoria caché entre cuentas y, a continuación, seleccione Crear.

    nota

    Asegúrese de seleccionar el rol de IAM que usa los permisos creados en. Se requieren políticas de IAM para transferir la memoria caché de ECR a ECR entre cuentas

  7. En la página Paso 3: Especificar los espacios de nombres, para el espacio de nombres de caché, elija si desea crear repositorios de caché extraíbles con un prefijo específico o sin prefijo. Si selecciona un prefijo específico, debe especificar un nombre de prefijo para usarlo como parte del espacio de nombres para almacenar en caché las imágenes del registro original.

  8. En el caso del espacio de nombres upstream, elija si desea utilizar un prefijo específico que exista en el registro upstream. Si no selecciona ningún prefijo, puede extraerlo de cualquier repositorio del registro principal. Especifique el prefijo del repositorio ascendente si se le solicita y, a continuación, seleccione Siguiente.

    nota

    Para obtener más información sobre la personalización de los espacios de nombres ascendentes y de caché, consulte. Personalización de los prefijos del repositorio para que el ECR extraiga la memoria caché

  9. 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.

  10. Repita estos pasos para cada caché extraíble 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)

Utilice el AWS CLI comando create-pull-through-cache-rule para crear una regla de extracción de caché para un registro privado de Amazon ECR. En el caso de los registros anteriores que requieren autenticación con secretos, 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 \ --region us-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 \ --region us-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 \ --region us-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/upstream-repository-name. Debe especificar el nombre de recurso de Amazon (ARN) completo del secreto que contiene las credenciales de Docker Hub.

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

En el siguiente ejemplo, se crea una regla de extracción de caché para el GitHub Container Registry. Especifica un prefijo de repositorio github, 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/upstream-repository-name. Debe especificar el nombre de recurso de Amazon (ARN) completo del secreto que contiene sus credenciales de GitHub Container Registry.

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

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/upstream-repository-name. Debe especificar el nombre de recurso de Amazon (ARN) completo del secreto que contiene las credenciales de Microsoft Azure Container Registry.

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

En el siguiente ejemplo, se crea una regla de extracción de caché para el GitLab 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/upstream-repository-name. Debe especificar el nombre de recurso de Amazon (ARN) completo del secreto que contiene sus credenciales de GitLab Container Registry.

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

El siguiente ejemplo crea una regla de extracción de caché para el registro privado de Amazon ECR para Cross-Region dentro de la misma AWS cuenta. Especifica un prefijo de repositorio ecr, 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/upstream-repository-name.

aws ecr create-pull-through-cache-rule \ --ecr-repository-prefix ecr \ --upstream-registry-url aws_account_id.dkr.ecr.region.amazonaws.com \ --region us-east-2

El siguiente ejemplo crea una regla de extracción de caché para el registro privado de Amazon ECR para Cross-Region dentro de la misma AWS cuenta. Especifica un prefijo de repositorio ecr, 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/upstream-repository-name. Debe especificar el nombre de recurso de Amazon (ARN) completo de la función de IAM con los permisos creados en. Creación de una regla de caché de extracción en Amazon ECR

aws ecr create-pull-through-cache-rule \ --ecr-repository-prefix ecr \ --upstream-registry-url aws_account_id.dkr.ecr.region.amazonaws.com \ --custom-role-arn arn:aws:iam::aws_account_id:role/example-role \ --region us-east-2

Pasos a seguir a continuación

Una vez que haya creado las reglas de caché de extracción, continúe con los siguientes pasos: