Appliquer le balisage des EMR clusters Amazon au lancement - Recommandations AWS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Appliquer le balisage des EMR clusters Amazon au lancement

Créée par Priyanka Chaudhary () AWS

Environnement : Production

Technologies : analyse ; sécurité, identité, conformité

AWSservices : Amazon EMR ; AWS Lambda ; Amazon Events CloudWatch

Récapitulatif

Ce modèle fournit un contrôle de sécurité qui garantit que les EMR clusters Amazon sont étiquetés lors de leur création. 

Amazon EMR est un service Amazon Web Services (AWS) destiné au traitement et à l'analyse de grandes quantités de données. Amazon EMR propose un service extensible à faible configuration qui constitue une alternative plus simple à l'exécution de clusters informatiques en interne. Vous pouvez utiliser le balisage pour classer les AWS ressources de différentes manières, par exemple par objectif, propriétaire ou environnement. Par exemple, vous pouvez étiqueter vos EMR clusters Amazon en attribuant des métadonnées personnalisées à chaque cluster. Une balise est composée d'une clé et d'une valeur que vous définissez. Nous vous recommandons de créer un ensemble cohérent de balises pour répondre aux exigences de votre organisation. Lorsque vous ajoutez un tag à un EMR cluster Amazon, le tag est également propagé à chaque instance Amazon Elastic Compute Cloud (AmazonEC2) active associée au cluster. De même, lorsque vous supprimez une balise d'un EMR cluster Amazon, cette balise est également supprimée de chaque EC2 instance active associée.

La commande de détection surveille les API appels et lance un événement Amazon CloudWatch Events pour les RunJobFlow, AddTagsRemoveTags, et CreateTagsAPIs. L'événement appelle AWS Lambda, qui exécute un script Python. La fonction Python obtient l'identifiant du EMR cluster Amazon à partir de l'JSONentrée de l'événement et effectue les vérifications suivantes :

  • Vérifiez si le EMR cluster Amazon est configuré avec les noms de balises que vous spécifiez.

  • Dans le cas contraire, envoyez une notification Amazon Simple Notification Service (AmazonSNS) à l'utilisateur avec les informations pertinentes : le nom du EMR cluster Amazon, les détails de la violation, AWS la région, le AWS compte et le nom de la ressource Amazon (ARN) pour Lambda d'où provient cette notification.

Conditions préalables et limitations

Prérequis

  • Un AWS compte actif

  • Un bucket Amazon Simple Storage Service (Amazon S3) pour télécharger le code Lambda fourni. Vous pouvez également créer un compartiment S3 à cette fin, comme décrit dans la section Epics.

  • Adresse e-mail active à laquelle vous souhaitez recevoir des notifications de violation.

  • Liste des balises obligatoires que vous souhaitez vérifier.

Limites

  • Ce contrôle de sécurité est régional. Vous devez le déployer dans chaque AWS région que vous souhaitez surveiller.

Versions du produit

  • Amazon EMR version 4.8.0 et versions ultérieures.

Architecture

Architecture du flux de travail

Lancement du cluster, surveillance de l'utilisationAPIs, génération d'événements, appel de la fonction Lambda, notification envoyée.

Automatisation et mise à l'échelle

Outils

