⚠️ Traduction non officielle - Cette documentation est une traduction communautaire non officielle de Docker.

Intégrer Docker Scout avec Amazon ECR

L'intégration de Docker Scout avec Amazon Elastic Container Registry (ECR) vous permet de voir les insights d'image pour les images hébergées dans les dépôts ECR. Après avoir intégré Docker Scout avec ECR et activé Docker Scout pour un dépôt, pousser une image vers le dépôt déclenche automatiquement l'analyse d'image. Vous pouvez voir les insights d'image en utilisant le Tableau de bord Docker Scout, ou les commandes CLI docker scout.

Comment ça fonctionne

Pour vous aider à intégrer Docker Scout avec ECR, vous pouvez utiliser un modèle de pile CloudFormation qui crée et configure les ressources AWS nécessaires pour intégrer Docker Scout avec votre registre ECR. Pour plus de détails sur les ressources AWS, voir Modèle de pile CloudFormation.

Le diagramme suivant montre comment fonctionne l'intégration Docker Scout ECR.

Comment fonctionne l'intégration ECR

Après l'intégration, Docker Scout tire et analyse automatiquement les images que vous poussez vers le registre ECR. Les métadonnées sur vos images sont stockées sur la plateforme Docker Scout, mais Docker Scout ne stocke pas les images de conteneur elles-mêmes. Pour plus d'informations sur comment Docker Scout gère les données d'image, voir Gestion des données.

Modèle de pile CloudFormation

Le tableau suivant décrit les ressources de configuration.

Note

Créer ces ressources engendre un petit coût récurrent sur le compte AWS. La colonne Coût dans le tableau représente un coût mensuel estimé des ressources, lors de l'intégration d'un registre ECR qui reçoit 100 images poussées par jour.

De plus, un coût de sortie s'applique aussi quand Docker Scout tire les images depuis ECR. Le coût de sortie est d'environ 0,09 $ par GB.

Type de ressource Nom de ressource Description Coût
AWS::SNSTopic::Topic SNSTopic Topic SNS pour notifier Docker Scout quand les ressources AWS ont été créées. Gratuit
AWS::SNS::TopicPolicy TopicPolicy Définit le topic pour la notification de configuration initiale. Gratuit
AWS::SecretsManager::Secret ScoutAPICredentials Stocke les identifiants utilisés par EventBridge pour envoyer des événements à Scout. 0,42 $
AWS::Events::ApiDestination ApiDestination Configure la connexion EventBridge à Docker Scout pour envoyer les événements de poussée et suppression ECR. 0,01 $
AWS::Events::Connection Connection Identifiants de connexion EventBridge à Scout. Gratuit
AWS::Events::Rule DockerScoutEcrRule Définit la règle pour envoyer les poussées et suppressions ECR à Scout. Gratuit
AWS::Events::Rule DockerScoutRepoDeletedRule Définit la règle pour envoyer les suppressions de dépôt ECR à Scout. Gratuit
AWS::IAM::Role InvokeApiRole Rôle interne pour accorder l'accès d'événement à ApiDestination. Gratuit
AWS::IAM::Role AssumeRoleEcrAccess Ce rôle a accès à ScoutAPICredentials pour configurer l'intégration Docker Scout. Gratuit

Intégrer votre premier registre

Créez la pile CloudFormation dans votre compte AWS pour activer l'intégration Docker Scout.

Prérequis :

  • Vous devez avoir accès à un compte AWS avec permission de créer des ressources.
  • Vous devez être propriétaire de l'organisation Docker.

