Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Configure el registro centralizado a escala empresarial mediante Terraform
Creado por Aarti Rajput (AWS), Yashwant Patel (AWS) y Nishtha Yadav (AWS)
Resumen
El registro centralizado es vital para la infraestructura de nube de una organización, ya que proporciona visibilidad de sus operaciones, seguridad y conformidad. A medida que su organización amplía su AWS entorno a varias cuentas, una estrategia estructurada de administración de registros se vuelve fundamental para ejecutar las operaciones de seguridad, cumplir con los requisitos de auditoría y lograr la excelencia operativa.
Este patrón proporciona un marco seguro y escalable para centralizar los registros de múltiples servicios Cuentas de AWS y, así, permitir la administración de registros a escala empresarial en implementaciones complejas. AWS La solución se automatiza mediante Terraform, una herramienta de infraestructura como código (IaC) HashiCorp que garantiza despliegues consistentes y repetibles y minimiza la configuración manual. Al combinar Amazon CloudWatch Logs, Amazon Data Firehose y Amazon Simple Storage Service (Amazon S3), puede implementar un proceso sólido de agregación y análisis de registros que ofrece:
Administración centralizada de registros en toda su organización en AWS Organizations
Recopilación de registros automatizada con controles de seguridad integrados
Procesamiento de registros escalable y almacenamiento duradero
Informes de conformidad y registros de auditoría simplificados
Supervisión e información operativa en tiempo real
La solución recopila registros de los AWS Lambda contenedores de Amazon Elastic Kubernetes Service (Amazon EKS), las funciones y las instancias de bases de datos de Amazon Relational Database Service (Amazon RDS) mediante Logs. CloudWatch Reenvía automáticamente estos registros a una cuenta de registro dedicada mediante filtros de suscripción. CloudWatch Firehose gestiona el flujo de transmisión de registros de alto rendimiento a Amazon S3 para el almacenamiento a largo plazo. Amazon Simple Queue Service (Amazon SQS) está configurado para recibir notificaciones de eventos de Amazon S3 al crear un objeto. Esto permite la integración con los servicios de análisis, que incluyen:
Amazon OpenSearch Service para búsqueda de registros, visualización y análisis en tiempo real
Amazon Athena para consultas basadas en SQL
Amazon EMR para procesamiento a gran escala
Lambda para una transformación personalizada
Amazon QuickSight para paneles
Todos los datos se cifran mediante AWS Key Management Service (AWS KMS) y toda la infraestructura se implementa mediante Terraform para lograr una configuración uniforme en todos los entornos.
Este enfoque de registro centralizado permite a las organizaciones mejorar su postura de seguridad, mantener los requisitos de cumplimiento y optimizar la eficiencia operativa en toda su AWS infraestructura.
Requisitos previos y limitaciones
Requisitos previos
Una landing zone para su organización que se crea utilizando AWS Control Tower
Account Factory for Terraform (AFT), implementado y configurado con las cuentas requeridas
Terraform
para aprovisionar la infraestructura AWS Identity and Access Management Funciones y políticas (IAM) para el acceso entre cuentas
Para obtener instrucciones sobre cómo configurar AWS Control Tower las cuentas AFT y de aplicación, consulta la sección Epics.
Cuentas obligatorias
Su organización AWS Organizations debe incluir las siguientes cuentas:
Cuenta de aplicación: una o más cuentas de origen en las que Servicios de AWS (Amazon EKS, Lambda y Amazon RDS) ejecutan y generan registros
Cuenta Log Archive: una cuenta dedicada para el almacenamiento y la administración centralizados de registros
Versiones de producto
AWS Control Tower versión 3.1 o posterior
Terraform versión 0.15.0
o posterior
Arquitectura
El siguiente diagrama ilustra una arquitectura de registro AWS centralizada que proporciona una solución escalable para recopilar, procesar y almacenar los registros de varias cuentas de aplicaciones en una cuenta dedicada de Log Archive. Esta arquitectura gestiona de forma eficiente los registros de Servicios de AWS Amazon RDS, Amazon EKS y Lambda, y los dirige mediante un proceso simplificado a los buckets regionales de S3 de la cuenta de Log Archive.

