Canalisations de Fanout à AWS Event Fork - Amazon Simple Notification Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Canalisations de Fanout à AWS Event Fork

Pour l'archivage et l'analyse des événements, Amazon recommande SNS désormais d'utiliser son intégration native avec Amazon Data Firehose. Vous pouvez abonner les flux de diffusion Firehose à des SNS rubriques, ce qui vous permet d'envoyer des notifications aux points de terminaison d'archivage et d'analyse tels que les buckets Amazon Simple Storage Service (Amazon S3), les tables Amazon Redshift, Amazon Service (Service), etc. OpenSearch OpenSearch L'utilisation d'Amazon SNS avec les flux de diffusion Firehose est une solution entièrement gérée et sans code qui ne nécessite pas l'utilisation de fonctions. AWS Lambda Pour de plus amples informations, veuillez consulter Streams de diffusion de Fanout to Firehose.

Vous pouvez utiliser Amazon SNS pour créer des applications axées sur les événements qui utilisent les services aux abonnés pour effectuer le travail automatiquement en réponse à des événements déclenchés par les services de l'éditeur. Ce modèle d'architecture peut rendre des services plus réutilisables, interopérables et évolutifs. Toutefois, il peut être fastidieux de traiter les événements via des pipelines qui répondent aux exigences courantes de gestion des événements, par exemple la sauvegarde, le stockage, la recherche, l'analytique et la relecture d'événements.

Pour accélérer le développement de vos applications basées sur les événements, vous pouvez abonner des pipelines de gestion d'événements, alimentés par AWS Event Fork Pipelines, aux rubriques Amazon. SNS AWS Event Fork Pipelines est une suite d'applications imbriquées open source, basée sur le modèle d'application AWS sans serveur (AWS SAM), que vous pouvez déployer directement depuis la suite AWS Event Fork Pipelines (choisissez Afficher les applications qui créent des IAM rôles ou des politiques de ressources personnalisés) sur votre compte. AWS

Pour un AWS cas d'utilisation d'Event Fork Pipelines, voirDéploiement et test de l'exemple d'application AWS Event Fork Pipelines.

Comment fonctionne AWS Event Fork Pipelines

AWS Event Fork Pipelines est un modèle de conception sans serveur. Cependant, il s'agit également d'une suite d'applications sans serveur imbriquées basées sur AWS SAM (que vous pouvez déployer directement depuis AWS Serverless Application Repository (AWS SAR) sur votre site Compte AWS afin d'enrichir vos plateformes axées sur les événements). Vous pouvez déployer ces applications imbriquées individuellement, comme requis par votre architecture.

Le schéma suivant montre une application AWS Event Fork Pipelines complétée par trois applications imbriquées. Vous pouvez déployer n'importe lequel des pipelines de la suite AWS Event Fork Pipelines de AWS SAR manière indépendante, selon les exigences de votre architecture.

Event processing architecture with Amazon SNS topic feeding into multiple pipelines.

Chaque pipeline est abonné au même SNS sujet Amazon, ce qui lui permet de traiter les événements en parallèle lorsque ces événements sont publiés sur le sujet. Chaque pipeline est indépendant et peut définir sa propre politique de filtre d'abonnement. Cela permet à un pipeline de traiter uniquement un sous-ensemble des événements qui l'intéressent (plutôt que tous les événements publiés dans la rubrique).

Note

Comme vous placez les trois pipelines AWS Event Fork à côté de vos pipelines de traitement d'événements habituels (peut-être déjà abonnés à votre SNS rubrique Amazon), vous n'avez pas besoin de modifier aucune partie de l'éditeur de votre message actuel pour tirer parti des pipelines AWS Event Fork dans vos charges de travail existantes.

Pipeline de stockage et de sauvegarde d'événements

Le diagramme suivant montre le Pipeline de stockage et de sauvegarde d'événements. Vous pouvez abonner ce pipeline à votre SNS rubrique Amazon pour sauvegarder automatiquement les événements qui circulent dans votre système.

Ce pipeline est composé d'une SQS file d'attente Amazon qui met en mémoire tampon les événements diffusés par le SNS sujet Amazon, d'une AWS Lambda fonction qui interroge automatiquement ces événements dans la file d'attente et les transmet dans un flux Amazon Data Firehose, et d'un compartiment Amazon S3 qui sauvegarde de manière durable les événements chargés par le flux.

AWS event storage backup pipeline with SNS, SQS, Lambda, Kinesis, S3, and Athena components.

Pour affiner le comportement de votre flux Firehose, vous pouvez le configurer de façon à ce qu'il mette en tampon, transforme et compresse vos événements avant de les charger dans le compartiment. Lorsque les événements sont chargés, vous pouvez utiliser Amazon Athena pour interroger le compartiment à l'aide de requêtes standardSQL. Vous pouvez également configurer le pipeline de façon à réutiliser un compartiment Amazon S3 existant ou à en créer un nouveau.

