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à.
Assicurati che la registrazione di Amazon EMR su Amazon S3 sia abilitata al momento del lancio
Creato da Priyanka Chaudhary (AWS)
Riepilogo
Questo modello fornisce un controllo di sicurezza che monitora la configurazione di registrazione per i cluster Amazon EMR in esecuzione su Amazon Web Services (AWS).
Amazon EMR è uno strumento AWS per l'elaborazione e l'analisi di big data. Amazon EMR offre il servizio espandibile a bassa configurazione come alternativa all'esecuzione interna del cluster computing. Amazon EMR offre due tipi di cluster EMR.
Cluster Amazon EMR transitori: i cluster Amazon EMR transitori si spengono automaticamente e smettono di incorrere in costi al termine dell'elaborazione.
Cluster Amazon EMR persistenti: i cluster Amazon EMR persistenti continuano a funzionare dopo il completamento del processo di elaborazione dei dati.
Amazon EMR e Hadoop producono entrambi file di log che comunicano lo stato sul cluster. Per impostazione predefinita, questi vengono scritti nel nodo master nella directory//. mnt/var/log A seconda di come configuri il cluster al momento dell'avvio, puoi anche salvare questi log su Amazon Simple Storage Service (Amazon S3) e visualizzarli tramite lo strumento grafico di debug. Tieni presente che la registrazione dei log di Amazon S3 può essere specificata solo all'avvio del cluster. Con questa configurazione, i log vengono inviati dal nodo primario alla posizione Amazon S3 ogni 5 minuti. Per i cluster transitori, la registrazione di Amazon S3 è importante perché i cluster scompaiono al termine dell'elaborazione e questi file di registro possono essere utilizzati per eseguire il debug di eventuali lavori non riusciti.
Il modello utilizza un CloudFormation modello AWS per implementare un controllo di sicurezza che monitora le chiamate API e avvia Amazon CloudWatch Events su "»RunJobFlow. Il trigger richiama AWS Lambda, che esegue uno script Python. La funzione Lambda recupera l'ID del cluster EMR dall'input JSON dell'evento e verifica anche la presenza di un URI di log di Amazon S3. Se non viene trovato un URI Amazon S3, la funzione Lambda invia una notifica Amazon Simple Notification Service (Amazon SNS) con i dettagli del nome del cluster EMR, i dettagli della violazione, la regione AWS, l'account AWS e il nome Lambda Amazon Resource Name (ARN) da cui proviene la notifica.
Prerequisiti e limitazioni
Prerequisiti
Un account AWS attivo
Un bucket S3 per il file.zip del codice Lambda
Un indirizzo e-mail a cui desideri ricevere la notifica di violazione
Limitazioni
Questo controllo investigativo è regionale e deve essere distribuito nelle regioni AWS che intendi monitorare.
Versioni del prodotto
Amazon EMR versione 4.8.0 e successive
Architettura
Stack tecnologico Target
Evento Amazon CloudWatch Events
Amazon EMR
Funzione Lambda
Bucket S3
Amazon SNS
Architettura Target

Automazione e scalabilità
Se utilizzi AWS Organizations, puoi utilizzare AWS CloudFormation StackSets per distribuire questo modello in più account che desideri monitorare.
Strumenti
Strumenti
AWS CloudFormation: AWS ti CloudFormation aiuta a modellare e configurare le risorse AWS utilizzando l'infrastruttura come codice.
AWS Cloudwatch Events: AWS CloudWatch Events offre un flusso quasi in tempo reale di eventi di sistema che descrivono i cambiamenti nelle risorse AWS.
Amazon EMR: Amazon EMR è una piattaforma di cluster gestita che semplifica l'esecuzione di framework di big data.
AWS Lambda
: AWS Lambda 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 S3 è un'interfaccia di servizi Web che puoi utilizzare per archiviare e recuperare qualsiasi quantità di dati da qualsiasi punto del Web.
Amazon SNS: Amazon SNS è un servizio Web che coordina e gestisce la consegna o l'invio di messaggi tra editori e clienti, inclusi server Web e indirizzi e-mail.
Codice
Un file.zip del progetto è disponibile come allegato.
Epiche
Attività | Descrizione | Competenze richieste |
---|---|---|
Definisci il bucket S3. | Per ospitare il file.zip con codice Lambda, scegli o crea un bucket S3 con un nome univoco che non contenga barre iniziali. Il nome di un bucket S3 è unico a livello globale e lo spazio dei nomi è condiviso da tutti gli account AWS. Il bucket S3 deve trovarsi nella stessa regione AWS del cluster Amazon EMR oggetto di valutazione. | Architetto del cloud |
Attività | Descrizione | Competenze richieste |
---|---|---|
Carica il codice Lambda nel bucket S3. | Carica il file.zip con codice Lambda fornito nella sezione «Allegati» nel bucket S3. Il bucket S3 deve trovarsi nella stessa regione del cluster Amazon EMR in fase di valutazione. | Architetto del cloud |
Attività | Descrizione | Competenze richieste |
---|---|---|
Implementa il CloudFormation modello AWS. | Sulla CloudFormation console AWS, nella stessa regione del bucket S3, distribuisci il CloudFormation modello AWS fornito come allegato a questo pattern. Nella prossima epopea, fornisci i valori per i parametri. Per ulteriori informazioni sulla distribuzione di CloudFormation modelli AWS, consulta la sezione «Risorse correlate». | Architetto del cloud |
Attività | Descrizione | Competenze richieste |
---|---|---|
Assegna un nome al bucket S3. | Inserisci il nome del bucket S3 che hai creato nella prima epic. | Architetto del cloud |
Fornisci la chiave Amazon S3. | <directory><file-name>Fornisci la posizione del file.zip del codice Lambda nel tuo bucket S3, senza barre iniziali (ad esempio, /.zip). | Architetto del cloud |
Fornisci un indirizzo email. | Fornisci un indirizzo e-mail attivo per ricevere le notifiche di Amazon SNS. | Architetto del cloud |
Definisci il livello di registrazione. | Definisci il livello e la frequenza di registrazione per la tua funzione Lambda. «Info» indica messaggi informativi dettagliati sullo stato di avanzamento dell'applicazione. «Errore» indica gli eventi di errore che potrebbero comunque consentire all'applicazione di continuare a funzionare. «Avviso» indica situazioni potenzialmente dannose. | Architetto del cloud |
Attività | Descrizione | Competenze richieste |
---|---|---|
Confermare la sottoscrizione. | Quando il modello viene distribuito correttamente, invia un messaggio e-mail di sottoscrizione all'indirizzo e-mail fornito. È necessario confermare questa sottoscrizione e-mail per ricevere le notifiche di violazione. | Architetto del cloud |