View a markdown version of this page

Synchroniser un registre en amont avec un registre privé Amazon ECR - Amazon ECR

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Synchroniser un registre en amont avec un registre privé Amazon ECR

À l'aide de règles de cache d'extraction, vous pouvez synchroniser le contenu d'un registre en amont avec votre registre privé Amazon ECR.

Amazon ECR prend actuellement en charge la création de règles de cache d'extraction pour les registres en amont suivants :

  • Amazon ECR Public, registre d'images de conteneurs Kubernetes et Quay (ne nécessite pas d'authentification)

  • Docker Hub, Microsoft Azure Container Registry, GitHub Container Registry, GitLab Container Registry et Chainguard Registry (nécessite une authentification AWS Secrets Manager secrète)

  • Amazon ECR (nécessite une authentification avec le rôle AWS IAM)

Pour GitLab le registre des conteneurs, Amazon ECR prend en charge l'extraction du cache uniquement avec GitLab l'offre Software as a Service (SaaS). Pour plus d'informations sur GitLab l'offre SaaS d'using, consultez GitLab.com.

Pour les registres en amont qui nécessitent une authentification à l'aide de secrets (tels que Docker Hub), vous devez stocker vos informations d'identification dans un AWS Secrets Manager secret. Vous pouvez utiliser la console Amazon ECR pour créer des secrets Secrets Manager pour chaque registre en amont authentifié. Pour plus d'informations sur la création d'un secret Secrets Manager à l'aide de la console Secrets Manager, consultezStockage des informations d'identification de votre référentiel en amont dans un AWS Secrets Manager secret.

Pour Amazon ECR, vous devez créer un rôle IAM si les registres Amazon ECR en amont et en aval appartiennent à un compte différent. AWS Pour plus d'informations sur la création d'un rôle IAM, consultez Politiques IAM requises pour l'extraction du cache entre comptes ECR entre comptes.

Après avoir créé une règle de cache d'extraction pour le registre en amont, extrayez une image de ce registre en amont à l'aide de l'URI de votre registre privé Amazon ECR. Amazon ECR crée ensuite un référentiel et met cette image en cache dans votre registre privé. Pour les requêtes d'extraction ultérieures de l'image mise en cache avec une balise donnée, Amazon ECR recherche dans le registre en amont une nouvelle version de l'image avec cette balise spécifique et tente de mettre à jour l'image dans votre registre privé au moins une fois toutes les 24 heures.

Modèles de création de référentiels

Amazon ECR a ajouté la prise en charge des modèles de création de référentiels, ce qui vous permet de spécifier les configurations initiales pour les nouveaux référentiels créés par Amazon ECR en votre nom à l'aide de règles de cache d'extraction. Chaque modèle contient un préfixe d'espace de noms de référentiel qui est utilisé pour faire correspondre les nouveaux référentiels à un modèle spécifique. Les modèles peuvent spécifier la configuration de tous les paramètres du référentiel, y compris les politiques d'accès basées sur les ressources, l'immuabilité des balises, le chiffrement et les politiques de cycle de vie. Les paramètres d'un modèle de création de référentiel ne sont appliqués que lors de la création du référentiel et n'ont aucun effet sur les référentiels existants ou les référentiels créés à l'aide d'une autre méthode. Pour plus d’informations, consultez Modèles pour contrôler les référentiels créés lors d'une opération d'extraction du cache, d'une création push ou d'une action de réplication.

Considérations relatives à l'utilisation des règles de cache d'extraction

