Allgemeines und Konzepte von Streaming ETL

F: Was ist Streaming ETL?

Streaming ETL ist die Verarbeitung und Verschiebung von Echtzeitdaten von einem Ort an einen anderen. „ETL“ ist die Abkürzung der Datenbankfunktionen Extrahieren, Transformieren und Laden. „Extrahieren“ bezieht sich auf das Erfassen der Daten von einer Quelle. „Transformieren“ bezieht sich auf jegliche Verarbeitungen dieser Daten. „Laden“ bezieht sich auf das Senden der verarbeiteten Daten an einen Zielort, wie ein Warehouse, ein Data Lake oder ein Analysetool.

F: Was ist Amazon Kinesis Data Firehose?

Kinesis Data Firehose ist eine Streaming-ETL-Lösung. Das ist die einfachste Methode zum Laden von Streaming-Daten in Datenspeicher und Analysetools. Es kann Streaming-Daten aufzeichnen, umwandeln und in Amazon S3, Amazon Redshift, Amazon Elasticsearch Service und Splunk laden, so dass Analysen mit den von Ihnen genutzten Business-Intelligence-Tools und -Dashboards fast in Echtzeit möglich sind. Es handelt sich um einen vollständig verwalteten Service, der automatisch so skaliert wird, dass er mit dem Durchsatz Ihrer Daten übereinstimmt und keine weitere Verwaltung erfordert. Er kann die Daten vor dem Laden auch in Batches unterteilen, komprimieren und verschlüsseln, um den am Zielort verwendeten Speicherplatz zu minimieren und die Sicherheit zu erhöhen.

F: Was ist eine Quelle in Kinesis Data Firehose?

Eine Quelle ist der Ort, an dem Ihre Streaming-Daten kontinuierlich generiert und erfasst werden. Eine Quelle kann z. B. ein Protokollierungsserver sein, der auf Amazon EC2-Instances ausgeführt wird, eine Anwendung, die auf einem Mobilgerät ausgeführt wird, oder ein Sensor auf einem IoT-Gerät. Sie können Ihre Quellen folgendermaßen mit Kinesis Data Firehose verbinden: 1) Amazon Kinesis Data Firehose API, das AWS SDK for Java, .NET, Node.js, Python oder Ruby verwendet. 2) Kinesis Data Stream, wobei Kinesis Data Firehose Daten einfach aus einem vorhandenen Kinesis-Datenstrom gelesen und in Kinesis Data Firehose-Ziele geladen wird. 3) AWS unterstützt Services wie AWS Cloudwatch, AWS EventBridge, AWS IOT oder AWS Pinpoint nativ. Eine vollständige Liste finden Sie im Entwicklerhandbuch von Amazon Kinesis Data Firehose. 4) Kinesis Agents, eine eigenständige Java-Softwareanwendung, die laufend eine Reihe von Dateien überwacht und neue Daten an Ihren Stream sendet. 5) Fluentbit, ein Open-Source Log Processor und Forwarder. 6) AWS Lambda, ein serverless Rechenservice, mit dem Sie Code ausführen können, ohne Server bereitstellen und verwalten zu müssen. Sie können Ihre Lambda-Funktion schreiben und basierend auf einem ausgelösten Ereignis Verkehr von S3 oder DynamoDB an Kinesis Data Firehose senden.

F: Was ist ein Ziel in Kinesis Data Firehose?

Ein Ziel ist der Datenspeicher, an den Ihre Daten geliefert werden. Kinesis Data Firehose unterstützt aktuell als Ziele Amazon S3, Amazon Redshift, Amazon Elasticsearch Service, Splunk, Datadog, NewRelic, Dynatrace, Sumologic, LogicMonitor, MongoDB und HTTP-Endpunkte.

F: Was verwaltet Kinesis Data Firehose für mich?

Kinesis Data Firehose verwaltet die gesamte zugrunde liegende Infrastruktur sowie die Speicherung, Netzwerke und die Konfiguration, die zum Sammeln und Laden Ihrer Daten in Amazon S3, Amazon Redshift, Amazon Elasticsearch Service und Splunk erforderlich ist. Sie müssen sich keine Gedanken über Bereitstellung, laufende Wartung von Hardware, Software machen oder andere Anwendungen zur Verwaltung dieses Prozesses schreiben. Kinesis Data Firehose skaliert auch elastisch ohne weiteres Zutun und erfordert keinerlei Entwickleraufwand in diesem Zusammenhang. Außerdem repliziert Kinesis Data Firehose synchron Daten an drei Standorten einer AWS-Region und erzielt so eine hohe Verfügbarkeit und Beständigkeit für die Daten während des Transports zu diesen Zielen.

F: Wie verwende ich Kinesis Data Firehose?

Nachdem Sie sich bei Amazon Web Services angemeldet haben, können Sie Kinesis Data Firehose mit den folgenden Schritten verwenden:

  • Erstellen Sie einen Kinesis Data Firehose-Bereitstellungsdatenstrom über die Firehose-Konsole oder mit dem Vorgang CreateDeliveryStream. Sie können optional eine AWS Lambda-Funktion in Ihren Bereitstellungs-Stream integrieren, um die Rohdaten vor dem Laden der Daten vorzubereiten und umzuwandeln.
  • Konfigurieren Sie Ihre Datenproduzenten so, dass sie über den Amazon Kinesis Agent oder die Firehose-API kontinuierlich Daten an Ihren Bereitstellungsdatenstrom senden.
  • Firehose lädt Ihre Daten automatisch und kontinuierlich zu den von Ihnen angegebenen Zielen.

F: Was ist ein Bereitstellungsdatenstrom in Kinesis Data Firehose?

Ein Bereitstellungsdatenstrom ist die zugrunde liegende Entität von Kinesis Data Firehose. Sie verwenden Firehose, indem Sie einen Bereitstellungsdatenstrom erstellen und dann Daten dorthin senden. Sie können einen Kinesis Data Firehose-Bereitstellungsdatenstrom über die Firehose-Konsole oder den Vorgang CreateDeliveryStream erstellen. Weitere Informationen finden Sie unter Erstellen eines Bereitstellungsdatenstroms.

