Überspringen zum Hauptinhalt

Amazon Kinesis Data Streams

Erste Schritte mit Amazon Kinesis Data Streams

Erste Schritte

Amazon Kinesis Data Streams ist ein extrem skalierbarer, äußerst robuster Datenerfassungs- und -verarbeitungsservice, der für Datenstreaming optimiert ist. Sie können Hunderttausende von Datenproduzenten so konfigurieren, dass sie kontinuierlich Daten in Ihren Amazon Kinesis-Daten-Stream einleiten. Daten sind innerhalb von Millisekunden für Ihre Amazon Kinesis-Anwendungen verfügbar, und diese Anwendungen erhalten Datensätze in der Reihenfolge, in der sie generiert wurden.

Amazon Kinesis Data Streams ist in eine Reihe von AWS-Services integriert, darunter Amazon Kinesis Data Firehose zur Umwandlung von Streaming-Daten in nahezu Echtzeit und zur Bereitstellung von Streaming-Daten in einem AWS Data Lake wie Amazon S3, Amazon Managed Service für Apache Flink für verwaltete Stream-Verarbeitung, AWS Lambda zur Ereignis- oder Datensatzverarbeitung, AWS PrivateLink für eine private Konnektivität, Amazon Cloudwatch zur Verarbeitung von Metriken und Protokollen und AWS KMS zur serverseitigen Verschlüsselung.

Amazon Kinesis Data Streams wird als Gateway für eine Big-Data-Lösung verwendet. Daten aus verschiedenen Quellen werden in einen Amazon Kinesis-Stream eingeleitet und anschließend werden die Daten von verschiedenen Amazon Kinesis-Anwendungen aus dem Stream konsumiert. In diesem Beispiel führt eine Anwendung (gelb) ein Echtzeit-Dashboard mit den Streaming-Daten aus. Eine weitere Anwendung (rot) führt eine einfache Aggregation aus und übermittelt verarbeitete Daten an Amazon S3. Die Daten in S3 werden weiterverarbeitet und für komplexe Analysen in Amazon Redshift gespeichert. Die dritte Anwendung (grün) gibt Rohdaten in Amazon S3 aus, die dann zur kostengünstigeren Langzeitspeicherung in Amazon Glacier archiviert werden. Beachten Sie, dass diese drei Datenverarbeitungswege gleichzeitig und parallel ausgeführt werden.

Erste Schritte mit Amazon Kinesis Data Streams

Neuigkeiten bei Amazon Kinesis Data Streams

Fordern Sie Unterstützung für Ihre Machbarkeitsstudie und Bewertung an

Videos

Verwenden von Kinesis Data Streams

Nachdem Sie sich bei Amazon Web Services angemeldet haben, können Sie Amazon Kinesis Data Streams wie folgt verwenden:

Wichtige Konzepte

Alles öffnen

Ein Datenproduzent ist eine Anwendung, die generierte Datensätze in der Regel in einen Kinesis-Daten-Stream ausgibt. Datenproduzenten weisen Datensätze Partitionsschlüssel zu. Partitionsschlüssel entscheiden letztlich, welcher Shard den Datensatz für einen Daten-Stream aufnimmt.

Ein Datenkonsument ist eine verteilte Kinesis-Anwendung oder ein AWS-Service, die bzw. der Daten aus allen Shards in einem Daten-Stream abruft, wenn dieser generiert wird. Die meisten Datenkonsumenten rufen die neuesten Daten in einem Shard ab und ermöglichen so eine Analyse oder eine Verarbeitung der Daten in Echtzeit.

Ein Daten-Stream ist eine logische Gruppierung von Shards. Die Anzahl der Shards in einem Datenstrom ist unbegrenzt (fordern Sie eine Erhöhung des Limits an, wenn Sie mehr benötigen). Ein Daten-Stream bewahrt Daten standardmäßig für 24 Stunden oder optional bis zu 365 Tage auf.