El flujo de trabajo incluye cinco procesos:
Proceso de flujo de registro
El proceso de flujo de registros comienza en las cuentas de la aplicación, donde se Servicios de AWS generan varios tipos de registros, como registros generales, de errores, de auditoría, registros de consultas lentas de Amazon RDS, registros del plano de control de Amazon EKS y registros de ejecución de funciones y errores de Lambda.
CloudWatch sirve como punto de recopilación inicial. Recopila estos registros a nivel de grupo de registros dentro de cada cuenta de aplicación.
En CloudWatch, los filtros de suscripción determinan qué registros deben reenviarse a la cuenta central. Estos filtros le proporcionan un control pormenorizado sobre el reenvío de registros, de modo que puede especificar patrones de registro exactos o flujos de registros completos para su centralización.
Transferencia de registros entre cuentas
Los registros se mueven a la cuenta de Log Archive. CloudWatch Los filtros de suscripción facilitan la transferencia entre cuentas y preservan el contexto regional.
La arquitectura establece varios flujos paralelos para gestionar diferentes fuentes de registro de manera eficiente, a fin de garantizar un rendimiento y una escalabilidad óptimos.
Procesamiento de registros en la cuenta Log Archive
En la cuenta Log Archive, Firehose procesa los flujos de registro entrantes.
Cada región mantiene flujos de entrega de Firehose dedicados que pueden transformar, convertir o enriquecer los troncos según sea necesario.
Estas transmisiones Firehose envían los registros procesados a los depósitos S3 de la cuenta Log Archive, que se encuentra en la misma región que las cuentas de la aplicación de origen (región A en el diagrama) para mantener los requisitos de soberanía de los datos.
Notificaciones y flujos de trabajo adicionales
Cuando los registros llegan a sus depósitos S3 de destino, la arquitectura implementa un sistema de notificaciones mediante Amazon SQS.
Las colas SQS regionales permiten el procesamiento asíncrono y pueden activar flujos de trabajo, análisis o sistemas de alerta adicionales en función de los registros almacenados.
AWS KMS por motivos de seguridad
La arquitectura incorpora medidas AWS KMS de seguridad. AWS KMS proporciona claves de cifrado para los cubos S3. Esto garantiza que todos los registros almacenados mantengan el cifrado en reposo y, al mismo tiempo, que el cifrado sea regional para cumplir con los requisitos de residencia de los datos.
Herramientas
Servicios de AWS
Amazon CloudWatch es un servicio de monitoreo y observabilidad que recopila datos operativos y de monitoreo en forma de registros, métricas y eventos. Proporciona una vista unificada de AWS los recursos, las aplicaciones y los servicios que se ejecutan en AWS y en los servidores locales.
CloudWatch Los filtros de suscripción a los registros son expresiones que coinciden con un patrón en los eventos de registro entrantes y envían los eventos de registro coincidentes al AWS recurso especificado para su posterior procesamiento o análisis.
AWS Control Tower Account Factory For Terraform (AFT) establece una canalización de Terraform para ayudarlo a aprovisionar y personalizar las cuentas. AWS Control Tower AFT proporciona un aprovisionamiento de cuentas basado en Terraform y, al mismo tiempo, le permite administrar sus cuentas con. AWS Control Tower
Amazon Data Firehose ofrece datos de streaming en tiempo real a destinos como Amazon S3, Amazon Redshift y Amazon Service. OpenSearch Se escala automáticamente para adaptarse al rendimiento de sus datos y no requiere una administración continua.
Amazon Elastic Kubernetes Service (Amazon EKS) es un servicio gestionado de organización de contenedores que facilita la implementación, la administración y el escalado de aplicaciones en contenedores mediante Kubernetes. Administra automáticamente la disponibilidad y la escalabilidad de los nodos del plano de control de Kubernetes.
AWS Key Management Service (AWS KMS) crea y controla las claves de cifrado para cifrar sus datos. AWS KMS se integra con otros Servicios de AWS para ayudarle a proteger los datos que almacena con estos servicios.
AWS Lambdaes un servicio informático sin servidor que permite ejecutar código sin aprovisionar ni administrar servidores. Escala automáticamente sus aplicaciones mediante la ejecución de código en respuesta a cada activador y solo cobra por el tiempo de procesamiento que utilice.
Amazon Relational Database Service (Amazon RDS) es un servicio de base de datos relacional gestionado que facilita la configuración, el funcionamiento y el escalado de una base de datos relacional en la nube. Proporciona una capacidad rentable y redimensionable, a la vez que automatiza las tareas de administración que consumen mucho tiempo.
Amazon Simple Queue Service (Amazon SQS) es un servicio de cola de mensajes que le permite desacoplar y escalar microservicios, sistemas distribuidos y aplicaciones sin servidor. Elimina la complejidad de administrar y operar el middleware orientado a los mensajes.
Amazon Simple Storage Service (Amazon S3) es un servicio de almacenamiento de objetos basado en la nube que ofrece escalabilidad, disponibilidad de datos, seguridad y rendimiento. Puede almacenar y recuperar cualquier cantidad de datos desde cualquier lugar de la web.
Otras herramientas
Terraform
es una herramienta de infraestructura como código (IaC) HashiCorp que le ayuda a crear y administrar recursos locales y en la nube.
Código
El código de este patrón está disponible en el repositorio de registro GitHub centralizado
Prácticas recomendadas
Utilice varios Cuentas de AWS en una sola organización en AWS Organizations. Esta práctica permite una administración centralizada y un registro estandarizado en todas las cuentas.
Configure los buckets de S3 con el control de versiones, las políticas de ciclo de vida y la replicación entre regiones. Implemente el cifrado y el registro de acceso para garantizar la seguridad y el cumplimiento.
Implemente estándares de registro comunes mediante el formato JSON con marcas de tiempo y campos estándares. Utilice una estructura de prefijos y una correlación coherentes IDs para facilitar el seguimiento y el análisis.
Habilite los controles de seguridad con AWS KMS cifrado y acceso con privilegios mínimos. Mantenga la AWS CloudTrail supervisión y la rotación regular de las claves para mejorar la seguridad.
Configure CloudWatch métricas y alertas para el seguimiento de las entregas. Supervise los costes y el rendimiento con notificaciones automáticas.
Configure las políticas de retención de Amazon S3 para cumplir con los requisitos de conformidad y habilite el registro de acceso al servidor Amazon S3 para realizar un seguimiento de todas las solicitudes realizadas a sus buckets de S3. Conserve la documentación sobre las políticas de los buckets de S3 y las reglas del ciclo de vida. Realice revisiones periódicas de los registros de acceso, los permisos de los depósitos y las configuraciones de almacenamiento para garantizar el cumplimiento y las mejores prácticas de seguridad.
Epics
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Configure un AWS Control Tower entorno con AFT. |
| Administrador de AWS |
Habilite el intercambio de recursos para la organización. |
| Administrador de AWS |
Verifique o aprovisione las cuentas de la aplicación. | Para aprovisionar nuevas cuentas de aplicación para su caso de uso, créelas mediante AFT. Para obtener más información, consulte Aprovisionar una nueva cuenta con AFT en la AWS Control Tower documentación. | Administrador de AWS |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Copie el contenido de la |
| DevOps ingeniero |
Revise y edite los parámetros de entrada para configurar la cuenta de la aplicación. | En este paso, debe configurar el archivo de configuración para crear recursos en las cuentas de la aplicación, incluidos los grupos de CloudWatch registros, los filtros de CloudWatch suscripción, las funciones y políticas de IAM y los detalles de configuración de las funciones de Amazon RDS, Amazon EKS y Lambda. En su
| DevOps ingeniero |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Copie el contenido de la |
| DevOps ingeniero |
Revise y edite los parámetros de entrada para configurar la cuenta de Log Archive. | En este paso, configurará el archivo de configuración para crear recursos en la cuenta de Log Archive, incluidos los flujos de entrega de Firehose, los depósitos de S3, las colas de SQS y las funciones y políticas de IAM. En la
| DevOps ingeniero |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Opción 1: implementar los archivos de configuración de Terraform desde AFT. | En AFT, la canalización de AFT se activa después de introducir el código con los cambios de configuración en el GitHub Después de realizar cambios en tus archivos de Terraform (
notaSi utilizas una rama diferente (por ejemplo | DevOps ingeniero |
Opción 2: Implemente el archivo de configuración de Terraform manualmente. | Si no usa AFT o quiere implementar la solución manualmente, puede usar los siguientes comandos de Terraform de las carpetas
| DevOps ingeniero |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Verifica los filtros de suscripción. | Para comprobar que los filtros de suscripción reenvían correctamente los registros de los grupos de registros de cuentas de la aplicación a la cuenta de Log Archive:
| DevOps ingeniero |
Verifica las transmisiones de Firehose. | Para comprobar que las transmisiones de Firehose en la cuenta de Log Archive procesan los registros de la aplicación correctamente:
| DevOps ingeniero |
Valide los depósitos S3 centralizados. | Para comprobar que los depósitos S3 centralizados reciben y organizan los registros correctamente:
| DevOps ingeniero |
Valide las colas de SQS. | Para comprobar que las colas de SQS reciben notificaciones de nuevos archivos de registro:
| DevOps ingeniero |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Opción 1: Retirar el archivo de configuración de Terraform de AFT. | Al eliminar los archivos de configuración de Terraform e introducir los cambios, AFT inicia automáticamente el proceso de eliminación de recursos.
| DevOps ingeniero |
Opción 2: Limpiar los recursos de Terraform manualmente. | Si no utilizas AFT o quieres limpiar los recursos manualmente, utiliza los siguientes comandos de Terraform de las carpetas
| DevOps ingeniero |
Solución de problemas
Problema | Solución |
---|---|
El destino CloudWatch de los registros no se creó o está inactivo. | Valide lo siguiente:
|
El filtro de suscripción ha fallado o está bloqueado en estado pendiente. | Comprueba lo siguiente:
|
El flujo de entrega de Firehose no muestra ningún registro entrante. | Compruebe lo siguiente:
|
Recursos relacionados
Configuración de la infraestructura de Terraform
(documentación de Terraform) Implemente AWS Control Tower Account Factory para Terraform (AFT) (AWS Control Tower documentación)
Tutorial de IAM: delegue el acceso mediante el Cuentas de AWS uso de funciones de IAM () IAMdocumentation