Asegúrese de que el EMR registro de Amazon en Amazon S3 esté habilitado en el momento del lanzamiento - Recomendaciones de AWS

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

Flujo de trabajo para garantizar que el EMR registro de Amazon en Amazon S3 esté habilitado en el momento del lanzamiento.

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

TareaDescripciónHabilidades 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
TareaDescripciónHabilidades 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
TareaDescripciónHabilidades 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
TareaDescripciónHabilidades 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
TareaDescripciónHabilidades 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