Ein Shard ist die Basiseinheit für den Durchsatz eines Amazon Kinesis-Daten-Stream.

  • Ein Shard ist ein "Append-only"-Protokoll und eine Einheit für die Streaming-Fähigkeit. Ein Shard enthält eine Folge von Datensätzen, die nach der Ankunftszeit geordnet sind.
  • Ein Shard kann bis zu 1 000 Datensätze pro Sekunde oder 1 MB/s aufnehmen. Fügen Sie weitere Shards hinzu, um die Aufnahmefähigkeit zu erhöhen.
  • Fügen Sie Ihrem Stream mithilfe der AWS-Konsole, der UpdateHardCount-API, der automatischen Skalierung über AWS Lambda oder mithilfe eines Autoscaling-Dienstprogramms dynamisch Shards hinzu oder entfernen Sie sie aus Ihrem Stream, wenn sich Ihr Datendurchsatz ändert.
  • Wenn Konsumenten ein erweitertes Fanout verwenden, stellt ein Shard für jeden Datenkonsumenten, der für ein erweitertes Fanout registriert ist, 1 MB/s für die Dateneingabe und 2 MB/s für die Datenausgabe bereit.
  • Wenn Konsumenten das erweiterte Fanout nicht nutzen, stellt ein Shard 1 MB/s für die Dateneingabe und 2 MB/s für die Datenausgabe bereit. Die Ausgabe wird von allen Konsumenten gemeinsam genutzt, die kein erweitertes Fanout verwenden.
  • Die Anzahl der erforderlichen Shards wird beim Erstellen eines Streams angegeben; die Menge lässt sich jederzeit ändern. Beispielsweise können Sie einen Stream mit zwei Shards einrichten. Wenn Sie 5 Datenkonsumenten haben, die das erweiterte Fanout nutzen, kann dieser Stream insgesamt bis zu 20 MB/s für die Datenausgabe bereitstellen (2 Shards x 2 MB/s x 5 Datenkonsumenten). Wenn die Datenkonsumenten das erweiterte Fanout nicht nutzen, hat dieser Stream einen Durchsatz von 2 MB/s für die Dateneingabe und 4 MB/s für die Datenausgabe. In jedem Fall erlaubt dieser Stream bis zu 2000 PUT-Datensätze pro Sekunde bzw. 2 MB/s für die Eingabe, je nachdem, welches Limit zuerst erreicht wird.
  • In Amazon Kinesis Data Streams können Sie Metriken auf Shard-Ebene überwachen.

Ein Datensatz ist die Dateneinheit, die in einem Amazon Kinesis-Stream gespeichert ist. Ein Datensatz besteht aus einer Sequenznummer, einem Partitionsschlüssel und einem Daten-Blob. Ein Daten-Blob sind die Daten von Interesse, die Ihr Datenproduzent einem Stream hinzufügt. Die maximale Größe eines Daten-Blobs (Daten-Payload nach der Base64-Decodierung) beträgt 1 MB.

Ein Partitionsschlüssel ist in der Regel eine aussagekräftige Kennung, wie z. B. eine Benutzer-ID oder ein Zeitstempel. Er wird von Ihrem Datenproduzenten festgelegt, während Daten in einen Amazon Kinesis-Daten-Stream eingeleitet werden. Er ist für Konsumenten nützlich, weil sie mit dem Partitionsschlüssel einen mit dem Partitionsschlüssel verbundenen Verlauf wiedergeben oder erstellen können. Der Partitionsschlüssel wird auch benutzt, um Datensätze zu trennen und an verschiedene Shards eines Streams zu routen. Angenommen, Sie haben einen Amazon Kinesis-Daten-Stream mit zwei Shards (Shard 1 und Shard 2). Nun können Sie Ihren Datenproduzenten so konfigurieren, dass er zwei Partitionsschlüssel verwendet (Schlüssel A und Schlüssel B), sodass alle Datensätze mit dem Schlüssel A zu Shard 1 und alle Datensätze mit Schlüssel B zu Shard 2 hinzugefügt werden.

Eine Sequenznummer ist eine eindeutige Kennung für jeden einzelnen Datensatz. Die Sequenznummer wird von Amazon Kinesis Data Streams zugewiesen, wenn ein Datenproduzent die PutRecord- oder PutRecords-API aufruft, um Daten zu einem Amazon Kinesis-Datenstream hinzuzufügen. Sequenznummern für denselben Partitionsschlüssel steigen im Allgemeinen mit der Zeit. Je länger der Zeitraum zwischen PutRecord- oder PutRecords-Anforderungen, desto größer die Sequenznummer.

Daten in Streams einleiten

Alles öffnen

Amazon Kinesis Data Streams bietet zwei APIs zum Einfügen von Daten in einen Amazon Kinesis-Stream: PutRecord und PutRecords. Mit PutRecord ist ein einzelner Datensatz in einem API-Aufruf möglich. PutRecords lässt mehrere Datensätze in einem API-Aufruf zu.

Die Amazon Kinesis Producer Library (KPL) ist eine benutzerfreundliche und hochgradig konfigurierbare Bibliothek, mit der Sie Daten in einen Amazon Kinesis-Datenstrom einfügen können. Die Amazon Kinesis Producer Library (KPL) ist eine einfache, asynchrone und verlässliche Oberfläche, mit der Sie unter Einsatz minimaler Client-Ressourcen schnell einen höheren Produzentendurchsatz erzielen.

