Pour déployer et abonner le pipeline de recherche et d'analyse d'événements - Amazon Simple Notification Service

Pour déployer et abonner le pipeline de recherche et d'analyse d'événements

Pour l'archivage et l'analyse des événements, Amazon SNS recommande désormais d'utiliser son intégration native avec Amazon Kinesis Data Firehose. Vous pouvez abonner les flux de diffusion Kinesis Data Firehose aux rubriques SNS, ce qui vous permet d'envoyer des notifications aux points de terminaison d'archivage et d'analyse, tels que les compartiments Amazon Simple Storage Service (Amazon S3), les tables Amazon Redshift, Amazon OpenSearch Service (OpenSearch Service), et plus encore. L'utilisation d'Amazon SNS avec les flux de diffusion Kinesis Data Firehose est une solution entièrement gérée et sans code qui ne vous oblige pas à utiliser les fonctions AWS Lambda. Pour de plus amples informations, consultez la section Distribution ramifiée vers le flux de diffusion Kinesis Data Firehose.

Cette page montre comment déployer le Pipeline de recherche et d'analyse des événements et vous abonner à une rubrique Amazon SNS. Ce processus transforme automatiquement le modèle AWS SAM associé au pipeline en pile AWS CloudFormation, puis déploie la pile dans votre Compte AWS. De plus, ce processus crée et configure l'ensemble de ressources qui comprennent le pipeline de recherche et d'analyse des événements, y compris ce qui suit :

  • File d'attente Amazon SQS

  • Fonction Lambda

  • Flux de diffusion Kinesis Data Firehose

  • Domaine Amazon OpenSearch Service

  • Compartiment de lettres mortes Amazon S3

Pour plus d'informations sur la configuration d'un flux avec un index en tant que destination, consultez la section ElasticsearchDestinationConfiguration dans la Référence d'API Amazon Kinesis Data Firehose.

Pour plus d'informations sur la transformation des événements, la configuration de la mise en mémoire tampon des événements, la compression des événements et le chiffrement des événements, consultez la section de Création d'un flux de diffusion Amazon Kinesis Data Firehose dans le Guide du développeur Amazon Kinesis Data Firehose.

