Partage via


Azure Event Hubs - Géorécupération d’urgence

Cet article décrit la fonctionnalité de géo-reprise d’activité après sinistre qui réplique les métadonnées et est en disponibilité générale. Il ne décrit pas la fonctionnalité de géoréplication en préversion publique, qui réplique à la fois les données et les métadonnées. Pour plus d’informations, consultez Géo-réplication.

Le modèle de cluster Azure Event Hubs tout actif avec prise en charge des zones de disponibilité offre une résilience contre les pannes matérielles et de centres de données. Toutefois, si une catastrophe dans laquelle une région entière et toutes les zones ne sont pas disponibles, vous pouvez utiliser la Géo-reprise d'activité après sinistre pour récupérer votre charge de travail et la configuration de votre application. La Géo-reprise d'activité après sinistre garantit que toute la configuration d’un espace de noms (Event Hubs, groupes de consommateurs et paramètres) est répliquée en continu à partir d’un espace de noms principal vers un espace de noms secondaire lorsqu’il est associé.

La fonctionnalité de géorécupération d’urgence d’Azure Event Hubs est une solution de récupération d’urgence. Les concepts et le workflow décrits dans cet article concernent des scénarios de sinistres, pas des pannes temporaires. Pour obtenir une présentation détaillée de la récupération d’urgence dans Microsoft Azure, consultez cet article. Avec la Géo-reprise d'activité après sinistre, vous pouvez lancer un basculement une seule fois du serveur principal vers le serveur secondaire à tout moment. Le basculement fait pointer le nom d’alias choisi pour l’espace de noms vers l’espace de noms secondaire. Une fois le déplacement terminé, le jumelage est ensuite supprimé. Le basculement est presque instantané une fois lancé.

Important

  • La fonctionnalité permet une continuité instantanée des opérations avec la même configuration, mais ne réplique pas les données d’événement. À moins que l’incident ne soit à l’origine de la perte de toutes les zones, les données d’événement sont conservées dans l’Event Hub principal et seront récupérables après le basculement. De là, les événements historiques peuvent être obtenus une fois l’accès restauré. Pour répliquer des données d’événement et gérer les espaces de noms correspondants dans des configurations actives/actives de façon à faire face aux pannes et aux sinistres, ne vous contentez pas d’utiliser cette fonctionnalité de géo-reprise d’activité après sinistre. Suivez les conseils de réplication.
  • Les affectations de contrôle d’accès en fonction du rôle (RBAC) Microsoft Entra aux entités de l’espace de noms principal ne sont pas répliquées vers l’espace de noms secondaire. Créez manuellement des attributions de rôles dans l’espace de noms secondaire pour sécuriser leur accès.

Concepts et terminologie de base

La fonctionnalité de récupération d’urgence implémente la récupération d’urgence des métadonnées, en s’appuyant sur les espaces de noms de récupération d’urgence principal et secondaire. La fonctionnalité Géo-reprise d'activité après sinistre est disponible uniquement pour les niveaux standard, premium et dédiés. Vous n’avez pas besoin de modifier de chaîne de connexion, car la connexion est établie à l’aide d’un alias.

Cet article emploie les termes suivants :

  • Alias : nom d’une configuration de récupération d’urgence que vous avez configurée. L’alias fournit une chaîne de connexion de nom de domaine complet (FQDN) stable. Les applications utilisent cet alias de chaîne de connexion pour se connecter à un espace de noms.
  • Espace de noms principal/secondaire : espaces de noms qui correspondent à l’alias. L’espace de noms principal est actif et reçoit des messages (il peut s’agir d’un espace de noms existant ou nouveau). L’espace de noms secondaire est passif et ne reçoit pas de messages. Les métadonnées sont synchronisées entre ces deux espaces de noms, qui peuvent ainsi accepter facilement les messages sans aucune modification du code d’application ou de la chaîne de connexion. Pour vous assurer que seul l’espace de noms actif reçoit des messages, vous devez utiliser l’alias.
  • Métadonnées : entités telles que des hubs d’événements et des groupes de consommateurs, ainsi que leurs propriétés du service associé à l’espace de noms. Seules les entités et leurs paramètres sont automatiquement répliqués. Les messages et les événements ne sont pas répliqués.
  • Basculement : processus d’activation de l’espace de noms secondaire.