F: Was ist ein Datensatz in Kinesis Data Firehose?

Bei einem Datensatz handelt es sich um die gewünschten Daten, die Ihr Datenproduzent an einen Bereitstellungsdatenstrom sendet. Die maximale Größe eines Datensatzes (vor der Base64-Kodierung) beträgt 1 024 KB.

F: Welche Limits gelten für Kinesis Data Firehose?

Informationen zu Limits finden Sie im Entwicklerhandbuch unter Amazon Kinesis Data Firehose Limits.

Datenquellen

F: Welche Programmiersprachen oder Plattformen kann ich verwenden, um auf die Kinesis Data Firehose-API zuzugreifen?

Die Kinesis Data Firehose-API ist in den Amazon Web Services-SDKs verfügbar. Eine Liste der Programmiersprachen oder Plattformen für die Amazon Web Services SDKs finden Sie unter Tools für Amazon Web Services.

F: Was ist Amazon Kinesis Agent?

Kinesis Agent ist eine fertige Java-Anwendung, die eine einfache Methode zur Erfassung von Daten und zum Senden dieser Daten in Ihren Bereitstellungsdatenstrom bietet. Sie können den Agenten in Serverumgebungen auf Linux-Basis, auf Protokollservern und Datenbankservern installieren. Der Agent überwacht bestimmte Dateien und sendet fortlaufend Daten in Ihren Bereitstellungsdatenstrom. Amazon Kinesis Agent unterstützt derzeit Amazon Linux, Red Hat Enterprise Linux und Microsoft Windows. Weitere Informationen finden Sie unter Schreiben Sie mit Agenten.

F: Wo bekomme ich Amazon Kinesis Agent?

Sie können Kinesis Agent mit dem folgenden Befehl und Link herunterladen und installieren:

  • Auf Amazon Linux: sudo yum install –y aws-kinesis-agent
  • Auf Red Hat Enterprise Linux: sudo yum install –y https://s3.amazonaws.com/streaming-data-agent/aws-kinesis-agent-latest.amzn1.noarch.rpm
  • Aus GitHub: awlabs/amazon-kinesis-agent
  • In Windows: https://docs.aws.amazon.com/kinesis-agent-windows/latest/userguide/getting-started.html#getting-started-installation

F: Worin besteht der Unterschied zwischen den Vorgängen PutRecord und PutRecordBatch?

Sie können einem Kinesis Data Firehose-Bereitstellungsdatenstrom über Kinesis Agent oder über die Firehose-Vorgänge PutRecord und PutRecordBatch hinzufügen. Mit dem Vorgang PutRecord ist ein einzelner Datensatz in einem API-Aufruf möglich; der Vorgang PutRecordBatch lässt mehrere Datensätze in einem API-Aufruf zu. Weitere Informationen finden Sie unter PutRecord und PutRecordBatch.

F: Wie füge ich meinem Kinesis Data Firehose-Bereitstellungsdatenstrom aus meinem Kinesis-Datenstrom Daten hinzu?

Wenn Sie Ihren Bereitstellungsdatenstrom über die AWS-Konsole oder Firehose-APIs erstellen oder aktualisieren, können Sie einen Kinesis-Datenstrom als Quelle Ihres Bereitstellungsdatenstroms konfigurieren. Nach der Konfiguration liest Firehose automatisch Daten aus Ihrem Kinesis-Datenstrom und lädt sie an die angegebenen Ziele.

F: Wie oft liest Kinesis Data Firehose Daten aus meinem Kinesis-Datenstrom?
Kinesis Data Firehose ruft Kinesis Data Streams GetRecords() für jeden Kinesis-Shard einmal pro Sekunde auf.

F: Von wo liest Kinesis Data Firehose Daten, wenn mein Kinesis-Datenstrom als Quelle meines Bereitstellungsdatenstroms konfiguriert ist?

Kinesis Data Firehose liest Daten von der LETZTEN Position Ihres Kinesis-Datenstroms, wenn es als Quelle eines Bereitstellungsdatenstroms konfiguriert ist. Weitere Informationen über die Kinesis-Datenstromposition finden Sie unter GetShardIterator in der Kinesis Data Streams Service-API-Referenz.

F: Kann ich meinen Kinesis-Datenstrom als Quelle mehrerer Firehose-Bereitstellungsdatenströme konfigurieren?

Ja, das ist möglich. Bitte beachten Sie aber, dass der GetRecords()-Aufruf aus Kinesis Data Firehose beim Gesamtdrossellimit Ihres Kinesis-Shard berücksichtigt wird. Sie müssen Ihren Lieferdatenstrom also mit Ihren anderen Kinesis-Anwendungen planen, um zu gewährleisten, dass es nicht zu einer Drosselung kommt. Weitere Informationen finden Sie im Kinesis Data Streams-Entwicklerhandbuch unter Kinesis Data Streams Limits.

F: Kann ich weiterhin Daten über Kinesis Agent oder die Vorgänge PutRecord und PutRecordBatch in Firehose dem Bereitstellungsdatenstrom hinzufügen, wenn mein Kinesis-Datenstrom als Quelle konfiguriert ist?

Nein, das ist nicht möglich. Ist ein Kinesis-Datenstrom als Quelle eines Firehose-Bereitstellungsdatenstroms konfiguriert, werden die Vorgänge PutRecord und PutRecordBatch in Firehose deaktiviert. Stattdessen sollten Sie Daten mit den Kinesis Data Streams-Vorgängen PutRecord und PutRecords Ihrem Kinesis-Datenstrom hinzufügen.

F: Wie füge ich meinem Bereitstellungsdatenstrom aus AWS IoT Daten hinzu?

Sie können Ihrem Lieferdatenstrom aus AWS IoT Daten hinzufügen, indem Sie eine AWS IoT-Aktion erstellen, die Ereignisse an Ihren Lieferdatenstrom sendet. Für weitere Informationen: Siehe Writing to Amazon Kinesis Data Firehose Using AWS IoT im Entwicklerhandbuch von Kinesis Data Firehose.