Le pipeline de recherche et d'analyse d'événements

Le diagramme suivant montre le Pipeline de recherche et d'analyse d'événements. Vous pouvez abonner ce pipeline à votre SNS rubrique Amazon pour indexer les événements qui circulent dans votre système dans un domaine de recherche, puis exécuter des analyses sur ceux-ci.

Ce pipeline est composé d'une SQS file d'attente Amazon qui met en mémoire tampon les événements diffusés par le SNS sujet Amazon, d'une AWS Lambda fonction qui extrait les événements de la file d'attente et les envoie vers un flux Amazon Data Firehose, d'un domaine Amazon OpenSearch Service qui indexe les événements chargés par le flux Firehose et d'un compartiment Amazon S3 qui stocke les événements en lettre morte qui ne peuvent pas être indexés dans le domaine de recherche.

Event search analytics pipeline with Services AWS for data processing and storage.

Pour affiner votre flux Firehose en termes de mise en mémoire tampon, de transformation et de compression des événements, vous pouvez configurer ce pipeline.

Vous pouvez également configurer si le pipeline doit réutiliser un OpenSearch domaine existant dans votre domaine Compte AWS ou en créer un nouveau pour vous. Lorsque les événements sont indexées dans le domaine de recherche, vous pouvez utiliser Kibana pour exécuter des analyses sur vos événements et mettre à jour les tableaux de bord visuels en temps réel.

Le pipeline de relecture d'événements

Le diagramme suivant montre le Pipeline de relecture d'événements. Pour enregistrer les événements traités par votre système au cours des 14 derniers jours (par exemple, lorsque votre plateforme doit se remettre d'une panne), vous pouvez inscrire ce pipeline à votre SNS rubrique Amazon, puis retraiter les événements.

Ce pipeline est composé d'une SQS file d'attente Amazon qui met en mémoire tampon les événements diffusés par le SNS sujet Amazon, et d'une AWS Lambda fonction qui interroge les événements de la file d'attente et les redirige vers votre pipeline de traitement des événements normal, qui est également abonné à votre sujet.

Event processing pipeline with Amazon SNS, SQS queues, and AWS Lambda for replay functionality.
Note

Par défaut, la fonction de relecture est désactivée et ne relance pas vos événements. Si vous devez retraiter des événements, vous devez activer la file de SQS rediffusion Amazon en tant que source d'événements pour la fonction de AWS Lambda rediffusion.

Déploiement de pipelines AWS Event Fork

La suite AWS Event Fork Pipelines (choisissez Afficher les applications qui créent IAM des rôles ou des politiques de ressources personnalisés) est disponible sous la forme d'un groupe d'applications publiques dans le AWS Serverless Application Repository, à partir duquel vous pouvez les déployer et les tester manuellement à l'aide de la AWS Lambda console. Pour plus d'informations sur le déploiement de pipelines à l'aide de la AWS Lambda console, consultezAbonnement d'un AWS Event Fork Pipelines à un sujet Amazon SNS.

Dans un scénario de production, nous vous recommandons d'intégrer AWS Event Fork Pipelines dans le AWS SAM modèle global de votre application. La fonctionnalité d'application imbriquée vous permet de le faire en ajoutant la ressource AWS::Serverless::Application à votre AWS SAM modèle, en faisant référence au AWS SAR ApplicationId et au SemanticVersion de l'application imbriquée.

Par exemple, vous pouvez utiliser Event Storage and Backup Pipeline en tant qu'application imbriquée en ajoutant l'YAMLextrait suivant à la Resources section de votre modèle. AWS SAM

Backup: Type: AWS::Serverless::Application Properties: Location: ApplicationId: arn:aws:serverlessrepo:us-east-2:123456789012:applications/fork-event-storage-backup-pipeline SemanticVersion: 1.0.0 Parameters: #The ARN of the Amazon SNS topic whose messages should be backed up to the Amazon S3 bucket. TopicArn: !Ref MySNSTopic

Lorsque vous spécifiez des valeurs de paramètres, vous pouvez utiliser des fonctions AWS CloudFormation intrinsèques pour référencer d'autres ressources dans votre modèle. Par exemple, dans l'YAMLextrait ci-dessus, le TopicArn paramètre fait référence à la AWS::SNS::Topic ressourceMySNSTopic, définie ailleurs dans le AWS SAM modèle. Pour plus d'informations, consultez la section de Référence des fonctions intrinsèques dans le AWS CloudFormation Guide de l'utilisateur.

Note

La page de AWS Lambda console de votre AWS SAR application inclut le bouton Copier en tant que SAM ressource, qui copie dans le presse-papiers les informations YAML requises pour imbriquer une AWS SAR application.