Partager via


Activer la géoréplication

Cet article traite de la réplication des magasins Azure App Configuration. Vous découvrirez comment créer, utiliser et supprimer un réplica dans votre magasin de configuration.

Pour en savoir plus sur le concept de géoréplication, consultez Géoréplication dans Azure App Configuration.

Prérequis

Créer et répertorier un réplica

Pour créer un réplica de votre magasin de configuration dans le portail, suivez les étapes ci-dessous.

Notes

La création d’un réplica pour un magasin App Configuration, dont les points de terminaison privés sont configurés avec une adresse IP statique, n’est pas prise en charge. Si vous préférez un point de terminaison privé avec une configuration IP statique, des réplicas doivent être créés avant l’ajout d’un point de terminaison privé à un magasin.

  1. Dans votre magasin App Configuration, sous Paramètres, sélectionnez Géoréplication.

  2. Sous Réplicas, sélectionnez Créer. Choisissez l’emplacement de votre nouveau réplica dans la liste déroulante, puis affectez le nom du réplica. Ce nom doit être unique.

    Capture d'écran du bouton de géoréplication mis en surbrillance ainsi que du bouton de création d'un réplica.

  3. Sélectionnez Create (Créer).

  4. Vous devez maintenant voir votre nouveau réplica répertorié sous Réplicas. Vérifiez que l’état du réplica est « Réussi », ce qui indique qu’il a été créé avec succès.

    Capture d'écran de la liste des réplicas qui ont été créées pour le magasin de configuration.

Supprimer un réplica

Pour supprimer un réplica dans le portail, suivez les étapes ci-dessous.

  1. Dans votre magasin App Configuration, sous Paramètres, sélectionnez Géoréplication.

  2. Sous Réplicas, sélectionnez le ... à droite du réplica que vous souhaitez supprimer. Sélectionnez Supprimer dans le menu déroulant.

     Capture d'écran montrant les trois points à droite du réplica sélectionné, vous montrant l'option de suppression.

  3. Vérifiez le nom du réplica à supprimer et sélectionnez OK pour confirmer.

  4. Une fois le processus terminé, vérifiez la liste des réplicas que le réplica correct a été supprimé.

Détection automatique de réplicas

Les fournisseurs App Configuration peuvent détecter automatiquement tous les réplicas à partir d’un point de terminaison App Configuration donné et tenter de s’y connecter. Cette fonctionnalité vous permet de bénéficier de la géoréplication sans modifier votre code ou redéployer votre application. Cela signifie que vous pouvez activer la géoréplication ou ajouter des réplicas supplémentaires même après le déploiement de votre application.

La découverte automatique de réplicas est activée par défaut, mais vous pouvez vous reporter à l’exemple de code suivant pour le désactiver (non recommandé).

Modifiez l’appel à la méthode AddAzureAppConfiguration, qui se trouve souvent dans le fichier program.cs de votre application.

configurationBuilder.AddAzureAppConfiguration(options =>
{
    // Disable automatic replica discovery
    options.ReplicaDiscoveryEnabled = false;

    // Other changes to options
});

Remarque

La prise en charge de la découverte automatique de réplicas est disponible si vous utilisez la version 7.1.0 ou ultérieure d’un des packages suivants.

  • Microsoft.Extensions.Configuration.AzureAppConfiguration
  • Microsoft.Azure.AppConfiguration.AspNetCore
  • Microsoft.Azure.AppConfiguration.Functions.Worker

Mettre à l’échelle et effectuer un basculement avec des réplicas

Chaque réplica que vous créez a son point de terminaison dédié. Si votre application réside dans plusieurs emplacements géographiques, vous pouvez mettre à jour chaque déploiement de votre application dans un emplacement pour vous connecter au réplica le plus proche de cet emplacement, ce qui permet de réduire la latence réseau entre votre application et App Configuration. Étant donné que chaque réplica dispose de son quota de requêtes distinct, cette configuration favorise également la scalabilité de votre application pendant qu’elle s’étend à un service distribué multirégion.

