Géoréplication dans Azure Container RegistryGeo-replication in Azure Container Registry

Les entreprises qui souhaitent une présence locale ou une sauvegarde à chaud choisissent d’exécuter des services à partir de plusieurs régions Azure.Companies that want a local presence, or a hot backup, choose to run services from multiple Azure regions. La meilleure pratique recommandée consiste à placer un registre de conteneurs dans chaque région où les images sont exécutées afin de permettre des opérations à proximité du réseau pour des transferts de calque d’image rapides et fiables.As a best practice, placing a container registry in each region where images are run allows network-close operations, enabling fast, reliable image layer transfers. La géoréplication permet à un registre de conteneurs Azure de fonctionner comme un registre unique desservant plusieurs régions à l’aide de registres régionaux à multiples maîtres.Geo-replication enables an Azure container registry to function as a single registry, serving multiple regions with multi-master regional registries.

Un registre géorépliqué offre les avantages suivants :A geo-replicated registry provides the following benefits:

  • Noms de registre/d’image/de balise uniques utilisables dans plusieurs régionsSingle registry/image/tag names can be used across multiple regions
  • Accès au registre à proximité du réseau à partir des déploiements régionauxNetwork-close registry access from regional deployments
  • Aucuns frais de sortie supplémentaires, les images étant extraites à partir d’un registre local répliqué dans la même région que l’hôte de votre conteneurNo additional egress fees, as images are pulled from a local, replicated registry in the same region as your container host
  • Gestion unique d’un registre dans plusieurs régionsSingle management of a registry across multiple regions

Notes

Si vous devez conserver les copies des images de conteneur dans plusieurs registres de conteneurs Azure, Azure Container Registry prend également en charge l'importation d'images.If you need to maintain copies of container images in more than one Azure container registry, Azure Container Registry also supports image import. Par exemple, dans un flux de travail DevOps, vous pouvez importer une image entre un registre de développement et un registre de production, sans devoir utiliser les commandes Docker.For example, in a DevOps workflow, you can import an image from a development registry to a production registry, without needing to use Docker commands.

Exemple de cas d’usageExample use case

Contoso dispose d’un site web de présence publique situé aux États-Unis, au Canada et en Europe.Contoso runs a public presence website located across the US, Canada, and Europe. Pour alimenter ces marchés avec du contenu local et à proximité du réseau, Contoso exécute des clusters Azure Kubernetes Service (AKS) dans les régions USA Ouest, USA Est, Canada Centre et Europe Ouest.To serve these markets with local and network-close content, Contoso runs Azure Kubernetes Service (AKS) clusters in West US, East US, Canada Central, and West Europe. Déployée en tant qu’image Docker, l’application de site web utilise le même code et la même image dans toutes les régions.The website application, deployed as a Docker image, utilizes the same code and image across all regions. Le contenu, local pour cette région, est récupéré à partir d’une base de données qui est configurée de façon unique dans chaque région.Content, local to that region, is retrieved from a database, which is provisioned uniquely in each region. Chaque déploiement régional possède sa propre configuration unique pour les ressources, telles que la base de données locale.Each regional deployment has its unique configuration for resources like the local database.

L’équipe de développement se trouve à Seattle, dans l’État de Washington, et utilise le centre de données dans la région USA Ouest.The development team is located in Seattle WA, utilizing the West US data center.

Transmission vers plusieurs registresPushing to multiple registries
Transmission vers plusieurs registresPushing to multiple registries

Avant d’utiliser les fonctionnalités de géoréplication, Contoso disposait d’un registre basé dans la région USA Ouest et d’un autre registre dans Europe Ouest.Prior to using the geo-replication features, Contoso had a US-based registry in West US, with an additional registry in West Europe. Pour gérer ces différentes régions, l’équipe de développement devait envoyer (push) des images à deux registres différents.To serve these different regions, the development team pushed images to two different registries.

docker push contoso.azurecr.io/public/products/web:1.2
docker push contosowesteu.azurecr.io/public/products/web:1.2

Extraction à partir de plusieurs registresPulling from multiple registries
Extraction à partir de plusieurs registresPulling from multiple registries

