Applica l'etichettatura dei cluster Amazon EMR al momento del lancio - Prontuario AWS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Applica l'etichettatura dei cluster Amazon EMR al momento del lancio

Creato da Priyanka Chaudhary (AWS)

Ambiente: produzione

Tecnologie: analisi; sicurezza, identità, conformità

Servizi AWS: Amazon EMR; AWS Lambda; Amazon Events CloudWatch

Riepilogo

Questo modello fornisce un controllo di sicurezza che garantisce che i cluster Amazon EMR siano etichettati al momento della creazione. 

Amazon EMR è un servizio Amazon Web Services (AWS) per l'elaborazione e l'analisi di grandi quantità di dati. Amazon EMR offre un servizio espandibile e a bassa configurazione come alternativa più semplice all'esecuzione interna del cluster computing. Puoi utilizzare i tag per classificare le risorse AWS in diversi modi, ad esempio per scopo, proprietario o ambiente. Ad esempio, puoi etichettare i tuoi cluster Amazon EMR assegnando metadati personalizzati a ciascun cluster. Un tag è composto da una chiave e da un valore definiti dall'utente. Ti consigliamo di creare un set coerente di tag per soddisfare i requisiti della tua organizzazione. Quando aggiungi un tag a un cluster Amazon EMR, il tag viene propagato anche a ogni istanza attiva di Amazon Elastic Compute Cloud (Amazon EC2) Elastic EC2) associata al cluster. Allo stesso modo, quando rimuovi un tag da un cluster Amazon EMR, tale tag viene rimosso anche da ogni istanza EC2 attiva associata.

Il controllo investigativo monitora le chiamate API e avvia un evento Amazon CloudWatch Events per le RunJobFlow, AddTagsRemoveTags, e CreateTagsAPI. L'evento chiama AWS Lambda, che esegue uno script Python. La funzione Python ottiene l'ID del cluster Amazon EMR dall'input JSON dell'evento ed esegue i seguenti controlli:

  • Verifica se il cluster Amazon EMR è configurato con i nomi di tag che hai specificato.

  • In caso contrario, invia una notifica Amazon Simple Notification Service (Amazon SNS) all'utente con le informazioni pertinenti: il nome del cluster Amazon EMR, i dettagli della violazione, la regione AWS, l'account AWS e Amazon Resource Name (ARN) per Lambda da cui proviene questa notifica.

Prerequisiti e limitazioni

Prerequisiti

  • Un account AWS attivo

  • Un bucket Amazon Simple Storage Service (Amazon S3) Simple Storage Service (Amazon S3) per caricare il codice Lambda fornito. In alternativa, puoi creare un bucket S3 per questo scopo, come descritto nella sezione Epics.

  • Un indirizzo email attivo a cui desideri ricevere notifiche di violazione.

  • Un elenco di tag obbligatori che desideri controllare.

Limitazioni

  • Questo controllo di sicurezza è regionale. Devi distribuirlo in ogni regione AWS che desideri monitorare.

Versioni del prodotto

  • Amazon EMR versione 4.8.0 e successive.

Architettura

Architettura del workflow

Avvio del cluster, monitoraggio tramite API, generazione di eventi, chiamata alla funzione Lambda, notifica inviata.

Automazione e scalabilità

Strumenti