Paires d’espaces de noms prises en charge

Les combinaisons suivantes d’espaces de noms principaux et secondaires sont prises en charge :

Niveau d’espace de noms principal Niveau d’espace de noms secondaire autorisé
standard Standard, Dédié
Premium Premium
Dédié Dédié

Important

Vous ne pouvez pas associer des espaces de noms qui se trouvent dans le même cluster dédié. Vous pouvez associer des espaces de noms qui se trouvent dans des cluster distincts.

Flux de configuration et de basculement

La section suivante présente une vue d’ensemble du processus de basculement et explique comment configurer le basculement initial.

Capture d’écran montrant la vue d’ensemble du processus de basculement.

Remarque

La fonctionnalité Géo-reprise d'activité après sinistre ne prend pas en charge un basculement automatique.

Programme d’installation

Tout d’abord, vous créez ou utilisez un espace de noms principal existant et un espace de noms secondaire, avant d’associer les deux. Cette association crée un alias qui vous servira à vous connecter. Étant donné que vous utilisez un alias, vous n’avez pas besoin de modifier les chaînes de connexion existantes. Vous pouvez uniquement ajouter de nouveaux espaces de noms à votre association de basculement.

  1. Créez l’espace de noms principal.

  2. Créez l’espace de noms secondaire dans une autre région. Cette étape est facultative. Vous pouvez créer l’espace de noms secondaire lors de la création du jumelage à l’étape suivante.

  3. Dans le portail Azure, accédez à votre espace de noms principal.

  4. Sélectionnez Géo-récupération dans le menu de gauche, puis Lancer le jumelage dans la barre d’outils.

    Capture d’écran montrant la page de géorécupération d’un espace de noms Event Hubs avec le bouton Lancer le jumelage sélectionné.

  5. Sur la page Lancer le jumelage, procédez comme suit :

    1. Sélectionnez un espace de noms secondaire existant ou créez-en un dans une autre région. Dans cet exemple, un espace de noms existant est sélectionné.
    2. Dans le champ Alias, entrez un alias pour le jumelage de géo-reprise d'activité après sinistre.
    3. Sélectionnez ensuite Create (Créer).

    Capture d’écran montrant la sélection de l’espace de noms secondaire pour le jumelage.

  6. La page Alias de géo-reprise d'activité après sinistre doit s'afficher. Vous pouvez également accéder à cette page à partir de l'espace de noms principal en sélectionnant Géo-reprise dans le menu de gauche.

    Capture d’écran de la page Alias de géo-reprise d’activité après sinistre montrant les espaces de noms principal et secondaire.

  7. Sur la page Alias de géo-reprise d'activité après sinistre, sélectionnez Stratégies d'accès partagé dans le menu de gauche pour accéder à la chaîne de connexion principale de l'alias. Utilisez cette chaîne de connexion au lieu d’utiliser la chaîne de connexion directe à l’espace de noms principal/secondaire.

  8. Dans cette page Vue d’ensemble, vous pouvez effectuer les actions suivantes :

    1. Arrêter le jumelage entre les espaces de noms principal et secondaire. Sélectionnez Arrêter le jumelage dans la barre d’outils.

    2. Basculer manuellement sur l’espace de noms secondaire. Sélectionnez Basculement dans la barre d’outils.

      Capture d’écran montrant les menus Arrêter l’association et Basculer dans la page Alias de géo-reprise d’activité après sinistre Event Hubs.

      Avertissement

      Le basculement active l’espace de noms secondaire, et supprime l’espace de noms principal de l’association de géo-reprise d’activité après sinistre. Créer un autre espace de noms pour avoir une nouvelle paire de géo-reprise d’activité après sinistre.

Enfin, vous devez ajouter un système de surveillance afin de détecter si un basculement est nécessaire. Dans la plupart des cas, le service fait partie d’un écosystème de grande taille. C’est pourquoi les basculements automatiques sont rarement possibles, car souvent les basculements doivent être effectués en synchronisation avec le reste de l’infrastructure ou du sous-système.

Exemple