Voici les principaux défis liés à l’utilisation de plusieurs registres :Typical challenges of multiple registries include:

  • Tous les clusters (USA Est, USA Ouest et Canada Centre) extraient leurs données à partir du registre de la région USA Ouest, ce qui génère des frais de sortie puisque chacun de ces hôtes de conteneur à distance extrait des images à partir des centres de données situés dans la région USA Ouest.The East US, West US, and Canada Central clusters all pull from the West US registry, incurring egress fees as each of these remote container hosts pull images from West US data centers.
  • L’équipe de développement doit transmettre les images aux registres des région USA Ouest et Europe Ouest.The development team must push images to West US and West Europe registries.
  • L’équipe de développement doit configurer et tenir à jour chaque déploiement régional avec les noms d’images référençant le registre local.The development team must configure and maintain each regional deployment with image names referencing the local registry.
  • L’accès au registre doit être configuré pour chaque région.Registry access must be configured for each region.

Avantages de la géoréplicationBenefits of geo-replication

Extraction à partir d’un registre géorépliqué

La fonctionnalité de géoréplication d’Azure Container Registry permet de bénéficier des avantages suivants :Using the geo-replication feature of Azure Container Registry, these benefits are realized:

  • Gérer un registre unique dans toutes les régions : contoso.azurecr.ioManage a single registry across all regions: contoso.azurecr.io
  • Gérer une configuration unique pour le déploiement des images, car toutes les régions utilisent la même URL d’image : contoso.azurecr.io/public/products/web:1.2Manage a single configuration of image deployments as all regions used the same image URL: contoso.azurecr.io/public/products/web:1.2
  • Envoyer (push) vers un registre unique, tandis qu’ACR gère la géoréplication.Push to a single registry, while ACR manages the geo-replication. Vous pouvez configurer des webhooks régionaux pour avertir de vos événements dans des réplicas spécifiques.You can configure regional webhooks to notify of you events in specific replicas.

Configuration de la géo-réplicationConfigure geo-replication

La configuration de la géoréplication est aussi simple que de cliquer sur des régions sur une carte.Configuring geo-replication is as easy as clicking regions on a map. Vous pouvez aussi gérer la géoréplication à l’aide d’outils, notamment les commandes az acr replication dans l’interface Azure CLI.You can also manage geo-replication using tools including the az acr replication commands in the Azure CLI.

La géoréplication est une fonctionnalité disponible uniquement pour les registres Premium.Geo-replication is a feature of Premium registries only. Si votre registre n’est pas encore Premium, vous pouvez passer de la formule De base ou Standard à Premium dans le portail Azure :If your registry isn't yet Premium, you can change from Basic and Standard to Premium in the Azure portal:

Modification des références (SKU) dans le portail Azure

Pour configurer la géoréplication pour votre registre Premium, connectez-vous au portail Azure à l’adresse https://portal.azure.com.To configure geo-replication for your Premium registry, log in to the Azure portal at https://portal.azure.com.

Accédez à votre registre de conteneurs Azure, puis sélectionnez Réplications :Navigate to your Azure Container Registry, and select Replications:

Option Réplications du registre de conteneurs dans le portail Azure

Une carte s’affiche et indique toutes les régions Azure actuelles :A map is displayed showing all current Azure Regions:

Carte des régions dans le portail Azure

  • Les hexagones bleus représentent les réplicas actuels.Blue hexagons represent current replicas
  • Les hexagones verts représentent des régions où le réplica est possible.Green hexagons represent possible replica regions
  • Les hexagones gris représentent des régions Azure qui ne sont pas encore disponibles pour les réplicas.Gray hexagons represent Azure regions not yet available for replication

Pour configurer un réplica, sélectionnez un hexagone vert, puis cliquez sur Créer :To configure a replica, select a green hexagon, then select Create:

Boîte de dialogue Créer une réplication dans le portail Azure

Pour configurer des réplicas supplémentaires, sélectionnez les hexagones verts pour les autres régions, puis cliquez sur Créer.To configure additional replicas, select the green hexagons for other regions, then click Create.

