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 :
- Déployez l’espace de noms dans une région proche du locataire.
- Déployez un espace de noms avec un niveau tarifaire approprié pour ce locataire. Par exemple, si vous utilisez un espace de noms Premium, vous pouvez choisir le nombre d’unités de traitement.
- Appliquez des restrictions de mise en réseau basées sur les besoins du locataire à l’aide de règles de pare-feu IP, de points de terminaison privés et de points de terminaison de service de réseau virtuel.
- Utilisez des clés de chiffrement propres au locataire.
- Configurez les zones de récupération d’urgence et de disponibilité d’Event Hubs pour répondre aux exigences de disponibilité du locataire.
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 :
- Groupes d'applications
- Authentification Microsoft Entra
- Signature d’accès partagé
- Clés gérées par le client
- Event Hubs Capture
- Géo-reprise d'activité après sinistre
- Règles de pare-feu IP
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 :
- Authentifier une identité managée avec Microsoft Entra ID pour accéder aux ressources Event Hubs
- Authentifier une application avec Microsoft Entra ID pour accéder aux ressources Event Hubs
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 :
- Sécurité du réseau pour Azure Event Hubs
- Autoriser l’accès aux espaces de noms Azure Event Hubs à partir d’adresses ou de plages d’adresses IP spécifiques
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 :
- John Downs | Ingénieur client principal, FastTrack for Azure
- Paul Salvatori | Ingénieur client principal, FastTrack for Azure
- Arsen Vladimirskiy | Ingénieur client principal, FastTrack for Azure
Pour afficher les profils LinkedIn non publics, connectez-vous à LinkedIn.
Étapes suivantes
- Azure Event Hubs - plateforme de streaming de Big Data et service d’ingestion d’événements
- Utiliser Azure Event Hubs pour Apache Kafka
- Capturer des événements avec Azure Event Hubs dans Stockage Blob Azure ou Azure Data Lake Storage
- Vue d’ensemble d’Event Hubs Premium
- Vue d’ensemble du niveau Azure Event Hubs Dedicated
- Documentation Event Hubs
- Découvrez : Activer une messagerie fiable pour les applications de Big Data à l’aide d’Azure Event Hubs
Ressources associées
- Style d’architecture basée sur les événements
- Approches architecturales pour la messagerie dans les solutions multilocataires
- Modèles de messagerie
- Traitement d’événements serverless
- Intégrer Event Hubs avec des fonctions serverless sur Azure
- Surveillance d’Azure Functions et d’Event Hubs
- Performances et mise à l’échelle pour Event Hubs et Azure Functions
- Partitionnement dans Azure Event Hubs et Kafka
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de l’année 2024, nous abandonnerons progressivement le mécanisme de retour d’information GitHub Issues pour le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultez :Soumettre et afficher des commentaires pour