Elastic y AWS Serverless Application Repository (SAR): Obtén información procesable más rápido con la ingesta de logs desde Amazon S3

blog-thumb-cloud-aws.png

Mientras las compañías aprovechan la plataforma y los servicios de cloud Amazon Web Services (AWS) para impulsar la eficiencia operativa y llevar productos al mercado, a menudo, los logs se almacenan en Amazon Simple Storage Service (Amazon S3) y, luego, se envían a una solución de monitoreo y análisis externo. Ahora, los usuarios de AWS pueden ingestar logs almacenados en Amazon S3 a través del nuevo reenviador sin servidor de Elastic, una aplicación de AWS Lambda, y visualizarlos en el Elastic Stack junto a otros logs y métricas para analíticas centralizadas.

Omite los procesos largos como provisionar una VM o instalar agentes de datos, y reduce la sobrecarga de gestión ingestando datos directamente desde AWS a Elastic.

En este blog, te enseñaremos cómo usar el reenviador sin servidor de Elastic,  que está publicado en el AWS Serverless Application Repository (SAR), para simplificar tu arquitectura y enviar logs a Elastic, de modo que puedas monitorear y proteger tus entornos multicloud y en las instalaciones.

Monitorea el estado y el rendimiento de tu entorno AWS

En un ecosistema híbrido y multicloud cada vez más complejo, no es de extrañar que la observabilidad siga siendo una iniciativa comercial crítica y el desafío número uno para los equipos de DevOps, según una investigación del grupo Enterprise Management Associates (EMA). Mientras muchas organizaciones eligen varias tecnologías, desde contenedores hasta computación sin servidor, para llevar los productos al mercado más rápido y reducir la sobrecarga, cabe destacar la necesidad de una solución de observabilidad que abarque todas las arquitecturas. Según la investigación de EMA, los equipos que despliegan una solución de observabilidad integral pueden desarrollarse un 70 % más rápido y mantener una mayor velocidad del producto con cuatro veces más características.

Elastic Observability unifica los logs, las métricas y los rastreos de APM para ofrecer una vista contextual completa de todos tus entornos AWS híbridos junto con sus sets de datos en las instalaciones (a escala) en un solo stack. Rastrea el rendimiento y monitorea una amplia gama de servicios AWS, incluido AWS Lambda, Amazon Elastic Compute Cloud (EC2), Amazon Elastic Container Service (ECS), Amazon Elastic Kubernetes Service (EKS), Amazon S3, entre otros.

Detalles y capacidades de la plataforma Elastic Observability

Prepara a los equipos de seguridad para que detengan las amenazas rápidamente y a la escala del cloud

En un estudio encargado a Forrester, se demostró que los clientes lograron un ahorro en costos de hasta el 75 % con las soluciones Elastic Security y Observability juntas, y que fueron hasta diez veces más rápidas que las soluciones relacionadas. Con el Elastic Common Schema y una arquitectura de repositorio único, los mismos datos de observabilidad de Amazon S3 y otros sets de datos también pueden usarse para la detección y respuesta extendidas (XDR) a fin de reducir el tiempo medio de detección a cero. Elastic Security reúne SIEM y la seguridad de endpoint, lo que permite a las organizaciones ingestar y retener grandes volúmenes de datos de diferentes fuentes, almacenar y buscar datos durante más tiempo, e incrementar la búsqueda de amenazas a través de detecciones y machine learning. Elimina los silos de datos, reduce la fatiga por alertas y prepara a la organización para detener amenazas rápidamente en todo su entorno.

Almacena los datos de manera rentable para recuperarlos rápidamente y analizarlos en el futuro

Existe otra forma de aprovechar tu Amazon S3 para obtener rentabilidad. Además de ingestar logs almacenados en S3 en Elastic, Elastic permite a las organizaciones retener grandes cantidades de datos históricos en almacenamientos de objetos de bajo costo como Amazon S3 (y mantenerlos completamente activos y que se puedan buscar). Mantén los datos de AWS y en las instalaciones (de cualquier granularidad, por cualquier período) y luego escala a medida que aumentan los datos. La gestión y división en niveles de datos se automatiza a través de las capacidades de gestión de ciclo de vida del índice yescalado automático, según el rendimiento de los datos, la resiliencia y los requisitos de retención de la organización.

Simplificar la ingesta de datos

La aplicación Lambda del reenviador sin servidor de Elastic soporta los logs de ingesta contenidos en la cubeta de Amazon S3 y los envía a Elastic. La notificación de eventos de cola SQS en Amazon S3 sirve como desencadenante para la función Lambda. Cuando se escribe un nuevo archivo de log en una cubeta de Amazon S3 y este cumple con los criterios, se genera una notificación que desencadena la función Lambda.

Los usuarios pueden configurar el desencadenante de la función SQS en su cubeta S3 y proporcionar información de conexión Elastic para permitir que los logs fluyan, y usar los dashboards prediseñados y las características de analíticas completas de Kibana para dar vida a los datos de los logs.

Diagrama de arquitectura:

diagrama de arquitectura

Comencemos

En esta sección, recorreremos un tutorial paso a paso sobre cómo empezar con el reenviador sin servidor de Elastic para analizar los logs de flujo de Amazon Virtual Private Cloud (Amazon VPC) en el Elastic Stack.

Para obtener instrucciones más detalladas, revisa la documentación del reenviador sin servidor de Elastic.

