Share via


Multilocataire et Azure Event Hubs

Event Hubs est une plateforme de streaming Big Data et un service d’ingestion d’événements, capable de recevoir et de traiter des millions d’événements par seconde. Vous pouvez transformer et stocker des données du hub d’événements à l’aide de fournisseurs d’analyse en temps réel et d’adaptateurs de traitement par lots/stockage. Pour comparer Event Hubs et les services de messagerie Azure, consultez Choisir entre les services de messagerie Azure : Event Grid, Event Hubs et Service Bus.

Cet article décrit les fonctionnalités d’Event Hubs et les modèles d’isolation que vous pouvez utiliser dans des solutions multilocataires.

Modèles d’isolation

Lorsque vous utilisez Event Hubs dans votre système multilocataire, vous devez décider du niveau d’isolation souhaité. Event Hubs prend en charge différents modèles de multilocation.

  • Multilocataire approuvé : Tous les locataires partagent un espace de noms Event Hubs. Ce choix peut être approprié lorsque tous les locataires se trouvent dans votre organisation.
  • Multilocataire hostile : Chaque locataire a son propre espace de noms qui n’est pas partagé. Ce choix peut être approprié lorsque vous souhaitez vous assurer que vos locataires n’ont pas de problèmes de voisins bruyants .

Un système peut implémenter les deux modèles : certains locataires partagent des espaces de noms, d’autres en ont un dédié. En outre, un locataire peut partager un espace de noms avec d’autres locataires, mais avoir des event hubs dédiés.

Le tableau suivant récapitule les différences entre les principaux modèles d’isolation des locataires pour Event Hubs. Les modèles sont décrits plus en détail dans les sections suivantes.

Considération Espace de noms dédié Espace de noms partagé, event hubs dédiés Espaces de noms partagés et event hubs
Isolation des données Élevé Moyenne None
Isolation des performances La plus élevée. Gérez les besoins en performances en fonction des exigences de chaque locataire. Moyenne. Peut avoir des problèmes de voisins bruyants. Faible. Peut avoir des problèmes de voisins bruyants.
Complexité du déploiement Moyenne. Tenez compte des quotas et limites de Event Hubs au niveau de l’abonnement. Moyenne. Des entités de message distinctes doivent être déployées pour chaque locataire. Tenez compte des quotas et limites d’Event Hubs. Certains cas nécessitent plusieurs espaces de noms, en fonction du nombre de locataires. Faible
Complexité opérationnelle Élevée. Les espaces de noms doivent être gérés par locataire. Moyenne. Certains locataires nécessitent une gestion granulaire des entités de message. Faible
Exemple de scénario Instances d’application distinctes par locataire. Event hubs dédiés pour chaque locataire. Solution multilocataire volumineuse avec une couche Application partagée et une ou plusieurs event hubs partagés.

Notes

Event Hubs pour Apache Kafka est une fonctionnalité qui fournit une tête de protocole au-dessus d’Event Hubs afin que Event Hubs puissent être utilisés par les applications Apache Kafka. Les applications diffusent des événements dans des event hubs, qui sont équivalents aux rubriques Kafka. Pour plus d’informations, consultez Qu’est-ce que Event Hubs pour Apache Kafka.

Espace de noms dédié

Dans ce modèle, vous approvisionnez un espace de noms Event Hubs pour chaque locataire. Cette approche offre le niveau maximal d’isolation et la possibilité de fournir des performances acceptables pour tous les locataires.

Vous pouvez utiliser les techniques suivantes pour affiner les fonctionnalités d’événementielle afin de répondre aux exigences des locataires :

Si vous atteignez le nombre maximal d’espaces de noms Event Hubs dans votre abonnement Azure, vous pouvez déployer des espaces de noms sur différents abonnements à l’aide du modèle Empreintes de déploiement.