Dans un exemple de ce scénario, imaginez une solution de Point de vente (PDV) qui émet des messages ou des événements. Event Hubs transmet ces événements à une solution de mappage ou de reformatage, qui envoie ensuite les données mappées à un autre système pour traitement. À ce stade, tous ces systèmes peuvent être hébergés dans la même région Azure. Le choix du moment du basculement et des éléments à basculer varie selon le flux de données dans votre infrastructure.

Vous pouvez automatiser le basculement à l’aide de systèmes de surveillance ou à l’aide de solutions de surveillance personnalisées. Toutefois, cette automatisation nécessite des tâches de planification et du travail supplémentaires, qui ne seront pas abordés dans cet article.

Flux de basculement

Si vous lancez le basculement, deux étapes sont requises :

  1. Vous voulez être sûr de pouvoir refaire un basculement en cas de nouvelle panne. Pour cela, configurez un autre espace de noms passif et mettez à jour l’association.
  2. Extrayez des messages de l’ancien espace de noms principal dès qu’il est de nouveau disponible. Après cela, utilisez cet espace de noms pour les messages réguliers en dehors de votre configuration de géorécupération ou supprimez l’ancien espace de noms principal.

Notes

Seule la sémantique de transfert du basculement est prise en charge. Dans ce scénario, vous basculez puis effectuez un nouveau couplage avec un nouvel espace de noms. La restauration automatique n’est pas prise en charge ; par exemple, dans un cluster SQL.

Image présentant le flux du basculement.

Basculement manuel

Cette section montre comment effectuer manuellement un basculement en utilisant le portail Azure, CLI, PowerShell, C#, etc.

  1. Dans le portail Azure, accédez à votre espace de noms principal.

  2. Sélectionnez Géorécupération dans le menu de gauche.

  3. Basculer manuellement sur l’espace de noms secondaire. Sélectionnez Basculement dans la barre d’outils.

    Avertissement

    Le basculement active l’espace de noms secondaire et supprime l’espace de noms principal du jumelage de géo-reprise d’activité après sinistre. Créer un autre espace de noms pour avoir une nouvelle paire de géo-reprise d’activité après sinistre.

Gestion

Si vous avez fait une erreur (par exemple, vous avez associé les mauvaises régions lors de la configuration initiale), vous pouvez rompre le couplage des deux espaces de noms à tout moment. Si vous souhaitez utiliser les espaces de noms couplés comme des espaces de noms standard, supprimez l’alias.

Considérations

Tenez compte des points suivants :

  1. De par sa conception, la géo-reprise d'activité après sinistre Event Hubs ne réplique pas les données, et vous ne pouvez donc pas réutiliser l'ancienne valeur de décalage de votre hub d'événements principal sur votre hub d'événements secondaire. Nous vous recommandons de redémarrer votre récepteur d’événements avec l’une des méthodes suivantes :

    • EventPosition.FromStart() : pour lire toutes les données sur votre hub d'événements secondaire.
    • EventPosition.FromEnd() : pour lire toutes les nouvelles données à partir de la connexion à votre hub d'événements secondaire.
    • EventPosition.FromEnqueuedTime(dateTime) : pour lire toutes les données reçues dans votre hub d'événements secondaire depuis une date et une heure précises.
  2. Dans votre planification de basculement, vous devez également tenir compte du facteur temps. Par exemple, si vous perdez la connectivité pendant plus de 15 à 20 minutes, vous pouvez décider de lancer le basculement.

  3. Le fait qu’aucune donnée ne soit répliquée signifie que les sessions actives actuelles ne sont pas répliquées. De plus, la détection des doublons et les messages planifiés peuvent ne pas fonctionner. Les nouvelles sessions, les messages planifiés et les nouveaux doublons fonctionneront.

  4. Le basculement d’une infrastructure distribuée complexe doit être répétée au moins une fois.

  5. La synchronisation des entités peut prendre un certain temps, à raison d’environ 50 à 100 entités par minute.

  6. Certains aspects du plan de gestion de l’espace de noms secondaire deviennent en lecture seule pendant que le jumelage de géo-récupération est actif.

  7. Le plan de données de l’espace de noms secondaire sera en lecture seule pendant que le jumelage de géo-récupération est actif. Le plan de données de l’espace de noms secondaire accepte les requêtes GET pour activer la validation de la connectivité client et des contrôles d’accès.