Servizi AWS

  • AWS CloudFormation: AWS ti CloudFormation aiuta a modellare e configurare le tue risorse AWS, effettuarne il provisioning in modo rapido e coerente e gestirle per tutto il loro ciclo di vita. Puoi utilizzare un modello per descrivere le tue risorse e le loro dipendenze e lanciarle e configurarle insieme come uno stack, invece di gestire le risorse singolarmente. Puoi gestire e fornire stack su più account AWS e regioni AWS.

  • Amazon CloudWatch Events - Amazon CloudWatch Events offre un flusso quasi in tempo reale di eventi di sistema che descrivono i cambiamenti nelle risorse AWS.

  • Amazon EMR - Amazon EMR è un servizio web che semplifica l'esecuzione di framework di big data e l'elaborazione di grandi quantità di dati in modo efficiente.

  • AWS Lambda: AWS Lambda è un servizio di elaborazione che supporta l'esecuzione di codice senza effettuare il provisioning o la gestione di server. Lambda esegue il codice solo quando è necessario e si dimensiona automaticamente, da poche richieste al giorno a migliaia al secondo. 

  • Amazon S3 — Amazon Simple Storage Service (Amazon S3) è un servizio di storage di oggetti. È possibile utilizzare Amazon S3 per memorizzare e recuperare qualsiasi volume di dati, in qualunque momento e da qualunque luogo tramite il Web.

  • Amazon SNS — Amazon Simple Notification Service (Amazon SNS) coordina e gestisce la consegna o l'invio di messaggi tra editori e clienti, inclusi server Web e indirizzi e-mail. I sottoscrittori ricevono tutti gli stessi messaggi pubblicati sugli argomenti ai quali sono hanno effettuato la sottoscrizione.

Codice

Questo modello include i seguenti allegati:

  • EMRTagValidation.zip— Il codice Lambda per il controllo di sicurezza.

  • EMRTagValidation.yml— Il CloudFormation modello che configura l'evento e la funzione Lambda.

Epiche

AttivitàDescrizioneCompetenze richieste

Definisci il bucket S3.

Sulla console Amazon S3, scegli o crea un bucket S3 per ospitare il file.zip con codice Lambda. Questo bucket S3 deve trovarsi nella stessa regione AWS del cluster Amazon EMR che desideri monitorare. Il nome di un bucket Amazon S3 è univoco a livello globale e lo spazio dei nomi è condiviso da tutti gli account AWS. Il nome del bucket S3 non può includere barre iniziali.

Architetto del cloud

Carica il codice Lambda.

Carica il file.zip con codice Lambda fornito nella sezione Allegati nel bucket S3.                                              

Architetto del cloud
AttivitàDescrizioneCompetenze richieste

Avvia il CloudFormation modello AWS.

Apri la CloudFormation console AWS nella stessa regione AWS del bucket S3 e distribuisci il modello. Per ulteriori informazioni sulla distribuzione di CloudFormation modelli AWS, consulta Creazione di uno stack sulla CloudFormation console AWS nella CloudFormation documentazione.

Architetto del cloud

Completa i parametri nel modello.

Quando avvii il modello, ti verranno richieste le seguenti informazioni:

  • Bucket S3: specifica il bucket che hai creato o selezionato nella prima epic. Qui è dove hai caricato il codice Lambda allegato (file.zip).

  • Chiave S3: specifica la posizione del file Lambda .zip nel bucket S3 (ad esempio, filename .zip o controls/ filename .zip). Non includere le barre iniziali.

  • E-mail di notifica: fornisci un indirizzo e-mail attivo a cui desideri ricevere le notifiche di Amazon SNS.  

  • Etichettatura dei nomi delle chiavi: fornisci i tag che desideri controllare in un elenco separato da virgole (ad esempio,,). ApplicationID Environment Owner L'evento CloudWatch Events monitora il cluster alla ricerca di questi tag e invia una notifica se non vengono trovati.

  • Livello di registrazione Lambda: specifica il livello e la frequenza di registrazione per la funzione Lambda. Utilizzate Info per registrare messaggi informativi dettagliati sullo stato di avanzamento, Errore per gli eventi di errore che potrebbero comunque consentire la continuazione della distribuzione e Avviso per situazioni potenzialmente dannose.                                        

Architetto del cloud
AttivitàDescrizioneCompetenze richieste

Confermare la sottoscrizione.

Quando il CloudFormation modello viene distribuito correttamente, invia un'e-mail di iscrizione all'indirizzo e-mail fornito. È necessario confermare questa sottoscrizione e-mail per iniziare a ricevere notifiche di violazione.

Architetto del cloud

Risorse correlate

Allegati

Per accedere a contenuti aggiuntivi associati a questo documento, decomprimi il seguente file: attachment.zip