Amazon Kinesis Agent ist eine vorgefertigte Java-Anwendung, die eine einfache Möglichkeit bietet, Daten zu sammeln und an Ihren Amazon Kinesis-Stream zu senden. Sie können den Agenten in Serverumgebungen auf Linux-Basis, auf Protokollservern und Datenbankservern installieren. Der Agent überwacht bestimmte Dateien und sendet fortlaufend Daten an Ihren Datenstrom.

Anwendungen ausführen oder erstellen

Alles öffnen

Vollständig verwaltete Stream-Verarbeitungsanwendungen mit AWS-Services ausführen oder eigene Stream-Verarbeitungsanwendungen erstellen

Amazon Kinesis Data Firehose ist der einfachste Weg, Streaming-Daten zuverlässig zu transformieren und in Datenspeicher und Analysetools zu laden. Sie können einen Kinesis-Datenstrom als Quelle für ein Kinesis Data Firehose nutzen.

Sie können Lambda-Funktionen abonnieren, um automatisch Datensätze aus Ihrem Kinesis-Daten-Stream zu lesen.  AWS Lambda wird in der Regel für die Datensatzweise (auch bekannt als ereignisbasierte) Stream-Verarbeitung verwendet.

Die Amazon Kinesis Client Library (KCL) ist eine vorgefertigte Bibliothek, mit der Sie auf einfache Weise Amazon Kinesis-Anwendungen zum Lesen und Verarbeiten von Daten aus einem Amazon Kinesis-Datenstrom erstellen können. Die KCL übernimmt automatisch komplexe Aufgaben wie die Anpassung an Änderungen beim Stream-Volumen, den Lastausgleich für Streaming-Daten, die Koordination verteilter Services und fehlertolerante Datenverarbeitung. Dank KCL können Sie sich beim Entwickeln von Amazon Kinesis-Anwendungen auf die Geschäftslogik konzentrieren. Ab KCL 2.0 können Sie eine HTTP/2-Streaming-API mit geringer Latenz und erweitertem Fanout nutzen, um Daten aus einem Stream abzurufen.

Die Amazon Kinesis Connector Library ist eine vorgefertigte Bibliothek, mit der Sie Amazon Kinesis problemlos in andere AWS-Services und Tools von Drittanbietern integrieren können. Die Amazon Kinesis Client Library (KCL) ist erforderlich, um die Amazon Kinesis Connector Library zu verwenden. Die aktuelle Version dieser Bibliothek bietet Konnektoren für Amazon DynamoDB, Amazon Redshift, Amazon S3 und Amazon Elasticsearch Service. Die Bibliothek umfasst auch Muster-Konnektoren für jeden Typ sowie Apache Ant-Build-Dateien zum Ausführen der Muster.

Amazon Kinesis Storm Spout ist eine vorgefertigte Bibliothek, mit der Sie Amazon Kinesis Data Streams einfach in Apache Storm integrieren können. Die aktuelle Version von Amazon Kinesis Storm Spout ruft Daten aus dem Kinesis-Daten-Stream ab und gibt diese als Tupel aus. Sie fügen Spout Ihrer Storm-Topologie hinzu, um Amazon Kinesis Data Streams als zuverlässigen, skalierbaren, Stream-Erfassungs-, Speicher- und Wiedergabeservice zu nutzen.

Streams verwalten

Alles öffnen

Sie können privat über Ihre Amazon Virtual Private Cloud (VPC) auf die Kinesis Data Streams-APIs zugreifen, indem Sie VPC-Endpunkte erstellen. Mit VPC-Endpunkten wird das Routing zwischen der VPC und Kinesis Data Streams durch das AWS-Netzwerk gesteuert, ohne dass ein Internet-Gateway, ein NAT-Gateway oder eine VPN-Verbindung erforderlich ist. Die neueste Generation der von Kinesis Data Streams verwendeten VPC-Endpunkte wird von AWS PrivateLink unterstützt. Diese Technologie ermöglicht die private Konnektivität zwischen AWS-Services, indem eine Elastic-Network-Schnittstelle (ENI) mit privaten IP-Adressen in Ihren VPCs genutzt werden. Weitere Informationen zu PrivatLink finden Sie in der AWS PrivateLink-Dokumentation.

