Assurez-vous que la EMR connexion Amazon à Amazon S3 est activée 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.

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

Flux de travail permettant de s'assurer que la EMR connexion d'Amazon à Amazon S3 est activée au lancement.

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âcheDescriptionCompé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âcheDescriptionCompé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âcheDescriptionCompé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âcheDescriptionCompé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âcheDescriptionCompé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

Ressources connexes

Pièces jointes

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