L’inconvénient de ce modèle d’isolation est que, lorsque le nombre de locataires augmente au fil du temps, la gestion des espaces de noms devient plus complexe. Un autre inconvénient est que le modèle augmente les coûts, car vous payez pour chaque espace de noms.

Espace de noms partagé, event hubs dédiés

Même si un espace de noms est partagé par plusieurs locataires, vous pouvez isoler les locataires d’un hub d’événements dédié. Vous pouvez utiliser des signatures d’accès partagé ou des identités Microsoft Entra pour contrôler l’accès.

À mesure que le nombre de locataires augmente au sein de votre système, le nombre de event hubs augmente également pour prendre en charge chaque locataire. Cette croissance peut entraîner des coûts d’exploitation plus élevés et une plus faible agilité organisationnelle. Le nombre d’event hubs par espace de noms est limité . Par conséquent, le nombre d’espaces de noms requis par votre système dépend du nombre de event hubs dont vos locataires ont besoin.

Lorsqu’un espace de noms est partagé, les problèmes de voisins bruyants sont plus probables. Par exemple, il est possible que les entités événementielles d’un locataire consomment une quantité disproportionnée des ressources de l’espace de nom et gênent les autres locataires. Les espaces de noms event hub ont des limites sur leurs unités de traitement (niveau Premium) ou de capacité (niveau dédié) et sur le nombre de connexions réparties à un espace de noms. Déterminez si un locataire unique peut consommer trop de ressources.

Espaces de noms partagés et event hubs

Vous pouvez avoir un espace de noms et des entités d’événement qui sont partagées par tous vos locataires. Ce modèle réduit la complexité opérationnelle et réduit les coûts des ressources.

Toutefois, le fait d'avoir un espace de noms partagé peut entraîner le problème du voisin bruyant et se traduire par une latence plus élevée pour certains locataires. Vous devez également implémenter vos applications pour servir plusieurs locataires. Les event hubs partagés et les rubriques Kafka ne fournissent pas d’isolation des données entre les locataires. Vous devez donc répondre aux exigences d’isolation des données dans votre logique d’application.

Notes

N’utilisez pas de partitions Event Hubs pour essayer d’isoler vos locataires. Le partitionnement dans Event Hubs permet le traitement des événements et la scalabilité, mais il ne s’agit pas d’un modèle d’isolation. Vous pouvez envoyer des événements directement aux partitions, mais ce n’est pas recommandé, car cela rétrograde la disponibilité d’un event hub au niveau de la partition. Pour plus d’informations, consultez Disponibilité et cohérence dans Event Hubs.

Fonctionnalités d’Event Hubs qui prennent en charge l’architecture multilocataire

Les fonctionnalités suivantes d’Event Hubs prennent en charge la multilocataire :

Ces fonctionnalités sont abordées dans les sections suivantes.

Groupes d’applications

Un groupe d’applications est une collection d’une ou plusieurs applications clientes qui interagissent avec le plan de données Event Hubs. Vous pouvez appliquer des stratégies de gestion des quotas et des accès à toutes les applications du groupe en les appliquant au groupe lui-même.

Chaque groupe d’applications peut être limité à un espace de noms Event Hubs unique ou à un event hub unique. Il doit utiliser un identificateur de condition d’identification unique des applications clientes, tel que le contexte de sécurité, qui est une signature d’accès partagé (SAP) ou un ID d’application Microsoft Entra.

Pour plus d’informations, consultez Gouvernance des ressources avec des groupes d’applications.

Authentification Microsoft Entra

Event Hubs est entièrement intégré à Microsoft Entra ID. Les clients peuvent s’authentifier auprès des ressources Event Hubs à l’aide d’une identité managée avec Microsoft Entra ID. Event Hubs définit un ensemble de rôles intégrés que vous pouvez accorder à vos locataires pour accéder aux entités Event Hubs. Par exemple, à l’aide de l’authentification Microsoft Entra, vous pouvez accorder à un locataire l’accès à un Event Hub qui contient les messages de ce locataire. Vous pouvez utiliser cette technique pour isoler un locataire des autres locataires.

