FAQ Amazon Elastic Container Registry

Questions d’ordre général

Amazon ECR est un registre de conteneurs entièrement géré qui permet aux développeurs de partager et de déployer facilement des images et artefacts de conteneurs. Amazon ECR est intégré à Amazon Elastic Container Service (Amazon ECS)Amazon Elastic Kubernetes Service (Amazon EKS) et AWS Lambda, ce qui simplifie votre flux de travail du développement à la production. Amazon ECR supprime la nécessité de gérer vos propres référentiels de conteneurs ou de vous préoccuper de la mise à l'échelle de l'infrastructure sous-jacente. Amazon ECR héberge vos images dans une architecture hautement disponible et évolutive, ce qui vous permet de déployer avec une grande fiabilité des conteneurs pour vos applications. L'intégration à AWS Identity and Access Management (IAM) fournit un contrôle au niveau des ressources de chaque référentiel, ce qui vous permet de partager des images au sein de votre organisation ou avec n'importe qui dans le monde.

Amazon ECR supprime la nécessité de gérer ou de mettre à l'échelle l'infrastructure requise pour faire fonctionner votre registre de conteneur. Amazon ECR utilise Amazon Simple Storage Service (Amazon S3) pour le stockage, de sorte à rendre les images de vos conteneurs hautement disponibles et accessibles. Vous pouvez ainsi déployer avec une grande fiabilité des conteneurs pour vos applications. Amazon ECR transfère les images de vos conteneurs par le biais de HTTPS et les chiffre automatiquement au repos. Vous pouvez configurer des politiques afin de gérer les autorisations pour chaque référentiel et restreindre l'accès aux utilisateurs et rôles IAM ou aux autres comptes AWS. Amazon ECR s'intègre à Amazon ECS, Amazon EKS, AWS Fargate, AWS Lambda et la CLI Docker, ce qui vous permet de simplifier vos flux de travail de développement et de production. Vous pouvez facilement transférer vos images de conteneur vers Amazon ECR à l'aide de l'interface de ligne de commande Docker à partir de votre machine de développement, et les orchestrateurs de conteneurs Amazon ou le calcul peuvent les extraire directement pour les déploiements de production.

Avec Amazon ECR, aucuns frais initiaux ni engagement. Vous ne payez que la quantité de données que vous stockez dans vos référentiels publics ou privés, et les données transférées sur Internet. Pour plus de détails, consultez la page Tarification.

Amazon ECR est un service régional, conçu pour vous apporter des solutions de déploiement flexibles de vos images. Pour des performances optimales, vous pouvez transférer ou extraire des images dans la même région AWS que celle de votre cluster Docker. Vous pouvez également accéder à Amazon ECR partout où Docker fonctionne, que ce soit sur des bureaux ou sur site. L'extraction d'images entre deux régions ou à partir d'Internet entraînera des coûts de transfert de données et des temps de latence supplémentaires.

Oui. Amazon ECR dispose d'un registre de conteneur et d'un site Web hautement disponibles qui vous permettent de partager ou de rechercher facilement des logiciels de conteneurs publics. Toute personne avec ou sans compte AWS peut utiliser la galerie publique Amazon ECR pour rechercher et télécharger des images de conteneurs couramment utilisées, telles que des systèmes d’exploitation, des images publiées par AWS, et des fichiers, comme les Charts de Helm, pour Kubernetes.

Un référentiel privé n'offre pas de fonctions de recherche de contenu et nécessite une authentification basée sur Amazon IAM à l'aide des informations d'identification de compte AWS avant d'autoriser l'extraction d'images. Un référentiel public possède un contenu descriptif. Il permet à n'importe qui d'extraire des images n'importe où sans disposer d'un compte AWS ni utiliser des informations d'identification IAM. Les images du référentiel public sont également disponibles dans la galerie publique Amazon ECR.
 

Utilisation d'Amazon ECR

Pour bien commencer avec Amazon ECR,utilisez la CLI Docker pour transférer et extraire votre première image. Pour plus d’informations, consultez la page Démarrer.

Oui. Vous pouvez configurer des points de terminaison AWS PrivateLink pour permettre à vos instances d’extraire des images de vos référentiels privés sans passer par l’Internet public.

Amazon ECR fournit une interface de ligne de commande et des API pour créer, contrôler ou supprimer des référentiels, et définir des autorisations de référentiel. Vous pouvez effectuer les mêmes actions dans la console Amazon ECR, accessible depuis la section « Repositories » (Référentiels) de la console Amazon ECR. Amazon ECR s'intègre également à la CLI Docker. Par conséquent, vous pouvez transférer ou extraire des images, et les étiqueter sur votre machine de développement.

Pour publier une image dans la galerie publique Amazon ECR, connectez-vous à votre compte AWS, et transférez-la vers un référentiel public que vous créez. Un alias unique vous est attribué pour chaque compte. Utilisé dans les URL d'image, il identifie toutes les images publiques que vous publiez.

