Esta es una publicación invitada coescrita con Mike Mosher, arquitecto principal de redes de plataformas en la nubarrón en una empresa multinacional de informes crediticios financieros.
Trabajo para una empresa multinacional de informes crediticios financieros que ofrece soluciones de peligro crediticio, fraude, marketing dirigido y toma de decisiones automatizadas. Somos uno de los primeros en adoptar AWS y hemos prohijado la nubarrón para impulsar los esfuerzos de transformación digital. Nuestro equipo del Centro de excelencia en la nubarrón (CCoE) opera una zona de aterrizaje de AWS total, que incluye una infraestructura de red de AWS centralizada. Incluso somos socios de AWS PrivateLink Ready y ofrecemos nuestra Conexión electrónica alternativa para permitir a nuestros clientes B2B conectarse a una abanico de productos a través de una conectividad privada, segura y de detención rendimiento.
Nuestra alternativa E-Connect es una plataforma compuesta por múltiples servicios de AWS como Balanceador de carga de aplicaciones (ALBA), Equilibrador de carga de red (NLB), Equilibrador de carga de puerta de enlace (GWLB), Puerta de enlace de tránsito de AWS, Enlace privado de AWS, WAF de AWSy dispositivos de seguridad de terceros. Todos estos servicios y capital, así como la gran cantidad de tráfico de red en la plataforma, crean una gran cantidad de registros, y necesitábamos una alternativa para sumar y organizar estos registros para que nuestros equipos de operaciones los analicen rápidamente al solucionar problemas de la plataforma.
Nuestro diseño flamante consistía en Servicio de búsqueda abierta de Amazonseleccionado por su capacidad para devolver entradas de registro específicas de conjuntos de datos extensos en segundos. Incluso lo complementamos con Logstashlo que nos permite utilizar múltiples filtros para enriquecer y aumentar los datos antaño de enviarlos al clúster de OpenSearch, lo que facilita una experiencia de monitoreo más completa y reveladora.
En esta publicación, compartimos nuestro delirio, incluidos los obstáculos que enfrentamos, las soluciones que pensamos y por qué elegimos Canalizaciones de ingesta de Amazon OpenSearch para hacer nuestra mandato de registros más fluida.
Recapitulación de la alternativa auténtico
Originalmente queríamos acumular y analizar los registros en un clúster de OpenSearch y decidimos utilizar el servicio administrado por AWS para Búsqueda abierta llamado Servicio de búsqueda abierta de Amazon. Incluso queríamos enriquecer estos registros con Logstash, pero no había ningún servicio administrado por AWS para esto, por lo que necesitábamos implementar la aplicación en un Montón informática elástica de Amazon (Amazon EC2) servidor. Esta configuración significó que tuvimos que implementar mucho mantenimiento del servidor, incluido el uso AWS CodePipeline y Implementación de código de AWS para mandar nuevas configuraciones de Logstash al servidor y reiniciar el servicio. Incluso necesitábamos realizar tareas de mantenimiento del servidor, como aplicar parches y desempolvar el sistema operante (SO) y la aplicación Logstash, y monitorear los capital del servidor, como el montón de Java, la CPU, la memoria y el almacenamiento.
La complejidad se extendió a validar la ruta de red desde el servidor Logstash hasta el clúster OpenSearch, incorporando comprobaciones en las listas de control de paso (ACL) y grupos de seguridad, así como rutas en las subredes de VPC. Prosperar más allá de un único servidor EC2 introdujo consideraciones para regir un especie de utilitario scaling, Servicio de posaderas simple de Amazon (Amazon SQS) y más. Perdurar la funcionalidad continua de nuestra alternativa se convirtió en un esfuerzo significativo, desviando la atención de las tareas principales de tratar y monitorear la plataforma.
El sucesivo diagrama ilustra nuestra obra auténtico.
Posibles soluciones para nosotros:
Nuestro equipo analizó múltiples opciones para regir los registros desde esta plataforma. Poseemos una alternativa Splunk para acumular y analizar registros y la evaluamos como un competidor potencial del servicio OpenSearch. Sin secuestro, optamos por no hacerlo por varias razones:
- Nuestro equipo está más familiarizado con OpenSearch Service y Logstash que con Splunk.
- Amazon OpenSearch Service, al ser un servicio administrado en AWS, facilita un proceso de transferencia de registros más fluido en comparación con nuestra alternativa Splunk almacén. Adicionalmente, transportar registros al clúster Splunk almacén generaría altos costos y consumiría ufano de manada en nuestro Conexión directa de AWS conexiones e introducir complejidad innecesaria.
- La estructura de precios de Splunk, basada en el almacenamiento en GB, resultó tener un costo prohibitivo para el pandeo de registros que pretendíamos acumular y analizar.
Diseños iniciales para una alternativa de canalización de OpenSearch Ingestion
El equipo de Amazon se acercó a mí acerca de una nueva función que estaban lanzando: Ingestión de Amazon OpenSearch. Esta característica ofreció una gran alternativa a los problemas que enfrentamos al regir instancias EC2 para Logstash. Primero, la nueva característica eliminó todo el trabajo pesado de nuestro equipo de regir múltiples instancias EC2, prosperar los servidores alrededor de hacia lo alto y alrededor de debajo según el tráfico y monitorear la ingesta de registros y los capital de los servidores subyacentes. En segundo punto, las canalizaciones de ingesta de Amazon OpenSearch admitían la mayoría, si no todos, los filtros de Logstash que usábamos en nuestra alternativa flagrante, lo que nos permitió usar la misma funcionalidad de nuestra alternativa flagrante para enriquecer los registros.
Estábamos encantados de ser aceptados en el software beta de AWS, emergiendo como uno de sus primeros y más grandes usuarios. Nuestro delirio comenzó con la ingesta de registros de flujo de VPC para nuestra plataforma de ingreso a Internet, unido con los registros de flujo de Transit Gateway que conectan todas las VPC en la región de AWS. Manejar un pandeo tan sustancial de registros resultó ser una tarea importante: solo los registros de flujo de Transit Gateway alcanzaron más de 14 TB por día. A medida que ampliamos nuestro capacidad para incluir otros registros como los registros de paso ALB y NLB y los registros AWS WAF, la escalera de la alternativa se tradujo en costos más altos.
Sin secuestro, nuestro entusiasmo se vio poco atenuado por los desafíos que enfrentamos inicialmente. A pesar de nuestros mejores esfuerzos, encontramos problemas de rendimiento con el dominio. A través de esfuerzos de colaboración con el equipo de AWS, descubrimos configuraciones erróneas interiormente de nuestra configuración. Habíamos estado utilizando instancias que no tenían el tamaño adecuado para el pandeo de datos que manejábamos. En consecuencia, estas instancias operaban constantemente a la capacidad máxima de la CPU, lo que generaba una acumulación de registros entrantes. Este cuello de botella se extendió a nuestros procesos de ingesta de OpenSearch, obligándolos a prosperar innecesariamente, incluso cuando el clúster de OpenSearch luchaba por perseverar el ritmo.
Estos desafíos llevaron a un desempeño subóptimo de nuestro clúster. Nos encontramos incapaces de analizar los registros de flujo o entrar a los registros con prontitud, a veces esperando días luego de su creación. Adicionalmente, los costos asociados con estas ineficiencias excedieron con creces nuestras expectativas iniciales.
Sin secuestro, con la ayuda del equipo de AWS, abordamos estos problemas con éxito y optimizamos nuestra configuración para mejorar el rendimiento y la rentabilidad. Esta experiencia subrayó la importancia de una configuración y colaboración adecuadas para maximizar el potencial de los servicios de AWS, lo que en última instancia conduce a un resultado más positivo para nuestros procesos de ingesta de datos.
Diseño optimizado para nuestra alternativa de canalizaciones de ingesta OpenSearch
Colaboramos con AWS para mejorar nuestra alternativa normal, creando una alternativa que sea a la vez de detención rendimiento, rentable y alineada con nuestros requisitos de monitoreo. La alternativa implica la ingesta selectiva de campos de registro específicos en el dominio del servicio OpenSearch mediante un Amazon S3 Select. tubería en la fuente del oleoducto; La ingestión selectiva alternativa incluso se puede realizar mediante filtrado interiormente de tuberías. puedes usar include_keys
y exclude_keys
en su receptor para filtrar los datos que se enrutan al destino. Incluso utilizamos el incorporado. Papeleo del estado del índice función para eliminar registros anteriores a un período predefinido para dominar el costo normal del clúster.
Los registros ingeridos en OpenSearch Service nos permiten obtener datos agregados, proporcionando información sobre tendencias y problemas en toda la plataforma. Para un estudio detallado adicional de estos registros, incluidos todos los campos de registro originales, utilizamos Atenea amazónica tablas con particiones para realizar consultas de forma rápida y rentable Servicio de almacenamiento simple de Amazon (Amazon S3) para registros almacenados en formato Parquet.
Esta alternativa integral alivio significativamente la visibilidad de nuestra plataforma, reduce los costos generales de monitoreo para manejar un gran pandeo de registros y acelera nuestro tiempo para identificar las causas fundamentales al solucionar incidentes en la plataforma.
El sucesivo diagrama ilustra nuestra obra optimizada.
Comparación de rendimiento
La sucesivo tabla compara el rendimiento del diseño auténtico con Logstash en Amazon EC2, la alternativa de canalización de OpenSearch Ingestion flamante y la alternativa de canalización de OpenSearch Ingestion optimizada.
Diseño auténtico con Logstash en Amazon EC2 | Posibilidad flamante de canalización de ingestión | Posibilidad de canalización de ingesta optimizada | |
Esfuerzo de mantenimiento | Detención: La alternativa requería que el equipo administrara múltiples servicios e instancias, lo que restaba esfuerzo a la sucursal y monitoreo de nuestra plataforma. | Bajo: OpenSearch Ingestion administró la decano parte del trabajo pesado indiferenciado, dejando que el equipo solo mantuviera el archivo de configuración de la canalización de ingesta. | Bajo: OpenSearch Ingestion administró la decano parte del trabajo pesado indiferenciado, dejando que el equipo solo mantuviera el archivo de configuración de la canalización de ingesta. |
Acto | Detención: Las instancias EC2 con Logstash podrían ampliarse y reducirse según sea necesario en el especie de escalado automotriz. | Bajo: Adecuado a capital insuficientes en el clúster de OpenSearch, las canalizaciones de ingesta estaban constantemente en el mayor de unidades de cuenta de OpenSearch (OCU), lo que provocó que la entrega de registros se retrasara varios días. | Detención: Las tuberías de ingesta pueden ampliarse y reducirse en las OCU según sea necesario. |
Disponibilidad de registros en tiempo efectivo | Medio: Para extraer, procesar y entregar la gran cantidad de registros en Amazon S3, necesitábamos una gran cantidad de instancias EC2. Para economizar costos, ejecutamos menos instancias, lo que provocó una entrega de registros más lenta a OpenSearch. | Bajo: Adecuado a capital insuficientes en el clúster de OpenSearch, las canalizaciones de ingesta estaban constantemente al mayor de OCU, lo que provocó que la entrega de registros se retrasara varios días. | Detención: La alternativa optimizada pudo entregar una gran cantidad de registros a OpenSearch para su estudio casi en tiempo efectivo. |
Peculio de costos | Medio: La ejecución de múltiples servicios e instancias para mandar registros a OpenSearch aumentó el costo de la alternativa normal. | Bajo: Adecuado a capital insuficientes en el clúster de OpenSearch, las canalizaciones de ingesta estaban constantemente al mayor de OCU, lo que aumentaba el costo del servicio. | Detención: La alternativa optimizada pudo ampliar y dominar las OCU del canal de ingesta según fuera necesario, lo que mantuvo el costo normal bajo. |
Beneficio normal | Medio | Bajo | Detención |
Conclusión
En esta publicación, destacamos mi delirio para crear una alternativa utilizando los canales OpenSearch Service y OpenSearch Ingestion. Esta alternativa nos permite centrarnos en analizar registros y respaldar nuestra plataforma, sin exigencia de respaldar la infraestructura para entregar registros a OpenSearch. Incluso destacamos la exigencia de optimizar el servicio para aumentar el rendimiento y dominar costos.
Como próximos pasos, pretendemos explorar el recientemente anunciado Integración de ETL cero de Amazon OpenSearch Service con Amazon S3 (en traducción preliminar) función interiormente del servicio OpenSearch. Este paso tiene como objetivo dominar aún más los costos de la alternativa y proporcionar flexibilidad en el momento y la cantidad de registros que se incorporan.
Acerca de los autores
Navnit Shukla Se desempeña como arquitecto de soluciones especializado en AWS con un enfoque en estudio. Posee un gran entusiasmo por ayudar a los clientes a descubrir información valiosa a partir de sus datos. A través de su experiencia, construye soluciones innovadoras que permiten a las empresas tomar decisiones informadas y basadas en datos. En particular, Navnit Shukla es el consumado autor del obra titulado «Data Wrangling on AWS». Se le puede contactar a través de LinkedIn.
Mike Mosher Es arquitecto principal senior de redes de plataformas en la nubarrón en una empresa multinacional de informes crediticios financieros. Tiene más de 16 primaveras de experiencia en redes locales y en la nubarrón y le apasiona crear nuevas arquitecturas en la nubarrón que atiendan a los clientes y resuelvan problemas. Fuera del trabajo, disfruta del tiempo con su clan y de delirar de regreso a las montañas de Colorado.