F: Wie füge ich meinem Bereitstellungsdatenstrom aus CloudWatch Logs Daten hinzu?

Sie können Ihrem Kinesis Data Firehose-Bereitstellungsdatenstrom aus CloudWatch Logs Daten hinzufügen, indem Sie einen CloudWatch Logs Subscription Filter erstellen, der Ereignisse an Ihren Bereitstellungsdatenstrom sendet. Weitere Informationen finden Sie unter CloudWatch Logs Subscription Filter verwenden im Amazon CloudWatch-Benutzerhandbuch.

F: Wie füge ich meinem Kinesis Data Firehose-Bereitstellungsdatenstrom Daten aus CloudWatch Events hinzu?

Sie können Daten über CloudWatch Events durch Erstellen einer CloudWatch Events-Regel mit Ihrem Kinesis Data Firehose-Bereitstellungsdatenstrom als Ziel Ihrem Firehose-Bereitstellungsdatenstrom hinzufügen. Weitere Informationen finden Sie im Entwicklerhandbuch von Kinesis Data Firehose unter Writing to Amazon Kinesis Data Firehose Using CloudWatch Events.

F: Wie füge ich meinem Amazon Kinesis Data Firehose-Bereitstellungsdatenstrom Daten aus AWS Eventbridge hinzu?

Sie können Ihrem Kinesis Data Firehose-Bereitstellungsdatenstrom Daten aus der AWS EventBridge-Konsole hinzufügen. Weitere Informationen finden Sie in der Dokumentation zu AWS EventBridge.

F: Welche Art von Verschlüsselung kann ich verwenden?

Bei Kinesis Data Firehose können Sie Ihre Daten verschlüsseln, nachdem sie an Ihren Amazon S3-Bucket geliefert wurden. Wenn Sie Ihren Bereitstellungsdatenstrom erstellen, können Sie Ihre Daten mit einem AWS Key Management Service (KMS) verschlüsseln, den Sie bereits besitzen. Weitere Informationen über KMS finden Sie unter AWS Key Management Service.

F: Welche IAM-Rolle muss ich angeben, wenn ich einen Bereitstellungsdatenstrom einrichte?

Kinesis Data Firehose übernimmt die IAM-Rolle, die Sie für den Zugriff auf Ressourcen wie das Amazon S3-Bucket und die Amazon Elasticsearch-Domäne festlegen. Weitere Informationen finden Sie im Entwicklerhandbuch von Kinesis Data Firehose unter Zugriffskontrolle mit Kinesis Data Firehose.

Datentransformation und Formatkonvertierung

F: Wie bereite ich Daten in Kinesis Data Firehose vor und wandle sie um?

Kinesis Data Firehose unterstützt integrierte Datenformatkonvertierung von Rohdaten oder JSON in Formate wie Apache Parquet and Apache ORC umwandeln, die von Ihren Zieldatenspeichern verlangt werden, ohne eigene Datenverarbeitungs-Pipelines zu erstellen. Mit Kinesis Data Firehose können Sie Ihre Streamingdaten auch dynamisch partitionieren, bevor Sie sie an S3 liefern, indem Sie statische oder dynamisch definierte Schlüssel wie “customer_id” oder “transaction_id” verwenden. Kinesis Data Firehose gruppiert Daten nach diesen Schlüsseln und liefert sie in für die Schlüssel einmalige S3-Präfixe, damit Sie leichter leistungsstarke, kostengünstige Analytik in S3 mit Athena, EMR und Redshift Spectrum durchführen können.

Neben der integrierten Option der Formatkonvertierung in Amazon Kinesis Data Firehose können Sie eine AWS Lambda-Funktion für die Vorbereitung und Umwandlung eingehender Rohdaten in Ihrem Bereitstellungsdatenstrom zu verwenden, bevor diese an ihre Ziele geladen werden. Sie können eine AWS Lambda-Funktion für die Datenumwandlung konfigurieren, wenn Sie einen neuen Bereitstellungs-Stream erstellen oder einen vorhandenen Bereitstellungs-Stream bearbeiten. Amazon hat mehrere Lambda-Blaupausen erstellt, aus denen Sie für Ihren Schnellstart wählen können. Eine vollständige Liste finden Sie im Entwicklerhandbuch von Amazon Kinesis Data Firehose.

F: Welches Komprimierungsformat kann ich verwenden?

Mit Amazon Kinesis Data Firehose können Sie Ihre Daten vor der Lieferung an Amazon S3 komprimieren. Der Service unterstützt aktuelle die Komprimierungsformate GZIP, ZIP und SNAPPY. Wenn die Daten weiter in Amazon Redshift geladen werden, wird nur GZIP unterstützt.

F: Wie funktioniert die Komprimierung, wenn ich die Abonnementfunktion in CloudWatch Logs nutze?

Sie können die Abonnementfunktion in CloudWatch Logs nutzen, um Daten von CloudWatch Logs zu Kinesis Data Firehose zu streamen. Sämtliche Ereignisprotokolle von CloudWatch Logs sind bereits in das gzip-Format komprimiert worden. Darum sollten Sie die Komprimierungskonfiguration in Firehose unkomprimiert belassen, um eine doppelte Komprimierung zu vermeiden. Weitere Informationen zur Abonnementfunktion für CloudWatch Logs finden Sie im Amazon CloudWatch Logs Benutzerhandbuch unter Subscription Filters with Amazon Kinesis Data Firehose.

F: Wie gebe ich vorbereitete und umgewandelte Daten von meiner AWS Lambda-Funktion zurück an Amazon Kinesis Data Firehose?

