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.
Asegúrese de que el EMR registro de Amazon en Amazon S3 esté habilitado en el momento del lanzamiento
Creado por Priyanka Chaudhary () AWS
Entorno: producción | Tecnologías: análisis; seguridad, identidad y cumplimiento; sin servidor | Carga de trabajo: código abierto |
AWSservicios: AmazonEMR; Amazon S3; AmazonSNS; Amazon CloudWatch |
Resumen
Este patrón proporciona un control de seguridad que supervisa la configuración de registro de EMR los clústeres de Amazon que se ejecutan en Amazon Web Services (AWS).
Amazon EMR es una AWS herramienta para el procesamiento y análisis de macrodatos. Amazon EMR ofrece el servicio ampliable de baja configuración como alternativa a la ejecución interna de la informática en clúster. Amazon EMR ofrece dos tipos de EMR clústeres.
Clústeres de Amazon transitorios: EMR los EMR clústeres de Amazon transitorios se cierran automáticamente y dejan de generar costes cuando finaliza el procesamiento.
EMRClústeres de Amazon persistentes: EMR los clústeres de Amazon persistentes siguen ejecutándose una vez finalizado el trabajo de procesamiento de datos.
EMRTanto Amazon como Hadoop producen archivos de registro que informan del estado del clúster. De forma predeterminada, están escritos en el nodo maestro en el directorio /mnt/var/log/. En función de cómo configure el clúster en el momento de su lanzamiento, también podrá guardar estos registros en Amazon Simple Storage Service (Amazon S3) y consultarlos a través de la herramienta de depuración gráfica. Tenga en cuenta que el registro de Amazon S3 solo se puede especificar cuando se lanza el clúster. Con esta configuración, los registros se envían desde el nodo principal a la ubicación de Amazon S3 cada 5 minutos. En el caso de los clústeres transitorios, el registro en Amazon S3 es muy importante, ya que los clústeres desaparecen cuando se completa el procesamiento y estos archivos de registro pueden usarse para depurar cualquier trabajo fallido.
El patrón utiliza una AWS CloudFormation plantilla para implementar un control de seguridad que monitorea API las llamadas e inicia Amazon CloudWatch Events en "»RunJobFlow. El disparador invoca AWS Lambda, que ejecuta un script de Python. La función Lambda recupera el ID del EMR clúster de la JSON entrada del evento y también comprueba si hay un registro de Amazon S3. URI Si no URI encuentra Amazon S3, la función Lambda envía una notificación de Amazon Simple Notification Service SNS (Amazon) en la que se detalla el nombre del EMR clúster, los detalles de la infracción, AWS la región, la AWS cuenta y el nombre del recurso de Amazon Lambda (ARN) del que proviene la notificación.
Requisitos previos y limitaciones
Requisitos previos
Una cuenta activa AWS
Un bucket de S3 para el archivo .zip de código de Lambda
La dirección de correo electrónico en la que desee recibir la notificación de infracción
Limitaciones
Este control detectivesco es regional y debe desplegarse en las AWS regiones que desee supervisar.
Versiones de producto
Amazon EMR versión 4.8.0 y versiones posteriores
Arquitectura
Pila de tecnología de destino
Evento Amazon CloudWatch Events
Amazon EMR
Función de Lambda
Bucket de S3
Amazon SNS
Arquitectura de destino
Automatizar y escalar
Si utiliza AWS Organizations, puede utilizarla AWS CloudFormation StackSetspara implementar esta plantilla en varias cuentas que desee supervisar.
Herramientas
Herramientas
AWS CloudFormation— le AWS CloudFormation ayuda a modelar y configurar AWS los recursos utilizando la infraestructura como código.
AWSCloudwatch Events: AWS CloudWatch Events ofrece un flujo casi en tiempo real de los eventos del sistema que describen los cambios en los AWS recursos.
Amazon EMR: Amazon EMR es una plataforma de clústeres gestionada que simplifica la ejecución de marcos de big data.
AWSLambda: AWS Lambda
admite la ejecución de código sin aprovisionar ni administrar servidores. Lambda ejecuta su código solo cuando es necesario y escala de manera automática, desde unas pocas solicitudes por día hasta miles por segundo. Amazon S3: Amazon S3 es una interfaz de servicios web que puede utilizar para almacenar y recuperar cualquier cantidad de datos desde cualquier lugar de la web.
Amazon SNS: Amazon SNS es un servicio web que coordina y gestiona la entrega o el envío de mensajes entre editores y clientes, incluidos los servidores web y las direcciones de correo electrónico.
Código
El archivo .zip del proyecto está disponible como adjunto.
Epics
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Defina el bucket de S3. | Para alojar el archivo .zip de código de Lambda, seleccione o cree un bucket de S3 con un nombre único que no contenga barras diagonales al inicio. El nombre de un bucket de S3 es único a nivel mundial y todas AWS las cuentas comparten el espacio de nombres. Su bucket de S3 debe estar en la misma AWS región que el EMR clúster de Amazon que se está evaluando. | Arquitecto de la nube |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Cargue el código de Lambda en el bucket de S3. | Cargue el archivo .zip de código de Lambda que se proporciona en la sección “Adjuntos” del bucket de S3. El bucket de S3 debe estar en la misma región que el EMR clúster de Amazon que se está evaluando. | Arquitecto de la nube |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Implemente la AWS CloudFormation plantilla. | En la AWS CloudFormation consola, en la misma región que el bucket de S3, implementa la AWS CloudFormation plantilla que se proporciona como adjunto a este patrón. En la siguiente épica, proporcione los valores de los parámetros. Para obtener más información sobre la implementación de AWS CloudFormation plantillas, consulta la sección «Recursos relacionados». | Arquitecto de la nube |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Ponga nombre al bucket de S3. | Escriba el nombre del bucket de S3 que ha creado en la primera épica. | Arquitecto de la nube |
Proporcione la clave de Amazon S3. | Proporcione la ubicación del archivo .zip del código de Lambda en su bucket de S3, sin barras diagonales iniciales (por ejemplo, <directory>/<file-name>.zip). | Arquitecto de la nube |
Proporcione una dirección de correo electrónico. | Introduce una dirección de correo electrónico activa para recibir SNS las notificaciones de Amazon. | Arquitecto de la nube |
Defina el nivel de registro. | Defina el nivel y la frecuencia de registro de la función de Lambda. «Info» designa mensajes informativos detallados sobre el progreso de la aplicación. «Error» designa eventos de error que permiten que la aplicación siga ejecutándose. «Warning» designa situaciones potencialmente peligrosas. | Arquitecto de la nube |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Confirmar la suscripción. | Cuando la plantilla se implementa correctamente, se envía un mensaje de correo electrónico de suscripción a la dirección de correo electrónico proporcionada. Debe confirmar esta suscripción de correo electrónico para recibir las notificaciones de infracciones. | Arquitecto de la nube |
Recursos relacionados
Conexiones
Para acceder al contenido adicional asociado a este documento, descomprima el archivo: attachment.zip