Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Stellen Sie sicher, dass die EMR Amazon-Protokollierung bei Amazon S3 beim Start aktiviert ist
Erstellt von Priyanka Chaudhary () AWS
Übersicht
Dieses Muster bietet eine Sicherheitskontrolle, die die Protokollierungskonfiguration für EMR Amazon-Cluster überwacht, die auf Amazon Web Services (AWS) ausgeführt werden.
Amazon EMR ist ein AWS Tool für die Verarbeitung und Analyse großer Datenmengen. Amazon EMR bietet den erweiterbaren Service mit niedriger Konfiguration als Alternative zum Betrieb interner Cluster-Datenverarbeitung an. Amazon EMR bietet zwei Arten von EMR Clustern.
Transiente EMR Amazon-Cluster: Transiente EMR Amazon-Cluster werden automatisch heruntergefahren und es fallen keine Kosten mehr an, wenn die Verarbeitung abgeschlossen ist.
Persistente EMR Amazon-Cluster: Persistente EMR Amazon-Cluster werden weiterhin ausgeführt, nachdem der Datenverarbeitungsauftrag abgeschlossen ist.
Amazon EMR und Hadoop erstellen beide Protokolldateien, die den Status des Clusters melden. Standardmäßig werden diese auf den Master-Knoten im Verzeichnis/mnt/var/log/geschrieben. Je nachdem, wie Sie den Cluster beim Start konfigurieren, können Sie diese Protokolle auch in Amazon Simple Storage Service (Amazon S3) speichern und sie über das grafische Debugging-Tool anzeigen. Beachten Sie, dass die Amazon S3 S3-Protokollierung nur angegeben werden kann, wenn der Cluster gestartet wird. Bei dieser Konfiguration werden alle 5 Minuten Protokolle vom primären Knoten an den Amazon S3 S3-Standort gesendet. Für transiente Cluster ist die Amazon S3 S3-Protokollierung wichtig, da die Cluster nach Abschluss der Verarbeitung verschwinden und diese Protokolldateien zum Debuggen fehlgeschlagener Jobs verwendet werden können.
Das Muster verwendet eine AWS CloudFormation Vorlage, um eine Sicherheitskontrolle bereitzustellen, die nach API Anrufen sucht und Amazon CloudWatch Events auf "" startetRunJobFlow. Der Trigger ruft AWS Lambda auf, das ein Python-Skript ausführt. Die Lambda-Funktion ruft die EMR Cluster-ID aus der JSON Ereigniseingabe ab und sucht auch nach einem Amazon S3 S3-Protokoll. URI Wenn kein Amazon S3 gefunden URI wird, sendet die Lambda-Funktion eine Amazon Simple Notification Service (AmazonSNS) -Benachrichtigung, in der der EMR Clustername, die Einzelheiten des Verstoßes, die AWS Region, das AWS Konto und der Lambda Amazon Resource Name (ARN), von dem die Benachrichtigung stammt, detailliert beschrieben werden.
Voraussetzungen und Einschränkungen
Voraussetzungen
Ein aktives Konto AWS
Ein S3-Bucket für die Lambda-Code-.zip-Datei
Eine E-Mail-Adresse, an die Sie die Benachrichtigung über den Verstoß erhalten möchten
Einschränkungen
Diese Detective Control ist regional und muss in den AWS Regionen eingesetzt werden, die Sie überwachen möchten.
Produktversionen
EMRAmazon-Version 4.8.0 und höher
Architektur
Zieltechnologie-Stack
Veranstaltung Amazon CloudWatch Events
Amazon EMR
Lambda-Funktion
S3-Bucket
Amazon SNS
Zielarchitektur