Alle umgewandelten Datensätze von Lambda müssen mit folgenden drei Parametern zu Firehose zurückgegeben werden; ansonsten wird Firehose die Datensätze ablehnen und sie als Datenumwandlungsfehler behandeln.

  • recordId: Firehose gibt eine recordId zusammen mit jedem Datensatz an Lambda während des Aufrufs weiter. Jeder umgewandelte Datensatz sollte mit genau derselben recordId zurückgegeben werden. Jede Abweichung zwischen der ursprünglichen recordId und der zurückgegebenen recordId wird als Datenumwandlungsfehler behandelt.
  • result: Der Status des Umwandlungsergebnisses jedes Datensatzes. Folgende Werte sind für diesen Parameter zulässig: "Ok", wenn der Datensatz erfolgreich und wie erwartet umgewandelt wurde. "Dropped", wenn Ihre Verarbeitungslogik den Datensatz wie erwartet beabsichtigt verwirft. "ProcessingFailed", wenn der Datensatz nicht wie erwartet umgewandelt werden kann. Firehose behandelt zurückgegebene Datensätze mit Status "Ok" und "Dropped" als erfolgreich verarbeitete Datensätze und diejenigen mit Status "ProcessingFailed" als nicht erfolgreich verarbeitete Datensätze, wenn es die Metriken SucceedProcessing.Records und SucceedProcessing.Bytes generiert.
  • data: Die Nutzlast der umgewandelten Daten nach based64-Codierung.

F: Was ist Fehlerprotokollierung?

Wenn Sie Datenumwandlung mit Lambda aktivieren, kann Firehose alle Lambda-Aufruf- und Datenbereitstellungsfehler an Amazon CloudWatch Logs melden, sodass Sie die spezifischen Fehlerprotokolle anzeigen können, wenn die Lambda-Aufruf- oder Datenbereitstellung fehlschlägt. Weitere Informationen finden Sie unter Monitoring with Amazon CloudWatch Logs.

F: Was ist eine Quelldatensatzsicherung?

Wenn Sie Datenumwandlung mit Lambda verwenden, können Sie Quelldatensatzsicherung aktivieren, sodass Amazon Kinesis Data Firehose die nicht umgewandelten Daten in einem separaten S3-Bucket bereitstellen wird. Sie können angeben, dass ein zusätzliches Präfix vor dem UTC-Zeitpräfix "YYYY/MM/DD/HH" hinzugefügt wird, das von Firehose generiert wird.

Integrierte Datentransformation für Amazon S3

F: Wann sollte ich die Kinesis Data Firehose dynamische Partitionierung verwenden?

Die Kinesis Data Firehose dynamische Partitionierung beseitigt die Komplexität und die Verzögerung einer manuellen Partitionierung an der Quelle oder nach dem Speichern der Daten. Dadurch wird eine schnellere Analyse bei der Abfrage optimierter Datensätze ermöglicht. Datensätze sind somit direkt für Analysetools verfügbar, die ihre Abfragen effizient ausführen können, und es wird eine präzisere Zugriffskontrolle auf die Daten erreicht. So können beispielsweise Marketingautomatisierungkunden Daten spontan nach Kunden-ID partitionieren, wodurch kundenspezifische Abfragen zur Abfrage optimierter Datensätze und schnellerer Lieferung von Ergebnissen ermöglicht werden. IT-Operations- oder Sicherheitsüberwachungskunden können Gruppierungen basierend auf in Protokollen eingebetteten Ereignis-Zeitstempeln erstellen, damit sie optimierte Datensätze abfragen und schneller Ergebnisse erhalten können. Durch diese Funktion, zusammen mit der bestehenden Konvertierungsfunktion von JSON- in Parquet-Format in Amazon Kinesis Data Firehose, ist Amazon Kinesis Data Firehose die ideale Streaming-ETL-Option für S3.

F: Wie richte ich dynamische Partitionierung mit Kinesis Data Firehose ein?

Sie können die Kinesis Data Firehose dynamische Partitionierung über die AWS-Managementkonsole, CLIs oder SDKs einrichten. Wenn Sie einen Kinesis Data Firehose-Bereitstellungsdatenstrom einrichten oder aktualisieren, wählen Sie „Amazon S3“ als Bereitstellungsziel für den Bereitstellungsdatenstrom aus und aktivieren Sie die dynamische Partitionierung. Sie können Schlüssel angeben oder einen Ausdruck erstellen, der zur Laufzeit beurteilt wird, um die für die Partitionierung verwendeten Schlüssel zu definieren. Sie können zum Beispiel ein Datenfeld im eingehenden Strom auswählen, wie die Kunden-ID, und einen S3-Präfixausdruck definieren, wie customer_id=!{partitionKey:customer_id}/. Dieser wird während der Laufzeit basierend auf den erfassten Datensätzen beurteilt, um zu definieren, an welchen S3-Präfix die Datensätze geliefert werden.

F: Was für Transformationen und Datenverarbeitung kann ich mit dynamischer Partitionierung und Partitionierungsschlüsseln durchführen?

Kinesis Data Firehose unterstützt sofort Parquet-/ORC-Konversion, wenn Sie Ihre Daten an Amazon S3 schreiben. Kinesis Data Firehose lässt sich auch mit einer Lambda-Funktion integrieren, damit Sie Ihren eigenen Transformationscode schreiben können. Kinesis Data Firehose bietet außerdem integrierte Unterstützung beim Extrahieren von wichtigen Datenfeldern aus Datensätzen im JSON-Format. Kinesis Data Firehose unterstützt auch die JQ-Parsingsprache, um Transformation in diese Partitionsschlüssel zu ermöglichen. Weitere Informationen finden Sie im Entwicklerhandbuch zu Kinesis Data Firehose.

Datenbereitstellung und Ziele

F: Kann ich eine Kopie aller Rohdaten in meinem S3-Bucket aufbewahren?

Ja, Kinesis Data Firehose kann alle nicht umgewandelten Datensätze in Ihren S3-Bucket sichern, während die umgewandelten Datensätze zum Ziel gelangen. Quelldatensatzsicherung kann aktiviert werden, wenn Sie Ihren Bereitstellungs-Stream erstellen oder aktualisieren.