La ingesta de logs de flujo de Amazon VPC en Elastic te permite monitorear y analizar el tráfico de red dentro de tu Amazon VPC y tomar decisiones más informadas de las siguientes maneras:

  • Analizar los datos de los logs de flujo en Kibana con la capacidad de buscar, visualizar y filtrar los logs rápidamente
  • Evaluar las reglas de grupos de seguridad y descubrir brechas de seguridad
  • Configurar alarmas que notifiquen cuando se detectan ciertos tipos de tráfico
  • Identificar problemas de latencia y establecer bases de referencia para garantizar un rendimiento coherente

Antes de empezar

  1. Si aún no estás usando Elastic, crea un despliegue usando nuestro Elasticsearch Service en Elastic Cloud. El despliegue incluye un cluster de Elasticsearch para almacenar y buscar tus datos, y Kibana para visualizarlos y gestionarlos. Para obtener más información, consulta Activar el Elastic Stack.
  2. Permite que los logs de flujo de AWS VPC se envíen a una cubeta S3. Si no tienes esa configuración, puedes crear fácilmente una cubeta S3 y enviar logs de flujo de VPC a esa cubeta. Básicamente, los pasos serán:
    • Crear una cubeta S3 (Ejemplo: vpc-flow-logs)
    • En la consola EC2, selecciona interfaces de red específicas y, en el menú "Actions" (Acciones), "create flow log" (crear log de flujo). Selecciona como destino la cubeta S3 que creaste en los pasos anteriores. Para obtener más información, revisa la documentación de AWS.
  3. Ahora, creemos una cola simple SQS (Ejemplo: flow-logs-queue) y configuremos una política de acceso apropiada para que las notificaciones de eventos S3 de S3 se envíen a la cola. En la cubeta S3 (vpc-flow-logs), configura las notificaciones de eventos para que todos los objetos "create events" (crear eventos) se envíen a la cola SQS (flow-logs-queue). Para obtener más información, revisa ladocumentación de AWS.
  4. A continuación, comenzarás a instalar la integración de Elastic AWS directamente desde la UI web de Kibana, que contiene dashboards prediseñados, configuraciones de nodo de ingesta y otros activos que te ayudan a aprovechar al máximo los logs que ingestas. Dirígete a "Integrations" (Integraciones) en Kibana y busca AWS. Haz clic en la integración AWS para ver más información, selecciona "Settings" (Ajustes) y haz clic en "Install AWS assets" (Instalar activos de AWS) para instalar todos los activos de integración de AWS.
instalar activos de AWS

5. A continuación, creemos una nueva cubeta S3 y un archivo de configuración que el reenviador sin servidor de Elastic usará para conocer la fuente de entrada y la conexión Elastic para la información de destino.

cubeta S3

Este es un archivo de configuración de muestra:

archivo de configuración

Dirígete a Elastic Cloud y copia Cloud ID desde la consola de Elastic Cloud para especificar el parámetro "cloud_id". Navega hasta Kibana y crea una clave de API codificada en Base 64 para la autenticación, y especifica el parámetro "api_key". Debes almacenar cualquier valor sensible en AWS Secrets Manager y consultarlo desde el archivo de configuración.

6. Despliega el reenviador sin servidor de Elastic desde AWS SAR y establece configuraciones apropiadas para que la función Lambda empiece a ingestar logs de flujo de VPC en Elastic.

Desde la consola Lambda, selecciona "Functions -> Create a function" (Funciones -> Crear una función), selecciona "Browse serverless app repository" (Buscar repositorio de aplicación sin servidor) y busca el reenviador sin servidor de Elastic. Selecciona la aplicación.

configuración

Una vez que estés en la página "Review, configure and deploy" (Revisar, configurar y desplegar) de la aplicación, llena los siguientes campos:

  1. Especifica la cubeta S3 en ElasticServerlessForwarderS3Buckets a donde se están enviando los logs de flujo de VPC. El valor es la ARN de la cubeta S3 que creaste en el paso 2.
  2. Especifica la ruta del archivo de configuración en ElasticServerlessForwarderS3ConfigFile. El valor es la URL de S3 en el formato "s3://bucket-name/config-file-name" que apunta al archivo de configuración (sarconfig.yaml) que creaste en el paso 5.
  3. Especifica la cola de notificaciones SQS de S3 que usaste como desencadenante de la función Lambda en ElasticServerlessForwarderS3SQSEvents. El valor es la ARN de la cola SQS que creaste en el paso 3.

El despliegue Lambda usa los valores anteriores para crear políticas IAM mínimas y configurar las variables del entorno para que la función Lambda se ejecute correctamente.

El Lambda desplegado leerá los archivos de log de flujo de VPC mientras se escriben en la cubeta S3 y los enviará a Elastic.

7. Navega a Kibana para ver los logs parseados y visualizados en el dashboard "[Logs AWS] VPC Flow Log Overview" (Visión general del log de flujo de VPC [Logs AWS]).

Log de flujo de VPC

Resumen

Elastic ofrece constantemente experiencias sin problemas al cliente y permite un acceso en cualquier momento y en cualquier lugar. Esta integración optimizada con AWS es el ejemplo más reciente de ello. Para obtener más información, visita la documentación del reenviador sin servidor de Elastic o descarga la guía de Elastic Observability para AWS.

Comienza una prueba gratuita hoy

Comienza tu propia prueba gratuita de 7 días registrándote a través de AWS Marketplace y activa rápidamente un despliegue en minutos en cualquiera de las regiones de Elastic Cloud en AWS en todo el mundo. Tu compra en AWS Marketplace de Elastic se incluirá en tu facturación consolidada mensual y se tendrá en cuenta para el gasto acordado con AWS.

El lanzamiento y la sincronización de cualquier característica o funcionalidad descrita en este blog quedan a la entera discreción de Elastic. Es posible que alguna característica o funcionalidad que no esté disponible actualmente no se entregue a tiempo o no se entregue en absoluto.