Imponga el etiquetado de los EMR clústeres de Amazon 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.

Imponga el etiquetado de los EMR clústeres de Amazon en el momento del lanzamiento

Creado por Priyanka Chaudhary () AWS

Entorno: producción

Tecnologías: análisis; seguridad, identidad, conformidad

AWSservicios: AmazonEMR; AWS Lambda; Amazon Events CloudWatch

Resumen

Este patrón proporciona un control de seguridad que garantiza que EMR los clústeres de Amazon se etiqueten cuando se crean. 

Amazon EMR es un servicio de Amazon Web Services (AWS) para procesar y analizar grandes cantidades de datos. Amazon EMR ofrece un servicio ampliable y de baja configuración como una alternativa más sencilla a la ejecución interna de la informática en clúster. Puede usar el etiquetado para clasificar AWS los recursos de diferentes maneras, por ejemplo, por propósito, propietario o entorno. Por ejemplo, puedes etiquetar tus EMR clústeres de Amazon asignando metadatos personalizados a cada clúster. Una etiqueta consta de una clave y un valor que define el usuario. Le recomendamos que cree un conjunto de etiquetas coherente para satisfacer los requisitos de su organización. Al añadir una etiqueta a un EMR clúster de Amazon, la etiqueta también se propaga a cada instancia activa de Amazon Elastic Compute Cloud (AmazonEC2) asociada al clúster. Del mismo modo, cuando eliminas una etiqueta de un EMR clúster de Amazon, esa etiqueta también se elimina de cada EC2 instancia activa asociada.

El control de detectives monitorea las API llamadas e inicia un evento de Amazon CloudWatch Events para RunJobFlow, AddTagsRemoveTags, y CreateTagsAPIs. El evento llama a AWS Lambda, que ejecuta un script de Python. La función Python obtiene el ID del EMR clúster de Amazon de la JSON entrada del evento y realiza las siguientes comprobaciones:

  • Comprueba si el EMR clúster de Amazon está configurado con los nombres de etiquetas que especifiques.

  • De lo contrario, envía una notificación de Amazon Simple Notification Service (AmazonSNS) al usuario con la información pertinente: el nombre del EMR clúster de Amazon, los detalles de la infracción, AWS la región, la AWS cuenta y el nombre del recurso de Amazon (ARN) para Lambda de donde proviene la notificación.

Requisitos previos y limitaciones

Requisitos previos 

  • Una cuenta activa AWS

  • Cargue el código de Lambda proporcionado en un bucket de Amazon Simple Storage Service (Amazon S3). O bien, puede crear un bucket de S3 para este fin, tal y como se describe en la sección Epics.

  • Especifique una dirección de correo electrónico activa en la que desee recibir notificaciones de infracciones.

  • Una lista de etiquetas obligatorias que desea comprobar.

Limitaciones

  • Este control de seguridad es regional. Debe implementarla en cada AWS región que desee supervisar.

Versiones de producto

  • Amazon EMR versión 4.8.0 y versiones posteriores.

Arquitectura

Arquitectura de flujo de trabajo

Lanzamiento del clúster, monitoreo medianteAPIs, generación de eventos, llamada a la función Lambda, notificación enviada.

Automatizar y escalar

Herramientas

AWSservicios

  • AWS CloudFormation— le AWS CloudFormation ayuda a modelar y configurar sus AWS recursos, a aprovisionarlos de forma rápida y coherente y a gestionarlos durante todo su ciclo de vida. Facilita poder usar una plantilla para describir los recursos y sus dependencias, y lanzarlos y configurarlos juntos como una pila, en lugar de administrarlos de forma individual. Puede gestionar y aprovisionar pilas en varias AWS cuentas y AWS regiones.

  • Amazon CloudWatch Events: Amazon CloudWatch Events ofrece una transmisión casi en tiempo real de los eventos del sistema que describen los cambios en AWS los recursos.

  • Amazon EMR: Amazon EMR es un servicio web que simplifica la ejecución de marcos de big data y el procesamiento eficiente de grandes cantidades de datos.

  • AWSLambda: AWS Lambda es un servicio informático que 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 Simple Storage Service (Amazon S3) es un servicio de almacenamiento de objetos. Puede utilizar Amazon S3 para almacenar y recuperar cualquier cantidad de datos en cualquier momento y desde cualquier parte de la web.

  • Amazon SNS: Amazon Simple Notification Service (AmazonSNS) 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. Los suscriptores reciben todos los mensajes publicados de los temas a los que están suscritos y todos los suscriptores de un tema reciben los mismos mensajes.

Código

Este patrón incluye los siguientes archivos adjuntos:

  • EMRTagValidation.zip: el código de Lambda para el control de seguridad.

  • EMRTagValidation.yml— La CloudFormation plantilla que configura el evento y la función Lambda.

Epics

TareaDescripciónHabilidades requeridas

Defina el bucket de S3.

En la consola Amazon S3, elija o cree un bucket de S3 para alojar el archivo .zip de código de Lambda. Este bucket de S3 debe estar en la misma AWS región que el EMR clúster de Amazon que quieres monitorizar. El nombre de un bucket de Amazon S3 es único a nivel mundial y todas AWS las cuentas comparten el espacio de nombres. El nombre de bucket de S3 no puede incluir barras a la izquierda.

Arquitecto de la nube

Cargue el código de Lambda.

Cargue el archivo .zip de código de Lambda que se proporciona en la sección Adjuntos en el bucket de S3.                                              

Arquitecto de la nube
TareaDescripciónHabilidades requeridas

Lanza la AWS CloudFormation plantilla.

Abra la AWS CloudFormation consola en la misma AWS región que su bucket de S3 e implemente la plantilla. Para obtener más información sobre la implementación de AWS CloudFormation plantillas, consulte Crear una pila en la AWS CloudFormation consola en la CloudFormation documentación.

Arquitecto de la nube

Complete los parámetros de la plantilla.

Al lanzar la plantilla, se le solicitará la siguiente información:

  • Bucket de S3: especifique el bucket creado o seleccionado en la primera Epic. Aquí es donde cargó el código de Lambda adjunto (archivo .zip).

  • Clave S3: especifique la ubicación del archivo .zip de Lambda en el bucket de S3 (por ejemplo, nombre de archivo.zip o controls/nombre de archivo.zip). No incluya barras a la izquierda.

  • Correo electrónico de notificación: proporciona una dirección de correo electrónico activa en la que quieras recibir SNS las notificaciones de Amazon.  

  • Etiquetado de nombres clave: indique las etiquetas que desee comprobar en una lista separada por comas (por ejemplo, ApplicationID, Environment, Owner). El evento CloudWatch Events monitorea el clúster en busca de estas etiquetas y envía una notificación si no las encuentra.

  • Nivel de registro Lambda: especifique el nivel y la frecuencia de registro de la función de Lambda. Utilice Info para registrar mensajes informativos detallados sobre el progreso, Error para los eventos de error que pudieran continuar con la implementación y Advertencia en caso de situaciones potencialmente dañinas.                                        

Arquitecto de la nube
TareaDescripciónHabilidades requeridas

Confirmar la suscripción.

Cuando la CloudFormation plantilla se implementa correctamente, envía un correo electrónico de suscripción a la dirección de correo electrónico que has proporcionado. 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