F: Wie häufig liefert Kinesis Data Firehose Daten an meinen Amazon S3-Bucket?

Die Häufigkeit der Datenlieferung an Amazon S3 wird von der Puffergröße und dem Pufferintervall bestimmt, die bzw. das Sie für den Bereitstellungsdatenstrom konfiguriert haben. Kinesis Data Firehose puffert eingehende Daten, bevor diese an Amazon S3 geliefert werden. Sie können die Werte für die Größe des S3-Puffers (1 MB bis 128 MB) oder das Pufferintervall (60 bis 900 Sekunden) festlegen und angeben, unter welcher Bedingung die erste Datenlieferung an Amazon S3 ausgelöst wird. Wenn Sie Apache Parquet- oder dynamische Partitionierung aktiviert haben, wird Ihre Puffergröße in MB angegeben und reicht von 64 MB bis 128 MB beim Ziel Amazon S3, wobei 128 MB der Standardwert ist. Wenn die Datenlieferung an das Ziel langsamer erfolgt, als Daten dem Bereitstellungsdatenstrom zugeführt werden, erhöht Kinesis Data Firehose die Puffergröße automatisch, um den Vorgang zu beschleunigen und sicherzustellen, dass alle Daten zum Ziel übertragen werden.

F: Wie wird die Puffergröße angewendet, wenn ich die Option zum Komprimieren der Daten wähle?

Die Puffergröße wird vor der Komprimierung angewendet. Das hat zur Folge, dass die Größe der Objekte in Ihrem Amazon S3-Bucket kleiner sein kann als die von Ihnen angegebene Puffergröße, falls Sie die Komprimierung auswählen.

F: Über welche Berechtigung muss der Amazon Redshift-Benutzer verfügen, den ich beim Einrichten eines Bereitstellungsdatenstroms angeben muss?

Der Amazon Redshift-Benutzer muss über die Redshift-Berechtigung INSERT verfügen, um Daten von Ihrem Amazon S3-Bucket in Ihren Redshift-Cluster kopieren zu können.

F: Was muss ich tun, wenn mein Amazon Redshift-Cluster in einem VPC ist?

Wenn sich Ihr Amazon Redshift-Cluster in einer VPC befindet, müssen Sie Amazon Kinesis Data Firehose Zugriff auf Ihr Redshift-Cluster gewähren, indem Sie die Blockierung der IP-Adressen von Firehose in Ihrer VPC aufheben. Informationen zum Aufheben der Blockierung von IPs in Ihrer VPC finden Sie im Entwicklerhandbuch von Amazon Kinesis Data Firehose unter Grant Firehose Access to an Amazon Redshift Destination.

F: Warum brauche ich einen Amazon S3-Bucket, wenn ich Amazon Redshift als Ziel wähle?

Für das Ziel Amazon Redshift liefert Amazon Kinesis Data Firehose Daten an Ihren Amazon S3-Bucket und gibt dann den Redshift-Befehl COPY aus, um die Daten von Ihrem S3-Bucket in Ihren Redshift-Cluster zu laden.

F: Was bedeutet Indexrotation, wenn Amazon Elasticsearch Service das Ziel ist?

Kinesis Data Firehose kann Ihren Amazon Elasticsearch Service-Index zeitraumabhängig rotieren. Diesen Zeitraum können Sie beim Erstellen des Bereitstellungsdatenstroms konfigurieren. Weitere Informationen finden Sie im Entwicklerhandbuch von Amazon Kinesis Data Firehose unter Index Rotation for the Amazon Elasticsearch Destination.

F: Warum brauche ich einen Amazon S3-Bucket, wenn ich Amazon Elasticsearch Service als Ziel wähle?

Wenn Daten in Amazon Elasticsearch Service geladen werden, kann Kinesis Data Firehose alle Daten oder nur die nicht zustellbaren Daten zurücksetzen. Um diese Funktion zu nutzen und jegliche Datenverluste zu vermeiden, müssen Sie zur Sicherung einen Amazon S3-Bucket bereitstellen.

F: Kann ich die Konfigurationen meines Lieferdatenstroms ändern, nachdem er eingerichtet wurde?

Sie können die Konfiguration Ihres Lieferdatenstroms jederzeit nach dem Einrichten ändern. Sie können dies über die Firehose-Konsole oder den Vorgang UpdateDestination durchführen. Ihr Lieferdatenstrom bleibt im Status ACTIVE, während Ihre Konfigurationen aktualisiert werden, und Sie können weiterhin Daten an Ihren Lieferdatenstrom senden. Die aktualisierten Konfigurationen werden dann normalerweise innerhalb einiger Minuten aktiviert.

Beim Senden an ein Ziel in der VPC kann die Endpunkt-URL geändert werden, solange sich das neue Ziel über dieselbe VPC, Subnetze und Sicherheitsgruppen aufrufen lässt. Falls Änderungen an der VPC, den Subnetzen oder den Sicherheitsgruppen nötig sind, müssen Sie einen neuen Firehose-Bereitstellungsdatenstrom erstellen.

F: Kann ich den Kinesis Data Firehose-Bereitstellungsdatenstrom eines Kontos verwenden, um meine Daten an ein VPC-Ziel mit Amazon Elasticsearch Service-Domäne eines anderen Kontos zu senden?

Nein, der Kinesis Data Firehose-Bereitstellungsdatenstrom und die Amazon Elasticsearch Service-Domäne des Ziels müssen zum selben Konto gehören.

F: Kann ich den Kinesis Data Firehose-Bereitstellungsdatenstrom einer Region verwenden, um meine Daten an ein VPC-Ziel mit Amazon Elasticsearch Service-Domäne einer anderen Region zu senden?

Nein, der Kinesis Data Firehose-Bereitstellungsdatenstrom und die Amazon Elasticsearch Service-Domäne des Ziels müssen zur selben Region gehören.

F: Wie häufig liefert Kinesis Data Firehose Daten an meine Amazon Elasticsearch-Domäne?