Lorsque vous utilisez les règles de cache d'extraction d'Amazon ECR, tenez compte des points suivants.

  • AWS Lambda ne prend pas en charge l'extraction d'images de conteneurs depuis Amazon ECR à l'aide d'une règle de cache d'extraction.

  • Lors de l'extraction d'images à l'aide de la mise en cache par extraction, les points de terminaison de service FIPS d'Amazon ECR ne sont pas pris en charge la première fois qu'une image est extraite. L'utilisation des points de terminaison de service FIPS d'Amazon ECR fonctionne cependant pour les extractions suivantes.

  • Pour les référentiels en amont qui nécessitent une authentification, lorsqu'une image est extraite via l'URI du registre privé Amazon ECR pour la première fois ou pour mettre à jour le cache, les extractions d'image sont initiées par l'utilisateur associé aux informations d'identification configurées dans la règle de cache d'extraction. Les extractions suivantes renverront l'image directement depuis le cache du registre privé du client.

  • Pour les référentiels en amont qui ne nécessitent pas d'authentification, lorsqu'une image est extraite via l'URI du registre privé Amazon ECR, les extractions d'image sont initiées par des AWS adresses IP.

  • Lorsqu'un client extrait une image mise en cache via l'URI du registre privé Amazon ECR, Amazon ECR vérifie s'il a validé l'image par rapport au registre en amont au cours des dernières 24 heures. Si le délai de 24 heures a expiré, Amazon ECR envoie une demande en amont pour rechercher une version plus récente et met à jour le cache s'il en existe un. Si la fenêtre n'a pas expiré, Amazon ECR diffuse l'image mise en cache sans contacter le service en amont.

  • L'appel de l'ListImageReferrersAPI à un référentiel créé par extraction dans le cache renvoie les artefacts OCI-compliant de référence dans le cache privé.

  • Amazon ECR vérifie si les artefacts de référence ont été mis à jour au cours des 6 dernières heures. Si le délai de 6 heures a expiré, Amazon ECR envoie une demande en amont pour vérifier la présence de nouvelles versions et met à jour le cache, le cas échéant.

  • Si Amazon ECR ne peut pas mettre à jour l'image depuis le registre en amont pour une raison quelconque et que l'image est extraite, la dernière image mise en cache sera quand même extraite.

  • Lors de la création du secret Secrets Manager qui contient les informations d'identification du registre en amont, le nom du secret doit utiliser le préfixe ecr-pullthroughcache/. Le secret doit également se trouver dans le même compte et dans la même région que ceux dans lesquels est créée la règle de mise en cache par extraction.

  • Lorsqu'une image multi-architecture est extraite à l'aide d'une règle mise en cache par extraction, la liste de manifestes et chaque image référencée dans la liste de manifestes sont extraites vers le référentiel Amazon ECR. Si vous ne souhaitez extraire qu'une architecture spécifique, vous pouvez extraire l'image en utilisant le résumé d'image ou l'identification associée à l'architecture plutôt que l'identification associée à la liste de manifestes.

  • Amazon ECR utilise un rôle IAM lié à un service, qui fournit les autorisations nécessaires à Amazon ECR pour créer le référentiel, récupérer la valeur du secret Secrets Manager pour l'authentification et transmettre l'image mise en cache en votre nom. Le rôle IAM lié à un service est créé automatiquement lorsqu'une règle de mise en cache par extraction est créée. Pour plus d’informations, consultez Rôle lié à un service Amazon ECR pour la mise en cache par extraction.

  • Par défaut, l'utilisateur, le principal IAM qui extrait l'image mise en cache a les autorisations qui lui sont accordées par sa politique IAM. Vous pouvez utiliser la politique d'autorisations du registre privé Amazon ECR pour étendre les autorisations d'une entité IAM. Pour plus d’informations, consultez Utilisation des autorisations de registre.

  • Les référentiels Amazon ECR créés à l'aide du flux de travail de mise en cache par extraction sont traités comme tout autre référentiel Amazon ECR. Toutes les fonctions du référentiel, telles que la réplication et l'analyse d'images, sont prises en charge.

  • Lorsqu'Amazon ECR crée un nouveau référentiel en votre nom à l'aide d'une action de mise en cache par extraction, les paramètres par défaut suivants sont appliqués au référentiel, sauf s'il existe un modèle de création de référentiel correspondant. Vous pouvez utiliser un modèle de création de référentiel pour définir les paramètres appliqués aux référentiels créés par Amazon ECR en votre nom. Pour plus d’informations, consultez Modèles pour contrôler les référentiels créés lors d'une opération d'extraction du cache, d'une création push ou d'une action de réplication.

    • Immuabilité des balises — L'immuabilité des balises indique si les balises d'image peuvent être remplacées. Par défaut, les balises d'image sont modifiables (elles peuvent être remplacées). Vous pouvez modifier le comportement des balises en configurant des filtres d'exclusion de balises soit dans la zone de texte d'exclusion de balises mutables lorsque Mutable est sélectionnée, soit dans la zone de texte d'exclusion de balises immuables lorsque Immutable est sélectionné.

    • Chiffrement : le AES256 chiffrement par défaut est utilisé.

    • Autorisations du référentiel : cette option est omise, aucune politique d'autorisation du référentiel n'est appliquée.

    • Politique de cycle de vie : omise, aucune politique de cycle de vie n'est appliquée.

    • Balises de ressources : cette option est omise, aucune étiquette de ressource n'est appliquée.

  • L'activation de l'immuabilité des balises d'image pour des référentiels à l'aide d'une règle de mise en cache par extraction empêchera Amazon ECR de mettre à jour les images à l'aide de la même balise.

  • Lorsqu'une image est extraite à l'aide de la règle de cache d'extraction pour la première fois, un itinéraire vers Internet peut être requis. Dans certaines circonstances, un itinéraire vers Internet est requis. Il est donc préférable de configurer un itinéraire pour éviter tout échec. Ainsi, si vous avez configuré Amazon ECR pour utiliser une interface utilisant un point de terminaison VPC AWS PrivateLink , vous devez vous assurer que le premier pull dispose d'un itinéraire vers Internet. Pour ce faire, vous pouvez créer un sous-réseau public dans le même VPC, avec une passerelle Internet, puis acheminer tout le trafic sortant vers Internet depuis leur sous-réseau privé vers le sous-réseau public. Les extractions d'images suivantes à l'aide de la règle de cache d'extraction ne l'exigent pas. Pour de plus amples informations, consultez Exemples d'options de routage dans le Guide de l'utilisateur Amazon Virtual Private Cloud.

  • Le transfert d'images directement vers un référentiel de cache extractible n'est pas un modèle pris en charge. Cette pratique peut entraîner une incohérence temporaire lorsque les extraits d'image suivants continuent de renvoyer la version précédemment mise en cache au lieu de l'image récemment envoyée. Pour corriger cette incohérence, supprimez l'image, puis extrayez-la à nouveau pour actualiser la copie mise en cache. Vous pouvez également attendre jusqu'à 24 heures pour que le cache soit actualisé, puis extraire à nouveau l'image.