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.
Assurez-vous que la EMR connexion Amazon à Amazon S3 est activée au lancement
Créée par Priyanka Chaudhary () AWS
Environnement : Production | Technologies : analyse ; sécurité, identité, conformité ; sans serveur | Charge de travail : Open source |
AWSservices : Amazon EMR ; Amazon S3 ; Amazon SNS ; Amazon CloudWatch |
Récapitulatif
Ce modèle fournit un contrôle de sécurité qui surveille la configuration de journalisation pour les EMR clusters Amazon exécutés sur Amazon Web Services (AWS).
Amazon EMR est un AWS outil de traitement et d'analyse de mégadonnées. Amazon EMR propose le service extensible à faible configuration comme alternative à l'exécution de clusters informatiques en interne. Amazon EMR propose deux types de EMR clusters.
EMRClusters Amazon transitoires : les EMR clusters Amazon transitoires s'arrêtent automatiquement et cessent d'entraîner des coûts une fois le traitement terminé.
EMRClusters Amazon persistants : les EMR clusters Amazon persistants continuent de s'exécuter une fois la tâche de traitement des données terminée.
Amazon EMR et Hadoop produisent tous deux des fichiers journaux qui indiquent l'état du cluster. Par défaut, ils sont écrits sur le nœud principal dans le répertoire /mnt/var/log/. Selon la façon dont vous configurez le cluster lorsque vous le lancez, vous pouvez également enregistrer ces journaux dans Amazon Simple Storage Service (Amazon S3) et les consulter via l'outil de débogage graphique. Notez que la journalisation Amazon S3 ne peut être spécifiée que lorsque le cluster est lancé. Avec cette configuration, les journaux sont envoyés du nœud principal à l'emplacement Amazon S3 toutes les 5 minutes. Pour les clusters transitoires, la journalisation Amazon S3 est importante car les clusters disparaissent une fois le traitement terminé, et ces fichiers journaux peuvent être utilisés pour déboguer les tâches ayant échoué.
Le modèle utilise un AWS CloudFormation modèle pour déployer un contrôle de sécurité qui surveille les API appels et lance Amazon CloudWatch Events sur « »RunJobFlow. Le déclencheur invoque AWS Lambda, qui exécute un script Python. La fonction Lambda extrait l'ID du EMR cluster à partir de l'JSONentrée de l'événement et vérifie également la présence d'un journal Amazon S3. URI Si aucun Amazon S3 n'URIest trouvé, la fonction Lambda envoie une notification Amazon Simple Notification Service SNS (Amazon) détaillant le nom du EMR cluster, les détails de la violation, AWS la région, le AWS compte et le nom de ressource Lambda Amazon (ARN) d'où provient la notification.
Conditions préalables et limitations
Prérequis
Un AWS compte actif
Un compartiment S3 pour le fichier .zip de code Lambda
Adresse e-mail à laquelle vous souhaitez recevoir la notification de violation
Limites
Ce contrôle de détection est régional et doit être déployé dans les AWS régions que vous avez l'intention de surveiller.
Versions du produit
Amazon EMR version 4.8.0 et versions ultérieures
Architecture
Pile technologique cible
Événement Amazon CloudWatch Events
Amazon EMR
Fonction Lambda
Compartiment S3
Amazon SNS
Architecture cible
Automatisation et mise à l'échelle
Si vous utilisez AWS Organizations, vous pouvez AWS CloudFormation StackSetsdéployer ce modèle dans plusieurs comptes que vous souhaitez surveiller.
Outils
Outils
AWS CloudFormation— vous AWS CloudFormation aide à modéliser et à configurer les AWS ressources en utilisant l'infrastructure sous forme de code.
AWSCloudwatch Events — AWS 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 une plateforme de clusters gérés qui simplifie la gestion des infrastructures de mégadonnées.
AWSLambda — AWS Lambda
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 S3 est une interface de services Web que vous pouvez utiliser pour stocker et récupérer n'importe quel volume de données, où que vous soyez sur le Web.
Amazon SNS — Amazon SNS est un service Web qui 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.
Code
Un fichier .zip du projet est disponible en pièce jointe.
Épopées
Tâche | Description | Compétences requises |
---|---|---|
Définissez le compartiment S3. | Pour héberger le fichier .zip de code Lambda, choisissez ou créez un compartiment S3 avec un nom unique qui ne contient pas de barres obliques en tête. Le nom d'un compartiment S3 est unique au monde et l'espace de noms est partagé par tous les AWS comptes. Votre compartiment S3 doit se trouver dans la même AWS région que le EMR cluster Amazon en cours d'évaluation. | Architecte du cloud |
Tâche | Description | Compétences requises |
---|---|---|
Téléchargez le code Lambda dans le compartiment S3. | Téléchargez le fichier .zip de code Lambda fourni dans la section « Pièces jointes » dans le compartiment S3. Le compartiment S3 doit se trouver dans la même région que le EMR cluster Amazon en cours d'évaluation. | Architecte du cloud |
Tâche | Description | Compétences requises |
---|---|---|
Déployez le AWS CloudFormation modèle. | Sur la AWS CloudFormation console, dans la même région que votre compartiment S3, déployez le AWS CloudFormation modèle fourni en pièce jointe à ce modèle. Dans l'épopée suivante, indiquez les valeurs des paramètres. Pour plus d'informations sur le déploiement de AWS CloudFormation modèles, consultez la section « Ressources associées ». | Architecte du cloud |
Tâche | Description | Compétences requises |
---|---|---|
Nommez le compartiment S3. | Entrez le nom du compartiment S3 que vous avez créé dans le premier épisode épique. | Architecte du cloud |
Fournissez la clé Amazon S3. | <directory><file-name>Indiquez l'emplacement du fichier .zip de code Lambda dans votre compartiment S3, sans barres obliques (par exemple,/.zip). | Architecte du cloud |
Indiquez une adresse e-mail. | Indiquez une adresse e-mail active pour recevoir SNS les notifications Amazon. | Architecte du cloud |
Définissez le niveau de journalisation. | Définissez le niveau et la fréquence de journalisation pour votre fonction Lambda. « Info » désigne des messages d'information détaillés sur le déroulement de l'application. Le terme « Erreur » désigne les événements d'erreur susceptibles de permettre à l'application de continuer à fonctionner. Le terme « Avertissement » désigne des situations potentiellement dangereuses. | Architecte du cloud |
Tâche | Description | Compétences requises |
---|---|---|
Confirmez votre abonnement. | Lorsque le modèle est déployé avec succès, il envoie un e-mail d'abonnement à l'adresse e-mail fournie. Vous devez confirmer cet abonnement par e-mail pour recevoir des notifications de violation. | Architecte du cloud |