Die Häufigkeit der Datenlieferung an Amazon Elasticsearch Service richtet sich nach der Puffergröße und dem Pufferintervall von Elasticsearch. Sie können beides für den Bereitstellungsdatenstrom konfigurieren. Firehose puffert eingehende Daten vor der Lieferung an Amazon Elasticsearch Service. Sie können die Puffergröße von Elasticsearch (1 MB bis 100 MB) sowie das Pufferintervall (60 bis 900 Sekunden) festlegen und angeben, unter welcher Bedingung die erste Datenlieferung an den Amazon Elasticsearch Service ausgelöst wird. Wenn die Datenlieferung an das Ziel langsamer erfolgt, als Daten dem Bereitstellungsdatenstrom zugeführt werden, erhöht Amazon Kinesis Data Firehose die Puffergröße automatisch, um den Vorgang zu beschleunigen und sicherzustellen, dass alle Daten zum Ziel übertragen werden.

F: Wozu dient der Manifestordner in meinem Amazon S3-Bucket?
Amazon Kinesis Data Firehose generiert für das Ziel Amazon Redshift Manifestdateien, um Amazon S3-Objekte in Batches in das Redshift-Cluster zu laden. Im Manifestordner werden von Firehose generierte Manifestdateien gespeichert.

F: Wie werden gesicherte Elasticsearch-Dokumente in meinem Amazon S3-Bucket dargestellt?
Wenn der Modus für "alle Dokumente" verwendet wird, verkettet Amazon Kinesis Data Firehose mehrerer eingehende Datensätze gemäß der Pufferkonfiguration Ihres Bereitstellungsdatenstroms. Diese Verkettungen werden anschließend als S3-Objekt an Ihr S3-Bucket geliefert. Unzustellbare Dokumente werden ungeachtet des konfigurierten Sicherungsmodus in einem bestimmten JSON-Format an Ihren S3-Bucket geliefert. Das Format enthält Informationen wie den Fehlercode und die Uhrzeit des Lieferversuchs. Weitere Informationen finden Sie im Entwicklerhandbuch von Amazon Kinesis Data Firehose unter Amazon S3 Backup for the Amazon ES Destination.

F: Kann ein einzelner Lieferdatenstrom Daten an mehrere Amazon S3-Buckets liefern?

Ein einzelner Lieferdatenstrom kann Daten derzeit nur an einen Amazon S3-Bucket liefern. Wenn Daten an mehrere S3-Buckets geliefert werden sollen, können Sie mehrere Lieferdatenströme einrichten.

F: Kann ein einzelner Lieferdatenstrom Daten an mehrere Amazon Redshift-Cluster oder -Tabellen liefern?

Ein einzelner Lieferdatenstrom kann Daten derzeit nur an einen Amazon Redshift-Cluster und an eine ‑Tabelle liefern. Wenn Daten an mehrere Redshift-Cluster oder -Tabellen geliefert werden sollen, können Sie mehrere Bereitstellungsdatenströme einrichten.

F: Kann ein einzelner Bereitstellungsdatenstrom Daten an mehrere Amazon Elasticsearch Service-Domänen oder -Indizes liefern?

Ein einzelner Bereitstellungsdatenstrom kann Daten derzeit nur an eine Amazon Elasticsearch Service-Domäne und an einen Index liefern. Wenn Daten an mehrere Amazon Elasticsearch-Domänen oder -Indizes gesendet werden sollen, können Sie mehrere Bereitstellungsdatenströme einrichten.

F: Wie sendet Amazon Kinesis Data Firehose meine Daten an meine Amazon Elasticsearch Service-Domäne in einer VPC?

Wenn Sie das Senden von Daten über Kinesis Data Firehose an ein Amazon Elasticsearch Service-Ziel in einer VPC aktivieren, erstellt Amazon Kinesis Data Firehose für jedes ausgewählte Subnetz mindestens eine kontoübergreifende Elastic Network-Schnittstelle (ENI) in Ihrer VPC. Amazon Kinesis Data Firehose sendet die Daten mithilfe dieser ENIs an Ihre VPC. Die Anzahl der ENIs wird automatisch an die Serviceanforderungen angepasst.

Lieferdatenströme – Fehlerbehebung und Verwaltung

F: Warum werde ich gedrosselt, wenn ich Daten an meinen Amazon Kinesis Data Firehose-Lieferdatenstrom sende?

Jeder Lieferdatenstrom kann standardmäßig bis zu 2.000 Transaktionen/Sekunde, 5.000 Datensätze/Sekunde und 5 MB/Sekunde aufnehmen. Diese Beschränkung kann sehr einfach erhöht werden, indem ein Formular zum Erhöhen von Service-Limits eingereicht wird.

F: Warum werden in meinem Amazon S3-Bucket, meiner Amazon Redshift-Tabelle oder meinem Amazon Elasticsearch-Index doppelte Einträge angezeigt?

Amazon Kinesis Data Firehose verwendet für die Datenübertragung mindestens einmal eine Semantik. In seltenen Fällen, etwa bei einem Anforderungs-Timeout während einer Datenübertragung, können durch die erneute Übertragung von Firehose doppelte Einträge entstehen, wenn die ursprüngliche Anforderung schließlich doch übermittelt wird.

F: Was geschieht, wenn Daten nicht an mein Amazon S3-Bucket übertragen werden können?

Wenn Ihre Datenquelle Direkt Put ist und bei der Datenübertragung an Ihren Amazon S3-Bucket ein Fehler auftritt, wiederholt Amazon Kinesis Data Firehose die Übertragung alle 5 Sekunden bis zu maximal 24 Stunden lang. Besteht das Problem nach 24 Stunden weiterhin, verwirft Amazon Kinesis Data Firehose die Daten.

Wenn Ihre Datenquelle Kinesis Data Streams ist und bei der Datenübertragung an Ihren Amazon S3-Bucket ein Fehler auftritt, versucht Amazon Kinesis Data Firehose alle 5 Sekunden erneut, Daten zu übermitteln, und zwar bis zu einem maximalen Zeitraum, der auf Kinesis Data Streams konfiguriert ist.

