Transférez les événements Amazon SNS à Event Fork AWS Pipelines - 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.

Transférez les événements Amazon SNS à Event Fork AWS Pipelines

Pour l'archivage et l'analyse des événements, Amazon SNS recommande désormais d'utiliser son intégration native avec Amazon Data Firehose. Vous pouvez abonner les flux de diffusion Firehose aux rubriques SNS, 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 qui reposent sur les événements et utilisent les services d'abonné afin d'exécuter automatiquement des tâches en réponse à des événements déclenchés par ses services d'é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 Event Fork AWS Pipelines, à des 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 rôles IAM 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 Amazon SNS 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 le AWS SAM (que vous pouvez déployer directement depuis le 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 sur le AWS SAR indépendamment, selon les exigences de votre architecture.

L'architecture AWS Event Fork Pipelines, qui montre comment les événements d'un sujet Amazon SNS sont filtrés et traités via trois pipelines distincts : Event Storage and Backup, Event Search and Analytics, et Event Replay. Ces pipelines sont représentés sous forme de boîtes empilées verticalement, chacune traitant indépendamment les événements en parallèle à partir de la même rubrique Amazon SNS.

Chaque pipeline est abonné à la même rubrique Amazon SNS, ce qui lui permet de traiter les événements en parallèle au fur et à mesure de leur publication dans la rubrique. 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 rubrique Amazon SNS), vous n'avez pas besoin de modifier une partie de votre éditeur de messages 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 rubrique Amazon SNS pour sauvegarder automatiquement les événements transitant par votre système.

Ce pipeline est composé d'une file d'attente Amazon SQS qui met en mémoire tampon les événements transmis par la rubrique Amazon SNS, d'une AWS Lambda fonction qui interroge automatiquement ces événements dans la file d'attente et les place 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.

Le Fork-Event-Storage-Backup -Pipeline, conçu pour traiter et sauvegarder les événements d'une rubrique Amazon SNS. Le flux commence par une rubrique Amazon SNS à partir de laquelle les événements sont transférés vers une file d'attente Amazon SQS. Ces événements filtrés sont ensuite traités par une fonction Lambda, qui les transmet à Amazon Kinesis Data Firehose. Le flux Firehose est chargé de mettre en mémoire tampon, de transformer et de compresser les événements avant de les charger dans un compartiment de sauvegarde Amazon S3. Enfin, Amazon Athena peut être utilisé pour interroger les données stockées. Le diagramme utilise une série d'icônes et de flèches pour illustrer le flux d'un service à l'autre, en étiquetant clairement chaque composant du pipeline.

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. Pendant le chargement des événements , vous pouvez utiliser Amazon Athena pour interroger le compartiment à l'aide de requêtes SQL standard. 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 rubrique Amazon SNS pour indexer les événements qui transitent via votre système dans un domaine de recherche, puis exécuter des analyses sur eux.

Ce pipeline est composé d'une file d'attente Amazon SQS qui met en mémoire tampon les événements fournis par la rubrique Amazon SNS, d'une AWS Lambda fonction qui extrait les événements de la file d'attente et les envoie dans un flux Amazon Data Firehose, d'un domaine OpenSearch Amazon 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.

Le pipeline de recherche et d'analyse d'événements au sein d'une AWS architecture. Cela commence sur la gauche avec la rubrique Amazon SNS recevant tous les événements. Ces événements sont ensuite acheminés par une ligne pointillée représentant les « événements filtrés par répartition » vers une file d'attente Amazon SQS. À partir de la file d'attente, les événements sont traités par une fonction Lambda qui les transmet ensuite à un flux Amazon Kinesis Data Firehose. Le Data Firehose dirige les événements vers deux destinations : une route mène à un Amazon Elasticsearch Service à des fins d'indexation, et l'autre envoie des événements impossibles à traiter ou « lettre morte » vers un compartiment de lettres mortes Amazon S3. À l'extrême droite, les résultats du service Elasticsearch sont intégrés à un tableau de bord Kibana à des fins d'analyse et de visualisation. L'ensemble du flux est disposé horizontalement et chaque composant est relié par des lignes indiquant le sens du flux de données.

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 qui ont été traités par votre système au cours des 14 derniers jours (par exemple, lorsque votre plateforme a besoin de récupérer après un incident), vous pouvez abonner ce pipeline à votre rubrique Amazon SNS, puis retraiter les événements.

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

Le pipeline de rediffusion d'événements sous forme d'organigramme. De gauche à droite, il commence par une rubrique Amazon SNS qui distribue les événements filtrés à deux processus parallèles. Le flux supérieur représente votre pipeline de traitement des événements habituel, qui inclut une file d'attente Amazon SQS qui traite les événements. Le flux inférieur, étiqueté « »fork-event-replay-pipeline, inclut une file d'attente de rediffusion Amazon SQS dans laquelle les événements sont temporairement stockés avant d'être traités par une fonction de rediffusion Lambda. Cette fonction Lambda a la capacité de réintégrer les événements dans votre pipeline de traitement d'événements habituel ou de les maintenir en attente de rediffusion, selon que la fonction de rediffusion est activée ou désactivée. Le diagramme indique également que les opérateurs ont le contrôle de l'activation ou de la désactivation de la fonctionnalité de rediffusion d'événements.
Note

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

Déploiement de pipelines AWS Event Fork

La suite AWS Event Fork Pipelines (choisissez Afficher les applications qui créent des rôles IAM 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' AWS Event Fork Pipelines à une rubrique Amazon SNS.

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

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

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'extrait YAML ci-dessus, le TopicArn paramètre fait référence à la AWS::SNS::Topic ressourceMySNSTopic, définie ailleurs dans le modèle. AWS SAM 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 application AWS SAR inclut le bouton Copier en tant que ressource SAM, qui copie le code YAML requis pour imbriquer une application AWS SAR dans le presse-papiers.