Ein erweitertes Fan-out bietet Kunden die Möglichkeit, die Anzahl der Konsumenten zu skalieren, die parallel aus einem Stream lesen, während die Leistung erhalten bleibt. Sie können mit dem erweiterten Fan-out und einer HTTP/2-Datenabruf-API Daten in der Regel innerhalb von 70 Millisekunden nach dem Eintreffen auf mehrere Anwendungen auffächern.

Sie können die Daten, die Sie mit Kinesis Data Streams nutzen, auf dem Server oder auf dem Client verschlüsseln.  Die serverseitige Verschlüsselung ist eine vollständig verwaltete Funktion, die Daten automatisch verschlüsselt und entschlüsselt, während Sie sie in einen Datenstrom eingeben und aus diesem abrufen. Alternativ können Sie Ihre Daten auf der Clientseite verschlüsseln, bevor Sie sie in Ihren Datenstrom aufnehmen. Weitere Informationen finden Sie im Abschnitt Sicherheit der häufig gestellten Fragen zu Kinesis Data Streams.

Amazon Kinesis Data Streams ist in Amazon CloudWatch integriert, sodass Sie CloudWatch-Metriken für Ihre Amazon Kinesis-Datenstreams und die Shards in diesen Datenströmen einfach erfassen, anzeigen und analysieren können. Weitere Informationen zu Amazon Kinesis Data Streams-Metriken finden Sie unter Überwachen von Amazon Kinesis mit Amazon CloudWatch.

Amazon Kinesis Data Streams ist in AWS Identity and Access Management (IAM) integriert, einen Service, mit dem Sie den Zugriff auf Ihre AWS-Services und -Ressourcen für Ihre Benutzer sicher kontrollieren können. Sie können zum Beispiel eine Richtlinie einrichten, der zufolge nur ein bestimmter Benutzer bzw. eine Gruppe Daten in den Amazon Kinesis-Daten-Stream einleiten kann. Weitere Informationen zur Zugriffsverwaltung und Kontrolle Ihres Amazon Kinesis-Datenstroms finden Sie unter Steuern des Zugriffs auf Amazon Kinesis-Ressourcen mithilfe von IAM.

Amazon Kinesis Data Streams ist in AWS CloudTrail integriert, einen Service, der AWS-API-Aufrufe für Ihr Konto aufzeichnet und Ihnen Protokolldateien zustellt. Weitere Informationen zur Protokollierung von API-Aufrufen und eine Liste der unterstützten Amazon Kinesis-APIs finden Sie unter Protokollieren von Amazon Kinesis-API-Aufrufen mithilfe von AWS CloudTrail.

Sie können Ihre Amazon Kinesis Data Streams und EFO-Verbraucher (Enhanced Fan-Out) mit Tags versehen, um das Ressourcen- und Kostenmanagement zu vereinfachen. Ein Tag ist ein benutzerdefiniertes Label in Form eines Schlüssel-Wert-Paares, mit dessen Hilfe Sie AWS-Ressourcen organisieren können. Sie können Ihre Amazon Kinesis Daten Streams oder EFO-Verbraucher zum Beispiel nach Kostenstellen mit Kategorien versehen, anhand derer Sie Ihre Amazon-Kinesis-Data-Streams-Kosten kategorisieren und nachverfolgen können. Weitere Informationen dazu finden Sie unter Taggen Sie Ihre Amazon Kinesis Data Streams-Ressourcen.

Tutorials

Alles öffnen

In diesem Tutorial erfahren Sie, wie Sie einen Amazon Kinesis-Daten-Stream erstellen, simulierte Wertpapierdaten in den Daten-Stream senden und eine Anwendung zur Verarbeitung der Daten aus dem Daten-Stream schreiben.  

Vorgestellte Präsentationen

Alles öffnen

Amazon Kinesis vereinfacht das Erfassen, Verarbeiten und Analysieren von Echtzeit-Streaming-Daten, damit Sie zeitnahe Einblicke erhalten und schnell auf neue Informationen reagieren können. In dieser Sitzung stellen wir eine End-to-End-Streaming-Datenlösung vor, die Kinesis Streams für die Datenaufnahme verwendet, Kinesis Analytics für die Echtzeitverarbeitung und Kinesis Firehose für die Persistenz. Wir besprechen im Detail, wie man SQL-Abfragen mithilfe von Streaming-Daten schreibt, und besprechen bewährte Methoden zur Optimierung und Überwachung Ihrer Kinesis Analytics-Anwendungen. Schließlich unterhalten wir uns darüber, wie man die Kosten für das gesamte System abschätzen kann.

Sitzungsaufzeichnung ansehen | Präsentation herunterladen

