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

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

      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.

    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 de 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 GitHub Container Registry, Siguiente.

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

    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

      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.

    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 GitHub Container Registry, especifica tu nombre de usuario de GitHub Container Registry.

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

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

      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.

    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 de 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 GitLab Container Registry, Siguiente.

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

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

    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 GitLab Container Registry, especifica tu nombre de usuario de GitLab Container Registry.

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

  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.

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

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

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

Siguientes pasos

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