Automatisierung und Skalierung
Wenn Sie AWS Organizations verwenden AWS CloudFormation StackSets, können Sie diese Vorlage für mehrere Konten verwenden, die Sie überwachen möchten.
Tools
Tools
AWS CloudFormation— AWS CloudFormation unterstützt Sie bei der Modellierung und Einrichtung von AWS Ressourcen mithilfe von Infrastruktur als Code.
AWSCloudwatch Events — AWS CloudWatch Events bietet einen Stream von Systemereignissen, die Änderungen an AWS Ressourcen beschreiben, nahezu in Echtzeit.
Amazon EMR — Amazon EMR ist eine verwaltete Cluster-Plattform, die den Betrieb von Big-Data-Frameworks vereinfacht.
AWSLambda
— AWS Lambda unterstützt die Ausführung von Code ohne Bereitstellung oder Verwaltung von Servern. Lambda führt Ihren Code nur bei Bedarf aus und skaliert automatisch – von einigen Anforderungen pro Tag bis zu Tausenden pro Sekunde. Amazon S3 — Amazon S3 ist eine Webservice-Schnittstelle, mit der Sie beliebige Datenmengen von überall im Internet speichern und abrufen können.
Amazon SNS — Amazon SNS ist ein Webservice, der die Zustellung oder den Versand von Nachrichten zwischen Herausgebern und Kunden, einschließlich Webservern und E-Mail-Adressen, koordiniert und verwaltet.
Code
Eine ZIP-Datei des Projekts ist als Anhang verfügbar.
Epen
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Definieren Sie den S3-Bucket. | Um die Lambda-Code-ZIP-Datei zu hosten, wählen oder erstellen Sie einen S3-Bucket mit einem eindeutigen Namen, der keine führenden Schrägstriche enthält. Ein S3-Bucket-Name ist weltweit einzigartig, und der Namespace wird von allen Konten gemeinsam genutzt. AWS Ihr S3-Bucket muss sich in derselben AWS Region befinden wie der EMR Amazon-Cluster, der bewertet wird. | Cloud-Architekt |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Laden Sie den Lambda-Code in den S3-Bucket hoch. | Laden Sie die Lambda-Code-ZIP-Datei, die im Abschnitt „Anlagen“ bereitgestellt wird, in den S3-Bucket hoch. Der S3-Bucket muss sich in derselben Region befinden wie der EMR Amazon-Cluster, der bewertet wird. | Cloud-Architekt |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Stellen Sie die AWS CloudFormation Vorlage bereit. | Stellen Sie auf der AWS CloudFormation Konsole, in derselben Region wie Ihr S3-Bucket, die AWS CloudFormation Vorlage bereit, die als Anhang zu diesem Muster bereitgestellt wird. Geben Sie im nächsten Epic die Werte für die Parameter an. Weitere Informationen zum Bereitstellen von AWS CloudFormation Vorlagen finden Sie im Abschnitt „Verwandte Ressourcen“. | Cloud-Architekt |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Nennen Sie den S3-Bucket. | Geben Sie den Namen des S3-Buckets ein, den Sie im ersten Epic erstellt haben. | Cloud-Architekt |
Geben Sie den Amazon S3 S3-Schlüssel ein. | <file-name>Geben Sie den Speicherort der Lambda-Code-ZIP-Datei in Ihrem S3-Bucket ohne führende Schrägstriche an (z. B.<directory>/.zip). | Cloud-Architekt |
Geben Sie eine E-Mail-Adresse an. | Geben Sie eine aktive E-Mail-Adresse an, um SNS Amazon-Benachrichtigungen zu erhalten. | Cloud-Architekt |
Definieren Sie die Protokollierungsebene. | Definieren Sie die Protokollierungsebene und die Häufigkeit für Ihre Lambda-Funktion. „Info“ bezeichnet detaillierte Informationsmeldungen zum Fortschritt der Anwendung. „Fehler“ bezeichnet Fehlerereignisse, die dazu führen könnten, dass die Anwendung weiterhin ausgeführt werden kann. „Warnung“ steht für potenziell schädliche Situationen. | Cloud-Architekt |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Bestätigen Sie das Abonnement. | Wenn die Vorlage erfolgreich bereitgestellt wurde, sendet sie eine Abonnement-E-Mail-Nachricht an die angegebene E-Mail-Adresse. Sie müssen dieses E-Mail-Abonnement bestätigen, um Benachrichtigungen über Verstöße zu erhalten. | Cloud-Architekt |