AWSservices

  • AWS CloudFormation— vous AWS CloudFormation aide à modéliser et à configurer vos AWS ressources, à les approvisionner rapidement et de manière cohérente, et à les gérer tout au long de leur cycle de vie. Vous pouvez utiliser un modèle pour décrire vos ressources et leurs dépendances, puis les lancer et les configurer ensemble sous forme de pile, au lieu de gérer les ressources individuellement. Vous pouvez gérer et approvisionner des piles sur plusieurs AWS comptes et AWS régions.

  • Amazon CloudWatch Events - Amazon CloudWatch Events fournit un flux quasi en temps réel d'événements système décrivant les modifications apportées aux AWS ressources.

  • Amazon EMR - Amazon EMR est un service Web qui simplifie la gestion des infrastructures de mégadonnées et le traitement efficace de grandes quantités de données.

  • AWSLambda — AWS Lambda est un service de calcul qui prend en charge l'exécution de code sans provisionner ni gérer de serveurs. Lambda exécute le code uniquement lorsque cela est nécessaire et se met à l'échelle automatiquement, qu'il s'agisse de quelques requêtes par jour ou de milliers de requêtes par seconde. 

  • Amazon S3 — Amazon Simple Storage Service (Amazon S3) est un service de stockage d'objets. Vous pouvez utiliser Amazon S3 pour stocker et récupérer n'importe quelle quantité de données, n'importe quand et depuis n'importe quel emplacement sur le Web.

  • Amazon SNS — Amazon Simple Notification Service (AmazonSNS) coordonne et gère la livraison ou l'envoi de messages entre les éditeurs et les clients, y compris les serveurs Web et les adresses e-mail. Les abonnés reçoivent tous les messages publiés dans les rubriques auxquelles ils sont abonnés, et tous les abonnés à une rubrique reçoivent les mêmes messages.

Code

Ce modèle inclut les pièces jointes suivantes :

  • EMRTagValidation.zip— Le code Lambda pour le contrôle de sécurité.

  • EMRTagValidation.yml— Le CloudFormation modèle qui définit l'événement et la fonction Lambda.

Épopées

TâcheDescriptionCompétences requises

Définissez le compartiment S3.

Sur la console Amazon S3, choisissez ou créez un compartiment S3 pour héberger le fichier .zip de code Lambda. Ce compartiment S3 doit se trouver dans la même AWS région que le EMR cluster Amazon que vous souhaitez surveiller. Le nom d'un compartiment Amazon S3 est unique au monde et l'espace de noms est partagé par tous les AWS comptes. Le nom du compartiment S3 ne peut pas inclure de barres obliques en tête.

Architecte du cloud

Téléchargez le code Lambda.

Téléchargez le fichier .zip de code Lambda fourni dans la section Pièces jointes dans le compartiment S3.                                              

Architecte du cloud
TâcheDescriptionCompétences requises

Lancez le AWS CloudFormation modèle.

Ouvrez la AWS CloudFormation console dans la même AWS région que votre compartiment S3 et déployez le modèle. Pour plus d'informations sur le déploiement AWS CloudFormation de modèles, consultez la section Création d'une pile sur la AWS CloudFormation console dans la CloudFormation documentation.

Architecte du cloud

Complétez les paramètres du modèle.

Lorsque vous lancez le modèle, les informations suivantes vous sont demandées :

  • Compartiment S3 : Spécifiez le compartiment que vous avez créé ou sélectionné dans le premier épisode épique. C'est ici que vous avez chargé le code Lambda joint (fichier .zip).

  • Clé S3 : Spécifiez l'emplacement du fichier Lambda .zip dans votre compartiment S3 (par exemple, nom de fichier .zip ou controls/ nom de fichier .zip). N'incluez pas de barres obliques en tête.

  • E-mail de notification : indiquez une adresse e-mail active à laquelle vous souhaitez recevoir des SNS notifications Amazon.  

  • Noms des clés de balisage : indiquez les balises que vous souhaitez vérifier, dans une liste séparée par des virgules (par exemple,ApplicationID,Environment). Owner L'événement CloudWatch Events surveille le cluster pour détecter la présence de ces balises et envoie une notification si elles ne sont pas trouvées.

  • Niveau de journalisation Lambda : Spécifiez le niveau et la fréquence de journalisation pour la fonction Lambda. Utilisez Info pour consigner des messages d'information détaillés sur la progression, Erreur pour les événements d'erreur susceptibles de permettre la poursuite du déploiement et Avertissement pour les situations potentiellement dangereuses.                                        

Architecte du cloud
TâcheDescriptionCompétences requises

Confirmez votre abonnement.

Lorsque le CloudFormation modèle est déployé avec succès, il envoie un e-mail d'abonnement à l'adresse e-mail que vous avez fournie. Vous devez confirmer cet abonnement par e-mail pour commencer à recevoir des notifications de violation.

Architecte du cloud

Ressources connexes

Pièces jointes

Pour accéder au contenu supplémentaire associé à ce document, décompressez le fichier suivant : attachment.zip