Les applications Kafka peuvent utiliser L’identité managée OAuth pour accéder aux ressources Event Hubs.

Pour plus d’informations, consultez les articles suivants :

Signature d’accès partagé

Les signatures d’accès partagé (SAS) vous permettent d’accorder à un locataire l’accès à des ressources Event Hubs avec des droits spécifiques. Si vous isolez vos locataires au niveau de l’entité d’événement, vous pouvez accorder des clés SAS sur un event hub ou un sujet qui s’appliquent uniquement à un locataire particulier.

Pour plus d’informations, consultez Authentifier l’accès aux ressources Event Hubs avec des signatures d’accès partagé (SAS)

Clés gérées par le client

Si vos locataires ont besoin de leurs propres clés pour chiffrer et déchiffrer les événements, vous pouvez configurer des clés gérées par le client dans certaines versions d’Event Hubs.

Cette fonctionnalité nécessite que vous utilisiez le modèle d’isolation avec un espace de noms dédié. Le chiffrement ne peut être activé que pour les espaces de noms nouveaux ou vides.

Pour plus d’informations, consultez Configurer les clés managées par le client pour le chiffrement des données au repos Azure Event Hubs.

Event Hubs Capture

Vous pouvez utiliser la fonctionnalité Capture d’Event Hubs pour capturer automatiquement des données de streaming à partir d’Event Hubs et les stocker dans un compte Stockage Blob Azure ou Data Lake Storage.

Cette fonctionnalité est utile pour l’archivage des événements. Par exemple, si vous êtes tenu d’archiver des événements pour un locataire pour des raisons de conformité, vous pouvez déployer des espaces de noms spécifiques au locataire et activer Event Hubs Capture pour archiver des événements sur des comptes de stockage Azure spécifiques au locataire. Vous pouvez également activer la capture d’Event Hubs sur des event hubs spécifiques au locataire dans un espace de noms partagé.

Pour plus d’informations, consultez Capturer des événements avec Azure Event Hubs dans Stockage Blob Azure ou Azure Data Lake Storage

Géorécupération d’urgence

La récupération d’urgence géographique réplique en permanence l’ensemble de la configuration d’un espace de noms Event Hubs à partir d’un espace de noms principal vers un espace de noms secondaire associé au serveur principal. Cette fonctionnalité peut vous aider à récupérer après des sinistres, tels que des défaillances régionales.

Par exemple, si vous isolez vos locataires au niveau de l’espace de noms, vous pouvez répliquer la configuration d’un espace de noms de locataire dans une région secondaire pour fournir une protection contre les pannes et les défaillances du serveur principal.

Pour en savoir plus, consultez Azure Event Hubs – Géo-reprise d’activité après sinistre.

Notes

Pour protéger la continuité des opérations, la géo-récupération d’urgence réplique la configuration de l’espace de noms principal dans l’espace de noms secondaire. Il ne réplique pas les données d’événement, ni les affectations RBAC Microsoft Entra que vous utilisez pour votre espace de noms principal. Pour plus d’informations, consultez Fédération multisite et multirégion.

Règles de pare-feu IP

Vous pouvez utiliser des règles de pare-feu IP pour contrôler l’accès aux espaces de noms. Lorsque vous isolez des locataires au niveau de l’espace de noms, vous pouvez configurer les espaces de noms pour qu’ils acceptent uniquement les connexions des clients provenant d’adresses IP ou de plages d’adresses autorisées.

Pour plus d'informations, consultez les pages suivantes :

Contributeurs

Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.

Auteur principal :

  • Will Velida | Ingénieur client 2, FastTrack pour Azure

Autres contributeurs :

Pour afficher les profils LinkedIn non publics, connectez-vous à LinkedIn.

Étapes suivantes