Pour créer la pile :

  1. Allez à la page d'intégration ECR sur le Tableau de bord Docker Scout.

  2. Sélectionnez le bouton Créer sur AWS.

    Ceci ouvre l'assistant Créer une pile dans la console AWS CloudFormation dans un nouvel onglet de navigateur. Si vous n'êtes pas déjà connecté à AWS, vous êtes redirigé vers la page de connexion d'abord.

    Si le bouton est grisé, cela signifie qu'il vous manque les permissions nécessaires dans l'organisation Docker.

  3. Suivez les étapes dans l'assistant Créer une pile jusqu'à la fin. Choisissez la région AWS que vous voulez intégrer. Complétez la procédure en créant les ressources.

    Les champs dans l'assistant sont pré-remplis par le modèle CloudFormation, donc vous n'avez pas besoin de modifier les champs.

  4. Quand les ressources ont été créées (le statut CloudFormation montre CREATE_COMPLETE dans la console AWS), retournez à la page d'intégrations ECR dans le Tableau de bord Docker Scout.

    La liste Registres intégrés montre l'ID de compte et la région pour le registre ECR que vous venez d'intégrer. Si réussi, le statut d'intégration est Connecté.

L'intégration ECR est maintenant active. Pour que Docker Scout commence à analyser les images dans le registre, vous devez l'activer pour chaque dépôt dans Paramètres de dépôt.

Après avoir activé les dépôts, les images que vous poussez sont analysées par Docker Scout. Les résultats d'analyse apparaissent dans le Tableau de bord Docker Scout. Si votre dépôt contient déjà des images, Docker Scout tire et analyse automatiquement la dernière version d'image.

Intégrer des registres supplémentaires

Pour ajouter des registres supplémentaires :

  1. Allez à la page d'intégration ECR sur le Tableau de bord Docker Scout.

  2. Sélectionnez le bouton Ajouter en haut de la liste.

  3. Complétez les étapes pour créer les ressources AWS.

  4. Quand les ressources ont été créées, retournez à la page d'intégrations ECR dans le Tableau de bord Docker Scout.

    La liste Registres intégrés montre l'ID de compte et la région pour le registre ECR que vous venez d'intégrer. Si réussi, le statut d'intégration est Connecté.

Ensuite, activez Docker Scout pour les dépôts que vous voulez analyser dans Paramètres de dépôt.

Supprimer l'intégration

Pour supprimer un registre ECR intégré, vous devez être propriétaire de l'organisation Docker.

  1. Allez à la page d'intégration ECR sur le Tableau de bord Docker Scout.

  2. Trouvez le registre que vous voulez supprimer dans la liste des registres intégrés, et sélectionnez l'icône supprimer dans la colonne Actions.

    Si l'icône supprimer est désactivée, cela signifie qu'il vous manque les permissions nécessaires dans l'organisation Docker.

  3. Dans la boîte de dialogue qui s'ouvre, confirmez en sélectionnant Supprimer.

Important

Supprimer l'intégration du tableau de bord Docker Scout ne supprime pas les ressources AWS dans votre compte.

Après avoir supprimé l'intégration dans Docker Scout, allez à la console AWS et supprimez la pile CloudFormation DockerScoutECRIntegration pour l'intégration que vous voulez supprimer.

Dépannage

Impossible d'intégrer le registre

Vérifiez le Statut de l'intégration sur la page d'intégration ECR dans le Tableau de bord Docker Scout.

  • Si le statut est En attente pour une période prolongée, c'est une indication que l'intégration n'a pas encore été complétée côté AWS. Sélectionnez le lien En attente pour ouvrir l'assistant CloudFormation, et complétez toutes les étapes.

  • Un statut Erreur indique que quelque chose s'est mal passé en arrière-plan. Vous pouvez essayer de supprimer l'intégration et la recréer à nouveau.

Les images ECR n'apparaissent pas dans le tableau de bord

Si les résultats d'analyse d'image pour vos images ECR n'apparaissent pas dans le Tableau de bord Docker Scout :

  • Assurez-vous d'avoir activé Docker Scout pour le dépôt. Visualisez et gérez les dépôts actifs dans Paramètres de dépôt.

  • Assurez-vous que l'ID de compte AWS et la région pour votre registre sont listés sur la page d'intégrations ECR.

    L'ID de compte et la région sont inclus dans le nom d'hôte du registre : <aws_account_id>.dkr.ecr.<region>.amazonaws.com/<image>