Instances Private Endpoint

Cette section fournit des informations supplémentaires concernant l’utilisation de la géo-reprise d’activité après sinistre avec des espaces de noms qui utilisent des points de terminaison privés. Pour en savoir plus sur l’utilisation de points de terminaison privés avec Event Hubs en général, consultez Configurer des points de terminaison privés.

Nouveaux pairages

Si vous tentez de créer un pairage entre un espace de noms principal avec un point de terminaison privé et un espace de noms secondaire sans point de terminaison privé, le pairage échoue. Le pairage ne fonctionnera que si les espaces de noms principal et secondaire ont des points de terminaison privés. Nous vous recommandons d’utiliser les mêmes configurations sur les espaces de noms principal et secondaire, ainsi que sur les réseaux virtuels dans lesquels des points de terminaison privés sont créés.

Notes

Lorsque vous tentez de pairer l’espace de noms principal avec un point de terminaison privé et un espace de noms secondaire, le processus de validation vérifie uniquement s’il existe un point de terminaison privé sur l’espace de noms secondaire. Il ne vérifie pas si le point de terminaison fonctionne ou fonctionnera après le basculement. Il vous incombe de vous assurer que l’espace de noms secondaire avec un point de terminaison privé fonctionnera comme prévu après le basculement.

Pour vérifier que les configurations de point de terminaison privé sont identiques sur les espaces de noms principal et secondaire, envoyez une demande de lecture (par exemple, Get Event Hub) à l’espace de noms secondaire à partir de l’extérieur du réseau virtuel, et vérifiez que vous recevez un message d’erreur du service.

Pairages existants

Si un pairage entre les espaces de noms principal et secondaire existe déjà, la création de point de terminaison privé sur l’espace de noms principal échoue. Pour résoudre ce problème, commencez par créer un point de terminaison privé sur l’espace de noms secondaire, puis créez-en un pour l’espace de noms principal.

Notes

Bien que nous autorisions un accès en lecture seule à l’espace de noms secondaire, les mises à jour des configurations de points de terminaison privés sont autorisées.

Lorsque vous créez une configuration de récupération d’urgence pour votre application et des espaces de noms Event Hubs, vous devez créer des points de terminaison privés pour les espaces de noms Event Hubs principal et secondaire sur les réseaux virtuels hébergeant des instances principales et secondaires de votre application.

Supposons que vous disposez de deux réseaux virtuels : VNET-1, VNET-2 et ces espaces de noms principaux et secondaires : EventHubs-Namespace1-Primary, EventHubs-Namespace2-Secondary. Vous devez procéder comme suit :

  • Sur EventHubs-Namespace1-Primary, créez deux points de terminaison privés qui utilisent des sous-réseaux à partir de VNET-1 et de VNET-2
  • Sur EventHubs-Namespace2-Secondary, créez deux points de terminaison privés qui utilisent les mêmes sous-réseaux à partir de VNET-1 et de VNET-2

Points de terminaison privés et réseaux virtuels

L’avantage de cette approche est que le basculement peut se produire au niveau de la couche Application, indépendamment de l’espace de noms Event Hubs. Examinez les scénarios suivants :

Basculement de l’application uniquement : ici, l’application n’existe pas dans VNET-1, mais est déplacée vers VNET-2. Comme les deux points de terminaison privés sont configurés sur les deux VNET-1 et VNET-2 pour les espaces de noms principaux et secondaires, l’application fonctionne simplement.

Basculement uniquement d’espace de noms Event Hubs : Ici encore, étant donné que les deux points de terminaison privés sont configurés sur les deux réseaux virtuels pour les espaces de noms principal et secondaire, l’application fonctionnera normalement.

Notes

Pour obtenir des conseils en matière de géo-reprise d’activité après sinistre d’un réseau virtuel, voir Réseau virtuel – Continuité des activités.

Contrôle d’accès en fonction du rôle

Les affectations de contrôle d’accès en fonction du rôle (RBAC) Microsoft Entra aux entités de l’espace de noms principal ne sont pas répliquées vers l’espace de noms secondaire. Créez manuellement des attributions de rôles dans l’espace de noms secondaire pour sécuriser leur accès.

Consultez les exemples ou la documentation de référence suivants.