F: Was geschieht, wenn Daten nicht an mein Amazon Redshift-Cluster übertragen werden können?

Wenn bei der Datenübertragung an Ihr Amazon Redshift-Cluster ein Fehler auftritt, wiederholt Amazon Kinesis Data Firehose die Übertragung alle 5 Sekunden bis zu maximal 120 Minuten lang. Nach 120 Minuten überspringt Amazon Kinesis Data Firehose den aktuellen Batch von S3-Objekten, die zum Kopieren bereit sind, und fährt mit dem nächsten Batch fort. Die Informationen über die übersprungenen Objekte werden Ihrem S3-Bucket als Manifestdatei im Fehlerordner zugestellt, den Sie dann zum manuellen Auffüllen verwenden können. Informationen zum manuellen Verwenden des COPY-Befehls mit Manifestdateien finden Sie unter Verwenden einer Manifestdatei zur Angabe von Datendateien.

F: Was geschieht, wenn Daten nicht an meine Amazon Elasticsearch-Domäne übertragen werden können?

Wenn Sie Amazon Elasticsearch Service als Ziel verwenden, können Sie beim Erstellen des Lieferdatenstrom eine Wiederholdauer zwischen 0 und 7200 Sekunden festlegen. Wenn Daten nicht an Ihre Amazon ES-Domäne übertragen werden können, wiederholt Amazon Kinesis Data Firehose den Vorgang für den festgelegten Zeitraum. Nach der Wiederholphase überspringt Amazon Kinesis Data Firehose den aktuellen Daten-Batch und fährt mit dem nächsten Batch fort. Details zu übersprungenen Dokumenten werden in den Ordner "elasticsearch_failed" Ihres S3-Buckets gestellt. Diese können Sie für einen manuellen Abgleich verwenden.

F: Was passiert im Falle eines Datenumwandlungsfehlers?

Es gibt zwei Arten von Fehlerszenarien, wenn Firehose versucht, Ihre Lambda-Funktion für die Datenumwandlung aufzurufen:

  • Der erste Typ ist, wenn der Funktionsaufruf fehlschlägt, weil zum Beispiel die Zeit für das Erreichen des Netzwerks abgelaufen ist und Lambda-Aufrufgrenzen erreicht sind. Bei diesen Fehlerszenarien wiederholt Firehose den Aufruf standardmäßig dreimal und überspringt dann diesen Datensatzstapel. Die übersprungenen Datensätze werden als nicht erfolgreich verarbeitete Datensätze behandelt. Sie können für die Anzahl der Aufrufwiederholungen eine Anzahl zwischen 0 und 300 mithilfe der APIs CreateDeliveryStream und UpdateDeliveryStream konfigurieren. Für diesen Fehlertyp können Sie auch die Fehlerprotokollierungsfunktion von Firehose verwenden, um Aufruffehler an CloudWatch Logs weiterzugeben. Weitere Informationen finden Sie unter Monitoring with Amazon CloudWatch Logs.
  • Der zweite Typ von Fehlerszenario tritt auf, wenn das Umwandlungsergebnis eines Datensatzes auf "ProcessingFailed" eingestellt ist, wenn dieser von Ihrer Lambda-Funktion zurückkehrt. Firehose behandelt diese Datensätze als nicht erfolgreich verarbeitete Datensätze. Für diesen Fehlertyp können Sie auch die Protokollierungsfunktion von Lambda verwenden, um Fehlerprotokolle an CloudWatch Logs weiterzugeben. Weitere Informationen finden Sie unter Accessing Amazon CloudWatch Logs for AWS Lambda.

Für beide Fehlerszenarien werden die nicht erfolgreich verarbeiteten Datensätze an Ihren S3-Bucket im Ordner "processing_failed" übertragen.

F: Warum sind gelieferte S3-Objekten größer als die Puffergröße, die ich in meiner Konfiguration für den Datenlieferstrom festgelegt habe?

Die Größe von gelieferten S3-Objekten sollte die festgelegte Puffergröße in den meisten Fällen widerspiegeln, wenn die Bedingung für die Puffergröße vor der Bedingung für das Pufferintervall erfüllt ist. Wenn jedoch die Datenlieferung an das Ziel langsamer ist als das Schreiben von Daten in den Lieferdatenstrom, erhöht Firehose die Puffergröße dynamisch, um den Vorgang zu beschleunigen und sicherzustellen, dass alle Daten an das Ziel geliefert werden. In diesem Fall können gelieferte S3-Objekten größer als die festgelegte Puffergröße sein.

F: Wozu dient der Fehler-Ordner in meinem Amazon S3-Bucket?

Im Fehlerordner werden Manifestdateien gespeichert, die Informationen über S3-Objekte enthalten, die nicht in Ihren Amazon Redshift-Cluster geladen werden konnten. Sie können diese Objekte über den Redshift-Befehl COPY manuell erneut laden. Informationen zum manuellen Verwenden des COPY-Befehls mit Manifestdateien finden Sie unter Verwenden einer Manifestdatei zur Angabe von Datendateien.

F: Wozu dient der Ordner "elasticsearch_failed" in meinem Amazon S3-Bucket?

Im Ordner „elasticsearch_failed“ werden die Dokumente gespeichert, die nicht in Ihre Amazon Elasticsearch-Domäne geladen werden konnten. Sie können diese Dokumente für einen manuellen Abgleich neu indizieren.

F: Wozu dient der Ordner "processing_failed" in meinem Amazon S3-Bucket?

Im Ordner "processing_failed" werden die Datensätze gespeichert, die nicht in Ihrer AWS Lambda-Funktion umgewandelt werden konnten. Sie können diese Datensätze manuell erneut verarbeiten.

F: Wie überwache ich Betrieb und Leistung meines Amazon Kinesis Data Firehose-Lieferdatenstroms?

