Implementación y suscripción de la canalización de almacenamiento y copia de seguridad de eventos en Amazon SNS - Amazon Simple Notification Service

Implementación y suscripción de la canalización de almacenamiento y copia de seguridad de eventos en Amazon SNS

Para el archivado y el análisis de eventos, Amazon SNS recomienda ahora utilizar su integración nativa con Amazon Data Firehose. Puede suscribir los flujos de entrega de Firehose a temas de SNS, lo que le permite enviar notificaciones a puntos de conexión de archivo y análisis, como buckets de Amazon Simple Storage Service (Amazon S3), tablas de Amazon Redshift, Amazon OpenSearch Service (OpenSearch Service) y otros. El uso de Amazon SNS con flujos de entrega de Firehose es una solución completamente administrada y sin código en la que no se necesita el uso de funciones de AWS Lambda. Para obtener más información, consulte Distribución ramificada a los flujos de entrega de Firehose.

En este tutorial, se muestra cómo implementar la canalización de almacenamiento y copia de seguridad de eventos y suscribirla a un tema de Amazon SNS. Con este proceso, se convierte de forma automática la plantilla de AWS SAM asociada con la canalización en una pila de AWS CloudFormation y, a continuación, se implementa la pila en su Cuenta de AWS. Este proceso también crea y configura el conjunto de recursos que componen la canalización de almacenamiento y copia de seguridad de eventos, incluidos los siguientes:

  • Cola de Amazon SQS

  • Función de Lambda

  • Flujo de entrega de Firehose

  • Bucket de copia de seguridad de Amazon S3

Para obtener más información sobre la configuración de un flujo con un bucket de S3 como destino, consulte S3DestinationConfiguration en la Referencia de la API de Amazon Data Firehose.

Para obtener más información sobre la transformación de eventos y la configuración del almacenamiento en búfer, la compresión y el cifrado de eventos, consulte Creating an Amazon Data Firehose Delivery Stream en la Guía para desarrolladores de Amazon Data Firehose.

Para obtener más información sobre el filtrado de eventos, consulte Políticas de filtro de suscripciones de Amazon SNS en esta guía.

  1. Inicie sesión en la consola de AWS Lambda.

  2. En el panel de navegación, elija Functions (Funciones) y, a continuación, Create function (Crear función).

  3. En la página Create function (Crear función), proceda del modo siguiente:

    1. Elija Examinar el repositorio de aplicaciones sin servidor, Aplicaciones públicas, Mostrar aplicaciones que crean roles de IAM personalizados o políticas de recursos.

    2. Busque fork-event-storage-backup-pipeline y, a continuación, elija la aplicación.

  4. En la página fork-event-storage-backup-pipeline, proceda del modo siguiente:

    1. En la sección Application settings (Configuración de la aplicación), escriba el valor de Application name (Nombre de aplicación) (por ejemplo, my-app-backup).

      nota
      • Para cada implementación, el nombre de la aplicación debe ser único. Si reutiliza un nombre de aplicación, la implementación actualizará solo la pila de AWS CloudFormation implementada anteriormente (en lugar de crear una nueva).

    2. (Opcional) En BucketArn, escriba el ARN del bucket de S3 en el que se cargan los eventos entrantes. Si no escribe un valor, se crea un nuevo bucket de S3 en su cuenta de AWS.

    3. (Opcional) En DataTransformationFunctionArn, ingrese el ARN de la función Lambda mediante la que se transforman los eventos entrantes. Si no escribe un valor, se deshabilita la transformación de datos.

    4. (Opcional) Ingrese una de las siguientes configuraciones de LogLevel para ejecutar la función Lambda de su aplicación:

      • DEBUG

      • ERROR

      • INFO (predeterminado)

      • WARNING

    5. En TopicArn, ingrese el ARN del tema de Amazon SNS al que se debe suscribir esta instancia de la canalización de bifurcación.

    6. (Opcional) En StreamBufferingIntervalInSeconds y StreamBufferingSizeInMBs, escriba los valores para configurar el almacenamiento en búfer de los eventos entrantes. Si no escribe ningún valor, se utilizan 300 segundos y 5 MB.

    7. (Opcional) Escriba una de las siguientes opciones de StreamCompressionFormat para comprimir los eventos entrantes:

      • GZIP

      • SNAPPY

      • UNCOMPRESSED (predeterminado)

      • ZIP

    8. (Opcional) En StreamPrefix, escriba el prefijo de cadena para asignar nombres a los archivos almacenados en el bucket de copia de seguridad de S3. Si no escribe un valor, no se usa ningún prefijo.

    9. (Opcional) En SubscriptionFilterPolicy, ingrese la política de filtro de suscripciones de Amazon SNS, en formato JSON, que se utilizará para filtrar los eventos entrantes. La política de filtro decide qué eventos se indexan en el índice de OpenSearch Service. Si no escribe ningún valor, no se utiliza el filtrado (se indexan todos los eventos).

    10. (Opcional) Para SubscriptionFilterPolicyScope, escriba la cadena MessageBody o MessageAttributes para habilitar el filtrado de mensajes basado en cargas o basado en atributos.

    11. Elija I acknowledge that this app creates custom IAM roles, resource policies and deploys nested applications (Confirmo que esta aplicación crea políticas de recursos o roles de IAM personalizados e implementa aplicaciones anidadas) y, a continuación, elija Deploy (Implementar).

En la página Estado de implementación para my-app, Lambda muestra el estado La aplicación se está implementando.

En la sección Resources (Recursos), AWS CloudFormation comienza a crear la pila y muestra el estado CREATE_IN_PROGRESS para cada recurso. Cuando el proceso se haya completado, AWS CloudFormation mostrará el estado CREATE_COMPLETE.

Cuando se haya completado la implementación, Lambda muestra el estado La aplicación se ha implementado.

Los mensajes publicados en su tema de Amazon SNS se almacenan en el bucket de copia de seguridad de S3 aprovisionado de manera automática por la canalización de almacenamiento y copia de seguridad de eventos.