Tools und Workflows zur Datenspeicherung in der Cloud, Teil 4

Data-Ingest mit AWS Kinesis Data Firehose

| Autor / Redakteur: Thomas Drilling / Stephan Augsten

Die Schaltfläche "Create delivery stream" startet einen entsprechenden Schritt-für-Schritt-Assistenten.
Die Schaltfläche "Create delivery stream" startet einen entsprechenden Schritt-für-Schritt-Assistenten. (Bild: Drilling / AWS)

Im Rahmen einer Data-Lake-Strategie sind mehrere Möglichkeiten vorstellbar, wie die zu verarbeitenden Daten nach AWS S3 gelangen. Soll oder muss dies in Echtzeit erfolgen, ist eine verwaltete Streaming-Lösung wie AWS Kinesis eine gute Wahl. Dann muss nur noch die Frage beantwortet werden, wie man die Daten mit einem Index versieht.

In den folgenden Demonstrationen setzen wir einige der grundlegenden Services zum Erstellen eines serverlosen Data Lake in AWS auf. Zur Erinnerung: per Definition ermöglicht eine Data-Lake-Lösung in der Cloud eine kontinuierliche und skalierbare Datenaufnahme und Speicherung.

Gleichzeitig bietet der Data Lake einen Katalog/Index von Metadaten in einer permanenten Datenbank als Startpunkt für die nachgelagerte Verarbeitung. In Summe entsteht daraus eine vollständige Datenanalyse-Lösung. Der Data Lake stellt dabei drei Kernfunktions-Ebenen "Ingest", "Speicherung/Lagerung" sowie "Index und Suche" bereit.

AWS Kinesis Data Firehose

Ein möglicher Ansatz des Baukasten-Prinzips von AWS besteht darin, für den Datenaufnahme-Layer Amazon Kinesis Data Firehose beziehungsweise einen Firehose-Delivery-Stream zu verwenden. AWS Kinesis Data Firehose stellt Nutzern eine zuverlässige Methode zum Laden von Stream-Daten in einen Datenspeicher wie S3 und bei Bedarf zusätzliche Analyse-Tools zur Verfügung.

Der Dienst zeichnet Streaming-Daten auf, wandelt sie um und lädt sie wahlweise nach S3, Amazon Redshift, Amazon Elasticsearch Service oder Splunk (extern). Dies ermöglicht nachgelagerte Analysen mit vorhandenen Business-Intelligence-Tools und -Dashboards wie zum Beispiel Elasticsearch mit Kibana.

Firehose und S3

Die Schaltfläche "Create delivery stream" startet einen entsprechenden Schritt-für-Schritt-Assistenten.
Die Schaltfläche "Create delivery stream" startet einen entsprechenden Schritt-für-Schritt-Assistenten. (Bild: Drilling / AWS)

Schicht 1 unseres Data Lake besteht aus Kinesis Firehose und S3. Dazu benötigen wir ein S3-Bucket für unseren Data Lake, der in der Management Console schnellt erstellt ist. Als nächstes benötigen wir einen Kinesis Firehose Delivery Stream. Ruft man die Kinesis Console zum ersten Mal auf, kann man mit der Schaltfläche "Create delivery stream" einen passenden Assistenten starten.

Dieser leitet in vier Schritten durch die Konfiguration des Delivery Streams, wobei wir nach Eingabe eines "Delivery stream name" im Schritt 1 für alle weiteren Einstellungen bis Schritt 3 im Wesentlichen die Voreinstellungen übernehmen und jeweils auf "Next" klicken.

Als Ziel lässt sich ein S3 Bucket festlegen, weitere Optionen sind Redshift, der Elasticsearch Service oder Splunk.
Als Ziel lässt sich ein S3 Bucket festlegen, weitere Optionen sind Redshift, der Elasticsearch Service oder Splunk. (Bild: Drilling / AWS)

Das bedeutet im Schritt 1, dass "Source" auf "Direct PUT or other sources" steht, um Records über die Firehose-PUT-API zu senden, und dass im Schritt 2 "Process records" keine weitere Transformation der Records erfolgt ("Record transformation" = Disabled, "Record format conversion" = Disabled). Erst im Schritt 3 "Choose destination" verweisen wir auf das oben erstellte S3-Bucket. AWS Firehose unterstützt alternativ aber auch "Amazon Redshift", "Amazon Elasticsearch Service" oder "Splunk".

Mit den S3-Pufferbedingungen lässt sich das Übertragungsintervall steuern.
Mit den S3-Pufferbedingungen lässt sich das Übertragungsintervall steuern. (Bild: Drilling / AWS)

Im Schritt 4 "Configure settings" konfigurieren wir schließlich noch eine Puffer-Bedingung, in diesem Fall ein "Buffer intervall" von 60 Sekunden. Die S3-Pufferbedingungen steuern, wann Kinesis Daten an das Ziel liefert, das heißt wir müssen Firehose so konfigurieren, dass Daten innerhalb von 60 Sekunden nach dem Eintreffen von Daten bereitgestellt werden.

Schließlich wählen wir am Fuß der Seite noch die Option, eine passende IAM-Rolle für Firehose automatisch erstellen zu lassen. Dazu genügt ein Klick auf den gleichnamigen Button. Nach Eingabe eines Rollen-Namens und dem Klick auf "Erlauben" kehrt die GUI der IAM-Konsole automatisch zum Firehose-Assistenten zurück.

Nach der obligatorischen Anzeige der Zusammenfassung und einem Klick auf "Create delivery stream" wird der Stream erstellt und ist im "Firehose delivery streams"-Dashboard sichtbar, wie in der letzten Abbildung zu sehen ist.

Bei erfolgreichem Durchlaufen des Assistenten ist der Delivery Stream direkt im Dashboard sichtbar.
Bei erfolgreichem Durchlaufen des Assistenten ist der Delivery Stream direkt im Dashboard sichtbar. (Bild: Drilling / AWS)

* Diesen Beitrag haben wir von unserem Schwesterportal Dev-Insider übernommen.

Kommentare werden geladen....

Was meinen Sie zu diesem Thema?

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45687910 / Daten)