Compartir comentarios
Las respuestas se generan en base a la documentación.

Integrar Docker Scout con Amazon ECR

Integrar Docker Scout con Amazon Elastic Container Registry (ECR) te permite ver información detallada de las imágenes alojadas en los repositorios de ECR. Después de integrar Docker Scout con ECR y activar Docker Scout para un repositorio, enviar (push) una imagen al repositorio activa automáticamente el análisis de la imagen. Puedes ver la información detallada de las imágenes utilizando el Docker Scout Dashboard o los comandos de la CLI docker scout.

Cómo funciona

Para ayudarte a integrar Docker Scout con ECR, puedes usar una plantilla de pila (stack) de CloudFormation que crea y configura los recursos de AWS necesarios para integrar Docker Scout con tu registro de ECR. Para obtener más detalles sobre los recursos de AWS, consulta Plantilla de pila de CloudFormation.

El siguiente diagrama muestra cómo funciona la integración de Docker Scout con ECR.

Cómo funciona la integración con ECR

Después de la integración, Docker Scout descarga y analiza automáticamente las imágenes que envíes al registro de ECR. Los metadatos de tus imágenes se almacenan en la plataforma de Docker Scout, pero Docker Scout no almacena las imágenes de contenedor en sí. Para obtener más información sobre cómo maneja Docker Scout los datos de las imágenes, consulta Data handling.

Plantilla de pila de CloudFormation

La siguiente tabla describe los recursos de configuración.

Note

La creación de estos recursos genera un pequeño costo recurrente en la cuenta de AWS. La columna Costo de la tabla representa un costo mensual estimado de los recursos al integrar un registro ECR que recibe 100 imágenes enviadas al día.

Además, también se aplica un costo de salida (egreso) cuando Docker Scout descarga las imágenes desde ECR. El costo de salida es de aproximadamente $0.09 por GB.

Tipo de recursoNombre del recursoDescripciónCosto
AWS::SNSTopic::TopicSNSTopicTema (topic) de SNS para notificar a Docker Scout cuando se hayan creado los recursos de AWS.Gratis
AWS::SNS::TopicPolicyTopicPolicyDefine el tema para la notificación de configuración inicial.Gratis
AWS::SecretsManager::SecretScoutAPICredentialsAlmacena las credenciales utilizadas por EventBridge para enviar eventos a Scout.$0.42
AWS::Events::ApiDestinationApiDestinationConfigura la conexión de EventBridge a Docker Scout para enviar eventos de envío y eliminación de ECR.$0.01
AWS::Events::ConnectionConnectionCredenciales de conexión de EventBridge a Scout.Gratis
AWS::Events::RuleDockerScoutEcrRuleDefine la regla para enviar envíos y eliminaciones de ECR a Scout.Gratis
AWS::Events::RuleDockerScoutRepoDeletedRuleDefine la regla para enviar eliminaciones de repositorios ECR a Scout.Gratis
AWS::IAM::RoleInvokeApiRoleRol interno para otorgar acceso al evento a ApiDestination.Gratis
AWS::IAM::RoleAssumeRoleEcrAccessEste rol tiene acceso a ScoutAPICredentials para configurar la integración de Docker Scout.Gratis

Integrar tu primer registro

Crea la pila de CloudFormation en tu cuenta de AWS para habilitar la integración de Docker Scout.

Prerrequisitos:

  • Debes tener acceso a una cuenta de AWS con permisos para crear recursos.
  • Debes ser propietario (owner) de la organización de Docker.

Para crear la pila:

  1. Ve a la página de integración de ECR en el Docker Scout Dashboard.

  2. Selecciona el botón Create on AWS.

    Esto abre el asistente Create stack (Crear pila) en la consola de AWS CloudFormation en una pestaña nueva del navegador. Si aún no has iniciado sesión en AWS, se te redirigirá primero a la página de inicio de sesión.

    Si el botón está deshabilitado (gris), significa que no tienes los permisos necesarios en la organización de Docker.

  3. Sigue los pasos en el asistente Create stack hasta el final. Elige la región de AWS que deseas integrar. Completa el procedimiento creando los recursos.

    Los campos en el asistente están precompletados por la plantilla de CloudFormation, por lo que no necesitas editar ninguno de ellos.

  4. Cuando se hayan creado los recursos (el estado de CloudFormation muestra CREATE_COMPLETE en la consola de AWS), regresa a la página de integraciones de ECR en el Docker Scout Dashboard.

    La lista Integrated registries muestra el ID de cuenta y la región del registro de ECR que acabas de integrar. Si es exitosa, el estado de la integración es Connected.

La integración de ECR ahora está activa. Para que Docker Scout comience a analizar imágenes en el registro, debes activarla para cada repositorio en la configuración de repositorios.

Después de activar los repositorios, las imágenes que envíes serán analizadas por Docker Scout. Los resultados del análisis aparecen en el Docker Scout Dashboard. Si tu repositorio ya contiene imágenes, Docker Scout descarga y analiza la última versión de la imagen automáticamente.

Integrar registros adicionales

Para agregar registros adicionales:

  1. Ve a la página de integración de ECR en el Docker Scout Dashboard.

  2. Selecciona el botón Add en la parte superior de la lista.

  3. Completa los pasos para crear los recursos de AWS.

  4. Cuando se hayan creado los recursos, regresa a la página de integraciones de ECR en el Docker Scout Dashboard.

    La lista Integrated registries muestra el ID de cuenta y la región del registro de ECR que acabas de integrar. Si es exitosa, el estado de la integración es Connected.

A continuación, activa Docker Scout para los repositorios que quieras analizar en la configuración de repositorios.

Eliminar integración

Para eliminar un registro de ECR integrado, debes ser propietario de la organización de Docker.

  1. Ve a la página de integración de ECR en el Docker Scout Dashboard.

  2. Busca el registro que deseas eliminar en la lista de registros integrados y selecciona el ícono de eliminación en la columna Actions.

    Si el ícono de eliminación está deshabilitado, significa que no tienes los permisos necesarios en la organización de Docker.

  3. En el diálogo que se abre, confirma seleccionando Remove.

Important

Eliminar la integración desde el Docker Scout Dashboard no elimina los recursos de AWS en tu cuenta.

Después de eliminar la integración en Docker Scout, ve a la consola de AWS y elimina la pila de CloudFormation DockerScoutECRIntegration correspondiente a la integración que deseas eliminar.

Resolución de problemas

No se puede integrar el registro

Comprueba el Status (Estado) de la integración en la página de integración de ECR en el Docker Scout Dashboard.

  • Si el estado es Pending (Pendiente) durante un período prolongado, indica que la integración aún no se ha completado del lado de AWS. Selecciona el enlace Pending para abrir el asistente de CloudFormation y completa todos los pasos.

  • Un estado de Error indica que algo ha salido mal en el backend. Puedes intentar eliminar la integración y volver a crearla.

Las imágenes de ECR no se muestran en el dashboard

Si los resultados del análisis de imágenes para tus imágenes de ECR no aparecen en el Docker Scout Dashboard:

  • Asegúrate de haber activado Docker Scout para el repositorio. Consulta y administra los repositorios activos en la configuración de repositorios.

  • Asegúrate de que el ID de cuenta de AWS y la región de tu registro aparezcan en la página de integraciones de ECR.

    El ID de cuenta y la región se incluyen en el nombre de host del registro: <aws_account_id>.dkr.ecr.<region>.amazonaws.com/<image>