Möchten Sie Ihr Wissen über AWS-Big Data-Webservices erweitern und Ihre erste große Datenanwendung in der Cloud starten? Wir führen Sie durch die Vereinfachung der großen Datenverarbeitung als Daten-Bus, bestehend aus Einlesen, Speichern, Verarbeiten und Visualisieren. Sie erstellen eine Big-Data-Anwendung mit AWS Managed Services wie Amazon Athena, Amazon Kinesis, Amazon DynamoDB und Amazon S3. Dabei sehen wir uns die Architekturdesignmuster für Big-Data-Anwendungen nochmal im Detail an und ermöglichen Ihnen den Zugang zu einem Take-Home-Labor, damit Sie die Anwendung selbst neu erstellen und anpassen können. Sie sollten Ihren eigenen Laptop mitbringen und mit den AWS-Services vertraut sein, damit sich diese Sitzung maximal für Sie lohnt.

Präsentation herunterladen

In den letzten Jahren ist die Zahl der angeschlossenen Geräte und Echtzeitdatenquellen explosionsartig angestiegen. Aus diesem Grund werden Daten nicht nur kontinuierlich, sondern auch immer schneller produziert. Unternehmen können nicht mehr stunden- oder tagelang warten, sich diese Daten zu Nutze zu machen. Um die wertvollsten Erkenntnisse zu gewinnen, müssen sie diese Daten sofort nutzen, um schnell auf neue Informationen reagieren zu können. In diesem Workshop lernen Sie, wie Sie die Vorteile von Streaming-Datenquellen nutzen können, um nahezu in Echtzeit zu analysieren und zu reagieren. Sie werden mit mehreren Anforderungen an ein realistisches Streaming-Datenszenario konfrontiert und haben die Aufgabe, eine Lösung zu entwickeln, die die Anforderungen mit Services wie Amazon Kinesis, AWS Lambda und Amazon SNS erfolgreich erfüllt.

Präsentation herunterladen

Für alle Unternehmen und Kunden, die Batch-Datenanalysetools einsetzen und die Vorteile der Streaming-Analyse nutzen wollen, ist es wichtig, aus Daten schnellstmöglich umsetzbare Erkenntnisse zu gewinnen. Lernen Sie bewährte Methoden kennen, um Ihre Architektur zu erweitern – von Data Warehouses und Datenbanken bis hin zu Echtzeitlösungen. Erfahren Sie, wie Sie Amazon Kinesis nutzen können, um Echtzeit-Dateneinblicke zu erhalten und diese in Amazon Aurora, Amazon RDS, Amazon Redshift und Amazon S3 zu integrieren. Das Amazon Flex-Team beschreibt, wie es Streaming-Analysen in seiner Amazon Flex-Mobilanwendung verwendet hat, die von Amazon-Auslieferern genutzt wird, um jeden Monat Millionen von Paketen pünktlich zu liefern. Das Team spricht über die Architektur, die den Wechsel von einem Batch-Verarbeitungssystem zu einem Echtzeitsystem ermöglichte, wie es die Herausforderungen bei der Migration vorhandener Batch-Daten zu Streaming-Daten meistern konnte, und welche Vorteile die Echtzeitanalyse bietet.

Sitzungsaufzeichnung ansehen | Präsentation herunterladen

Um am Markt erfolgreich zu sein und differenzierte Kundenerfahrungen bereitzustellen, müssen Unternehmen in der Lage sein, Live-Daten in Echtzeit zu nutzen, um schnelle Entscheidungen zu treffen. In dieser Sitzung lernen Sie die gängigen Anwendungsfälle und Architekturen der Streaming-Datenverarbeitung kennen. Zuerst geben wir einen Überblick über Streaming-Daten und AWS-Streaming-Datenfunktionen. Danach sehen wir uns einige Kundenbeispiele und die dazugehörigen Echtzeit-Streaming-Anwendungen an. Schließlich befassen wir uns im Detail mit den gängigen Architekturen und Designmustern der prominentesten Anwendungsfälle bzgl. Streaming-Daten.

Sitzungsaufzeichnung ansehen | Präsentation herunterladen

Vorgestellte Lösungen

Die AWS-Streaming-Daten-Lösung für Amazon Kinesis bietet AWS-CloudFormation-Vorlagen, in denen Daten durch Produzenten, Streaming-Speicher, Konsumenten und Ziele fließen. Um mehrere Anwendungsfälle und Geschäftsanforderungen zu unterstützen, bietet diese Lösung vier AWS-CloudFormation-Vorlagen. Die Vorlagen sind so konfiguriert, dass Best Practices zur Überwachung der Funktionalität mithilfe von Dashboards und Alarmen sowie zur Sicherung der Daten angewendet werden.