Oui. Vous pouvez demander un alias personnalisé tel que le nom de votre organisation ou de votre projet, sauf s'il s'agit d'un alias réservé. Les noms qui identifient les services AWS sont réservés. Les noms qui identifient les vendeurs AWS Marketplace peuvent également être réservés. Nous examinerons et approuverons votre demande d'alias personnalisé dans quelques jours, sauf si elle enfreint la politique d'utilisation acceptable AWS ou d'autres politiques AWS.

Pour extraire une image, utilisez la commande « docker pull » avec l'URL de l'image. Vous pouvez facilement rechercher cette URL en trouvant des images à l'aide d'un alias d'éditeur, d'un nom d'image ou d'une description d'image à l'aide de la galerie publique Amazon ECR. Les URL d'image sont au format public.ecr.aws/<alias>/<image>:<tag>, par exemple public.ecr.aws/eks/aws-alb-ingress-controller:v1.1.5

Oui. Amazon ECR est conçu pour vous offrir une certaine flexibilité concernant l'emplacement où vous stockez vos images et la manière dont vous les déployez. Vous pouvez créer des pipelines de déploiement qui créent des images, les transférer vers Amazon ECR dans une région, et Amazon ECR peut les répliquer automatiquement vers d'autres régions et comptes pour le déploiement sur des clusters multi régionaux.

Oui. Vous pouvez accéder à Amazon ECR n'importe où, que ce soit dans des bureaux ou sur site, pourvu que Docker fonctionne dans cet environnement.

Oui. Des services tels qu'Amazon EKS, Amazon SageMaker et AWS Lambda publient leurs images et artefacts de conteneurs à usage public officiels sur Amazon ECR.  

Oui. Amazon ECR est intégré à Amazon ECS, ce qui vous permet de stocker, d'exécuter et de gérer très facilement les images de conteneurs pour les applications exécutées avec Amazon ECS. Précisez simplement le référentiel Amazon ECR dans votre définition de tâches, et Amazon ECS récupèrera les images appropriées pour vos applications.

Oui. AWS Elastic Beanstalk prend en charge Amazon ECR pour les environnements Docker à conteneurs uniques et multiples, ce qui vous permet de déployer facilement des images de conteneurs stockées dans Amazon ECR avec AWS Elastic Beanstalk. Il vous suffit d'indiquer le référentiel Amazon ECR dans votre configuration Dockerrun.aws.json et d'attacher la politique AmazonEC2ContainerRegistryReadOnly à votre rôle d'instance de conteneur.

Pour le moment, Amazon ECR prend en charge Docker Engine 1.7.0 et les versions supérieures.

Amazon ECR prend en charge les spécifications de l'API Docker Registry V2.

Non, mais Amazon ECR s'intègre à plusieurs solutions CI/CD bien connues pour parvenir au même résultat. Pour plus d’informations, consultez la page des partenaires Amazon ECR.

Oui. Amazon ECR est intégré à AWS Identity and Access Management (IAM), qui prend en charge la fédération d’identité pour l’accès délégué à la Console de gestion AWS ou aux API AWS.

Amazon ECR prend en charge le format Schema 2 de Docker Image Manifest V2. Afin de maintenir une rétrocompatibilité avec les images au format Schema 1, Amazon ECR continuera d'accepter des images chargées au format Schema 1. En outre, Amazon ECR peut convertir une image Schema 2 en une image Schema 1 lorsque celle-ci est récupérée avec une ancienne version de Docker Engine (1.9 et versions antérieures).

Oui. Amazon ECR est compatible avec la spécification d'image Open Container Initiative (OCI), ce qui vous permet de pousser et d'extraire des images et des artefacts OCI. Amazon ECR peut également convertir des images aux formats Docker Image Manifest V2, Schema 2 et OCI lorsqu'elles sont récupérées.

Sécurité

Amazon ECR chiffre automatiquement les images au repos à l'aide du chiffrement côté serveur Amazon S3 ou du chiffrement AWS KMS, et transfère vos images de conteneurs via HTTPS. Vous pouvez configurer des politiques assurant la gestion des autorisations et le contrôle des accès à vos images via des rôles et utilisateurs AWS Identity and Access Management (IAM), sans avoir à gérer les informations d'identification directement sur vos instances EC2.

Vous pouvez utiliser les politiques IAM basées sur les ressources pour contrôler les personnes ou entités (par exemple, des instances EC2) qui peuvent accéder à vos images de conteneurs, et quand, comment et où elles y accèdent. Pour commencer, créez des politiques basées sur les ressources pour vos référentiels avec la console de gestion AWS. Vous pouvez aussi utiliser des exemples de politiques et les associer à vos référentiels par l'intermédiaire de l'interface de ligne de commande d'Amazon ECR.

Oui. Voici un exemple de comment créer et établir une politique pour le partage d’images entre plusieurs comptes.