Pour plus d'informations sur le filtrage des événements, consultez la section Stratégies de filtre d'abonnement Amazon SNS dans le présent guide.

  1. Connectez-vous à la AWS Lambdaconsole.

  2. Dans le panneau de navigation, choisissez Fonctions, puis Créer une fonction.

  3. Sur la page Créer une fonction, procédez de la façon suivante :

    1. Choisissez Parcourir le référentiel d'applications sans serveur, Applications publiques, Afficher les applications qui créent des politiques de rôles ou de ressources IAM personnalisées.

    2. Recherchez fork-event-search-analytics-pipeline et choisissez l'application.

  4. Sur la page fork-event-search-analytics-pipeline, procédez comme suit :

    1. Dans la section Paramètres de l'application, entrez un Nom d'application (par exemple, my-app-search).

      Note

      Pour chaque déploiement, le nom de l'application doit être unique. Si vous réutilisez un nom d'application, le déploiement met à jour uniquement la pile AWS CloudFormation déployée précédemment (au lieu d'en créer une autre).

    2. (Facultatif) Pour DataTransformationFunctionArn, saisissez l'ARN de la fonction Lambda utilisée pour transformer les événements entrants. Si vous ne spécifiez pas de valeur, la transformation des données est désactivée.

    3. (Facultatif) Saisissez l'un des paramètres LogLevel suivants pour l'exécution de la fonction Lambda de votre application :

      • DEBUG

      • ERROR

      • INFO (default)

      • WARNING

    4. (Facultatif) Pour SearchDomainArn, saisissez l'ARN du domaine OpenSearch Service, un cluster qui configure la fonctionnalité de calcul et de stockage nécessaires. Si vous ne spécifiez pas de valeur, un nouveau domaine est créé avec la configuration par défaut.

    5. Pour TopicArn, saisissez l'ARN de la rubrique Amazon SNS dans laquelle cette instance du pipeline fork doit être inscrite.

    6. Pour SearchIndexName, saisissez le nom de l'index OpenSearch Service pour la recherche et l'analyse d'événements.

      Note

      Les quotas suivants s'appliquent aux noms d'index :

      • Vous ne pouvez pas inclure de majuscules

      • Vous ne pouvez pas inclure les caractères suivants : \ / * ? " < > | ` , #

      • Vous ne pouvez pas commencer par les caractères suivants : - + _

      • Vous ne pouvez pas utiliser : . ..

      • Vous ne pouvez pas utiliser plus de 80 caractères

      • Vous ne pouvez pas utiliser plus de 255 octets

      • L’utilisation des deux-points n’est pas autorisée (depuis OpenSearch Service 7.0)

    7. (Facultatif) Entrez l'un des paramètres SearchIndexRotationPeriod suivants pour la période de rotation de l'index OpenSearch Service :

      • NoRotation (default)

      • OneDay

      • OneHour

      • OneMonth

      • OneWeek

      La rotation d'index ajoute un horodatage au nom de l'index, ce qui facilite l'expiration des anciennes données.

    8. Pour SearchTypeName, saisissez le nom du type OpenSearch Service pour organiser les événements dans un index.

      Note
      • Les noms de type OpenSearch Service peuvent contenir n'importe quel caractère (à l'exception des octets null), mais ne peuvent pas commencer par _.

      • Pour OpenSearch Service 6.x, il ne peut y avoir qu'un seul type par index. Si vous essayez de spécifier un nouveau type pour un index existant qui possède déjà un autre type, Kinesis Data Firehose renvoie une erreur lors de l'exécution.

    9. (Facultatif) Pour StreamBufferingIntervalInSeconds et StreamBufferingSizeInMBs, entrez les valeurs de la configuration de la mise en mémoire tampon des événements entrants. Si vous n'entrez aucune valeur, 300 secondes et 5 Mo sont utilisés.

    10. (Facultatif) Entrez l'une des valeurs suivantes pour les paramètres StreamCompressionFormat pour compresser les événements entrants :

      • GZIP

      • SNAPPY

      • UNCOMPRESSED (default)

      • ZIP

    11. (Facultatif) Pour StreamPrefix, saisissez le préfixe de chaîne pour nommer les fichiers stockés dans le compartiment S3 des lettres mortes. Si vous ne spécifiez pas de valeur, aucun préfixe n'est utilisé.

    12. (Facultatif) Pour StreamRetryDurationInSecons, saisissez la durée relative aux nouvelles tentatives pour les cas où Kinesis Data Firehose ne peut pas indexer les événements dans l'index OpenSearch Service. Si vous ne spécifiez pas de valeur, 300 secondes seront utilisées.

    13. (Facultatif) Pour SubscriptionFilterPolicy, saisissez la politique de filtre d'abonnement à Amazon SNS, au format JSON, à utiliser pour filtrer les événements entrants. La politique de filtre décide quels événements sont indexés dans l'index OpenSearch Service. Si vous ne spécifiez pas de valeur, aucun filtrage n'est utilisé (tous les événements sont indexés).

    14. Choisissez Je comprends que cette application crée des rôles IAM et des politiques de ressources personnalisés, et déploie des applications imbriquées., puis choisissez Déployer.

Sur la page État de déploiement pour my-app-search, Lambda affiche l'état Votre application est en cours de déploiement.

Dans la section Ressources, AWS CloudFormation commence à créer la pile et affiche l'état CREATE_IN_PROGRESS pour chaque ressource. Lorsque le processus est terminé, AWS CloudFormation affiche l'état CREATE_COMPLETE.

Une fois le déploiement terminé, Lambda affiche l'état Votre application a été déployée.

Les messages publiés dans votre rubrique Amazon SNS sont indexés dans l'index OpenSearch Service mis en service automatiquement par le pipeline de recherche et d'analyse des événements. Si le pipeline ne peut pas indexer un événement, il le stocke dans un compartiment S3 de lettres mortes.