Die Firehose-Konsole zeigt die wichtigsten Betriebs- und Leistungsmetriken an, wie etwa eingehendes Datenvolumen und geliefertes Datenvolumen. Amazon Kinesis Data Firehose ist auch in Amazon CloudWatch-Metriken integriert, sodass Sie Metriken für die Lieferdatenströme sammeln, anzeigen und analysieren können. Weitere Informationen zu Amazon Kinesis Data Firehose-Metriken finden Sie im Entwicklerhandbuch von Amazon Kinesis Data Firehose unter Monitoring with Amazon CloudWatch Metrics.

F: Wie überwache ich fehlgeschlagene Datenumwandlungen und -lieferungen im Amazon Kinesis Data Firehose-Lieferdatenstrom?

Amazon Kinesis Data Firehose ist in Amazon CloudWatch Logs integriert. Bei einer fehlgeschlagenen Datenumwandlung oder -lieferung können Sie die zutreffenden Fehlerprotokolle überprüfen. Die Fehlerprotokollierung aktivieren Sie beim Erstellen des Lieferdatenstroms. Weitere Informationen finden Sie im Entwicklerhandbuch von Amazon Kinesis Data Firehose unter Monitoring with Amazon CloudWatch Logs.

F: Wie kann ich den Zugriff auf meinen Amazon Kinesis Data Firehose-Lieferdatenstrom verwalten und steuern?

Amazon Kinesis Data Firehose ist mit AWS Identity and Access Management integriert, einem Service, mit dessen Hilfe Sie den Zugriff auf Ihre AWS-Services und -Ressourcen für Ihre Benutzer sicher steuern können. Sie können zum Beispiel eine Richtlinie einrichten, der zufolge nur ein bestimmter Benutzer bzw. eine Gruppe dem Amazon Kinesis Firehose-Lieferdatenstrom Daten hinzufügen darf. Weitere Informationen zu Zugriffsverwaltung und -steuerung Ihres Streams finden Sie unter Zugriffssteuerung mit Amazon Kinesis Data Firehose .

F: Wie kann ich API-Aufrufe an meinen Amazon Kinesis Data Firehose-Lieferdatenstrom für Sicherheitsanalysen und für die Fehlerbehebung protokollieren?

Amazon Kinesis Data Firehose ist in AWS CloudTrail integriert, einem Service, der Aufrufe von AWS-APIs für Ihr Konto aufzeichnet und Protokolldateien an Sie übermittelt. Weitere Informationen zur Protokollierung von API-Aufrufen sowie eine Liste der unterstützten Amazon Kinesis Data Firehose-API-Vorgänge finden Sie unter Protokollieren von Kinesis Data Firehose-API-Aufrufen mit AWS CloudTrail.

Preise und Abrechnung

F: Ist Kinesis Data Firehose über das kostenlose Nutzungskontingent für AWS verfügbar?

Nein. Kinesis Data Firehose fällt derzeit nicht unter das kostenlose Nutzungskontingent für AWS. Das kostenlose Kontingent für AWS ist ein Programm, das einen kostenlosen Test bestimmter AWS-Services bietet. Weitere Informationen finden Sie unter Kostenloses Nutzungskontingent für AWS.

F: Wie viel kostet Kinesis Data Firehose?

Für Kinesis Data Firehose fallen nutzungsabhängige Gebühren an. Es gibt weder Vorlaufkosten noch Mindestgebühren. Sie zahlen nur für die Ressourcen, die Sie tatsächlich nutzen. Die Preise für Amazon Kinesis Data Firehose basieren auf dem Datenvolumen (GB), das Firehose aufnimmt, wobei jeder Datensatz auf die nächsten 5 KB aufgerundet wird. Weitere Informationen zu den Kosten von Amazon Kinesis Data Firehose finden Sie unter Amazon Kinesis Data Firehose – Preise.

F: Wie wird die 5-KB-Aufrundung berechnet, wenn ich den Vorgang PutRecordBatch verwende, um Daten an Amazon Kinesis Data Firehose zu senden?

Die 5-KB-Aufrundung wird auf Datensatzebene, nicht auf API-Vorgangsebene berechnet. Wenn Ihr PutRecordBatch-Aufruf zum Beispiel zwei 1-KB-Datensätze enthält, wird dieses Datenvolumen als 10 KB gezählt. (5 KB pro Datensatz)

F: Beinhalten die Kinesis Data Firehose-Kosten auch die Gebühren für Amazon S3, Amazon Redshift, Amazon Elasticsearch Service und AWS Lambda?

Nein, Gebühren für die Nutzung von Amazon S3, Amazon Redshift, Amazon Elasticsearch Service und AWS Lambda einschließlich Speicher- und Anforderungskosten werden separat berechnet. Weitere Informationen finden Sie auf den Seiten mit der Preisübersicht zu Amazon S3, Amazon Redshift, Amazon Elasticsearch Service und AWS Lambda.

Service Level Agreement

F: Was garantiert mir der Amazon Kinesis Data Firehose-SLA?

Unser Amazon Kinesis Data Firehose-SLA garantiert für Amazon Kinesis Data Firehose einen monatlichen Verfügbarkeitsprozentsatz von mindestens 99,9 %.

F: Wie erfahre ich, ob ich zu einer Gutschrift aus dem SLA berechtigt bin?

Sie kommen für eine SLA-Gutschrift für Amazon Kinesis Data Firehose im Rahmen der Amazon Kinesis Data Firehose-SLA in Frage, wenn mehr als eine Availability Zone, in der Sie eine Aufgabe ausführen, innerhalb derselben Region während eines beliebigen monatlichen Abrechnungszyklus einen monatlichen Verfügbarkeitsprozentsatz von weniger als 99,9 % aufweist.

Ausführliche Informationen zu allen Bestimmungen des SLA sowie Einzelheiten zur Geltendmachung eines Anspruchs finden Sie auf der Seite zum Amazon Kinesis Data Firehose-SLA.

Weitere Informationen zur Preisgestaltung von Amazon Kinesis Data Firehose

Zur Seite mit den Preisen
Sind Sie startbereit?
Registrieren
Haben Sie Fragen?
Kontakt