Lorsque la géoréplication est activée, et si un réplica n’est pas accessible, vous pouvez laisser votre application basculer vers un autre réplica pour améliorer la résilience. Les fournisseurs App Configuration offrent une prise en charge intégrée du basculement via les réplicas fournis par l’utilisateur et/ou d’autres réplicas détectés automatiquement. Vous pouvez fournir une liste de vos points de terminaison de réplica, classés par ordre de préférence. Lorsque le point de terminaison actuel n’est pas accessible, le fournisseur bascule vers un point de terminaison moins privilégié, mais il tente de temps en temps de se connecter aux points de terminaison les plus privilégiés. Si aucun réplica fourni par l’utilisateur n’est accessible, les réplicas détectés automatiquement sont sélectionnés aléatoirement et utilisés. Lorsqu’un point de terminaison de plus haute préférence devient disponible, le fournisseur basculera vers celui-ci pour les requêtes ultérieures.

En supposant que vous disposez d’une application qui utilise Azure App Configuration, vous pouvez la mettre à jour en tant qu’exemple de code suivant pour tirer parti de la fonctionnalité de basculement. Vous pouvez fournir une liste de points de terminaison pour l’authentification Microsoft Entra ou une liste de chaînes de connexion pour une authentification basée sur une clé d’accès.

Modifiez l’appel à la méthode AddAzureAppConfiguration, qui se trouve souvent dans le fichier program.cs de votre application.

Se connecter avec Microsoft Entra ID

configurationBuilder.AddAzureAppConfiguration(options =>
{
    // Provide an ordered list of replica endpoints
    var endpoints = new Uri[] {
        new Uri("<first-replica-endpoint>"),
        new Uri("<second-replica-endpoint>") };
    
    // Connect to replica endpoints using Microsoft Entra authentication
    options.Connect(endpoints, new DefaultAzureCredential());

    // Other changes to options
});

Se connecter avec une chaîne de connexion

configurationBuilder.AddAzureAppConfiguration(options =>
{
    // Provide an ordered list of replica connection strings
    var connectionStrings = new string[] {
        Environment.GetEnvironmentVariable("FIRST_REPLICA_CONNECTION_STRING"),
        Environment.GetEnvironmentVariable("SECOND_REPLICA_CONNECTION_STRING") };
    
    // Connect to replica endpoints using connection strings
    options.Connect(connectionStrings);

    // Other changes to options
});

Notes

La prise en charge du basculement est disponible si vous utilisez la version 6.0.0 ou ultérieure de l’un des packages suivants.

  • Microsoft.Extensions.Configuration.AzureAppConfiguration
  • Microsoft.Azure.AppConfiguration.AspNetCore
  • Microsoft.Azure.AppConfiguration.Functions.Worker

Le basculement peut se produire si le fournisseur App Configuration respecte les conditions suivantes.

  • Réception de réponses avec l’état Service non disponible (code d’état HTTP 500 ou plus)
  • Problèmes de connectivité réseau
  • Les requêtes sont limitées (code d’état HTTP 429)

Le basculement ne se produit pas pour les erreurs du client telles que les échecs d’authentification.

Équilibre de charge avec des réplicas

Par défaut, votre application envoie toujours des requêtes au point de terminaison fourni ayant la plus haute préférence, sauf en cas de basculement. Toutefois, en plus du basculement, les réplicas peuvent également être utilisés pour équilibrer la charge des requêtes. En répartissant de manière proactive les requêtes sur tous les réplicas disponibles au fil du temps, vous pouvez éviter d’épuiser le quota de demandes d’un seul réplica et améliorer la scalabilité globale de votre application.

Les fournisseurs App Configuration offrent une prise en charge intégrée de l’équilibrage de charge entre les réplicas, qu’ils soient fournis dans le code ou détectés automatiquement. Vous pouvez utiliser les exemples de code suivants pour activer cette fonctionnalité dans votre application (recommandé).

Modifiez l’appel à la méthode AddAzureAppConfiguration, qui se trouve souvent dans le fichier program.cs de votre application.

configurationBuilder.AddAzureAppConfiguration(options =>
{
    // Enable load balancing
    options.LoadBalancingEnabled = true;

    // Other changes to options
});

Remarque

La prise en charge de l’équilibrage de charge est disponible si vous utilisez la version 8.0.0-preview.3 ou une version ultérieure de l’un des packages suivants.

  • Microsoft.Extensions.Configuration.AzureAppConfiguration
  • Microsoft.Azure.AppConfiguration.AspNetCore
  • Microsoft.Azure.AppConfiguration.Functions.Worker

Étapes suivantes