ACR commence la synchronisation des images entre les réplicas configurés.ACR begins syncing images across the configured replicas. Une fois l’opération terminée, le portail affiche la mention Prêt.Once complete, the portal reflects Ready. L’état du réplica dans le portail n’est pas mis à jour automatiquement.The replica status in the portal doesn't automatically update. Utilisez le bouton Actualiser pour le mettre à jour.Use the refresh button to see the updated status.

Considérations sur l’utilisation d’un registre géorépliquéConsiderations for using a geo-replicated registry

  • Chaque région d’un registre géorépliqué est indépendante une fois qu’elle est configurée.Each region in a geo-replicated registry is independent once set up. Le contrat SLA d’Azure Container Registry s’applique à chaque région géorépliquée.Azure Container Registry SLAs apply to each geo-replicated region.
  • Quand vous envoyez (push) ou que vous extrayez (pull) des images dans un registre géorépliqué, Azure Traffic Manager envoie en arrière-plan la demande au registre qui se trouve dans la région la plus proche de vous.When you push or pull images from a geo-replicated registry, Azure Traffic Manager in the background sends the request to the registry located in the region closest to you.
  • Une fois que vous avez envoyé (push) la mise à jour d’une image ou d’une étiquette à la région la plus proche, un certain temps est nécessaire à Azure Container Registry pour répliquer les manifestes et les couches vers les régions restantes que vous avez choisies.After you push an image or tag update to the closest region, it takes some time for Azure Container Registry to replicate the manifests and layers to the remaining regions you opted into. La réplication des grandes images prend plus de temps que celle des plus petites.Larger images take longer to replicate than smaller ones. Les images et les étiquettes sont synchronisées entre les régions de réplication avec un modèle de cohérence à terme.Images and tags are synchronized across the replication regions with an eventual consistency model.
  • Pour gérer des flux de travail qui dépendent de mises à jour d’envoi (push) vers un registre géorépliqué, nous vous recommandons de configurer des webhooks pour répondre aux événements d’envoi.To manage workflows that depend on push updates to a geo-replicated registry, we recommend that you configure webhooks to respond to the push events. Vous pouvez configurer des webhooks régionaux dans un registre géorépliqué pour effectuer le suivi des événements d’envoi (push) au fil de leur occurrence dans les régions géorépliquées.You can set up regional webhooks within a geo-replicated registry to track push events as they complete across the geo-replicated regions.

Tarification de la géoréplicationGeo-replication pricing

La géoréplication est une fonctionnalité de la Référence SKU Premium d’Azure Container Registry.Geo-replication is a feature of the Premium SKU of Azure Container Registry. Lorsque vous répliquez un registre dans les régions de votre choix, cela entraîne des frais de registre Premium pour chaque région.When you replicate a registry to your desired regions, you incur Premium registry fees for each region.

Dans l’exemple précédent, Contoso a fusionné deux registres en un seul, en ajoutant des réplicas dans les régions USA Est, Canada Centre et Europe Ouest.In the preceding example, Contoso consolidated two registries down to one, adding replicas to East US, Canada Central, and West Europe. Contoso payerait le tarif Premium quatre fois par mois, sans configuration ni gestion supplémentaire.Contoso would pay four times Premium per month, with no additional configuration or management. Chaque région extraie désormais ses images localement, ce qui améliore les performances et la fiabilité sans frais de sortie de réseau de la région USA Ouest au Canada, en passant par USA Est.Each region now pulls their images locally, improving performance, reliability without network egress fees from West US to Canada and East US.

Étapes suivantesNext steps

Découvrez la série de didacticiels en trois parties relative à la géoréplication dans Azure Container Registry.Check out the three-part tutorial series, Geo-replication in Azure Container Registry. Découvrez les étapes permettant de créer un registre géorépliqué, de générer un conteneur, puis de le déployer avec une seule commande docker push vers plusieurs instances régionales de Web App pour conteneurs.Walk through creating a geo-replicated registry, building a container, and then deploying it with a single docker push command to multiple regional Web Apps for Containers instances.