Kostenlos bei AWS einsteigen

Kostenloses Konto erstellen

Erhalten Sie 12 Monate lang Zugriff auf das kostenlose Nutzungskontingent von AWS sowie AWS Support-Funktionen der Stufe ''Basic'' mit Kundenservice rund um die Uhr, Support-Foren und vielen weiteren Vorteilen. Amazon Kinesis Data Firehose fällt derzeit nicht unter das kostenlose Nutzungskontingent für AWS.


F: Was ist Amazon Kinesis Data Firehose?

Amazon Kinesis Data Firehose bietet die einfachste Methode zum Laden von Streaming-Daten in Datenspeicher und Analyse-Tools. Kinesis Data Firehose kann Streaming-Daten aufzeichnen, umwandeln und in Amazon S3, Amazon Redshift, Amazon Elasticsearch Service und Splunk laden. Analysen mit Ihren vorhandenen Business Intelligence-Tools und Dashboards sind dadurch nahezu in Echtzeit möglich. 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 verwaltet Amazon Kinesis Data Firehose für mich?

Amazon Kinesis Data Firehose verwaltet die gesamte zugrundeliegende 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 brauchen sich keine Gedanken über Bereitstellung, laufende Wartung von Hardware, Software zu machen oder andere Anwendungen zur Verwaltung dieses Prozesses zu schreiben. Firehose skaliert auch elastisch ohne Eingriffe und erfordert keinerlei Entwickleraufwand in diesem Zusammenhang. Außerdem repliziert Amazon 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 Amazon Kinesis Data Firehose?

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

  • Erstellen Sie einen Amazon Kinesis Data Firehose-Lieferdatenstrom ü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 Lieferdatenstrom senden.
  • Firehose lädt Ihre Daten automatisch und kontinuierlich zu den von Ihnen angegebenen Zielen.

F: Was ist eine Quelle?

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, ein Sensor auf einem IoT-Gerät oder ein Kinesis-Datenstrom. 

F: Welche Komponenten umfasst Amazon Kinesis Data Firehose?

Der Durchsatz eines Amazon Kinesis Data Firehose-Lieferdatenstroms ist so konzipiert, dass er unbegrenzt skaliert werden kann. Allerdings gibt es gewisse Limits, die Sie bei der Nutzung von Amazon Kinesis Firehose berücksichtigen müssen.

  • Die maximale Größe eines an Firehose gesendeten Datensatzes vor der Base64-Kodierung beträgt 1000 KB.
  • Die API-Vorgänge CreateDeliveryStream(), DeleteDeliveryStream(), DescribeDeliveryStream(),ListDeliveryStreams() und UpdateDestination() können bis zu 5 Transaktionen pro Sekunde liefern.
  • Jeder Lieferdatenstrom speichert Datensätze für bis zu 24 Stunden, falls das Lieferziel nicht verfügbar ist.
  • Der Vorgang PutRecordBatch() kann pro Aufruf bis zu 500 Datensätze oder 4 MB aufnehmen, je nachdem, welcher Wert kleiner ist.
  • Die Puffergröße reicht von 1 MB bis zu 128 MB. Die Größenschwelle wird vor der Komprimierung auf den Puffer angewendet.
  • Das Pufferintervall reicht von 60 Sekunden bis zu 900 Sekunden.

Jedes Konto kann pro AWS-Region bis zu 20 Lieferdatenströme haben. Jeder Lieferdatenstrom kann bis zu 2.000 Transaktionen/Sekunde, 5.000 Datensätze/Sekunde und 5 MB/Sekunde aufnehmen. Diese beiden Limits können sehr einfach erhöht werden, indem ein Formular zum Erhöhen von Servicegrenzwerten eingereicht wird.

 

 

 

F: Was ist ein Lieferdatenstrom?

Ein Lieferdatenstrom ist die zugrunde liegende Entität von Amazon Kinesis Data Firehose. Sie verwenden Firehose, indem Sie einen Lieferdatenstrom erstellen und dann Daten dorthin senden.

F: Was ist ein Datensatz?

Ein Datensatz sind die Daten von Interesse, die Ihr Datenproduzent an einen Lieferdatenstrom sendet. Die maximale Größe eines Datensatzes (vor der Base64-Kodierung) beträgt 1000 KB.

F: Was ist ein Ziel?

Ein Ziel ist der Datenspeicher, an den Ihre Daten geliefert werden. Amazon Kinesis Data Firehose unterstützt aktuell als Ziele Amazon S3, Amazon Redshift, Amazon Elasticsearch Service und Splunk.

 

 

 

F: Wie erstelle ich einen Lieferdatenstrom?

Sie können einen Amazon Kinesis Data Firehose-Lieferdatenstrom über die Firehose-Konsole oder den Vorgang CreateDeliveryStream erstellen. Weitere Informationen finden Sie unter Erstellen eines Lieferdatenstroms.

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 in CloudWatch Logs finden Sie im Abschnitt Subscription Filters with Amazon Kinesis Data Firehose im Amazon CloudWatch Logs Benutzerhandbuch.  

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

Bei Amazon Kinesis Data Firehose können Sie Ihre Daten verschlüsseln, nachdem sie an Ihren Amazon S3-Bucket geliefert wurden. Wenn Sie Ihren Lieferdatenstrom 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: Was ist Datenumwandlung mit Lambda?

Firehose kann eine AWS Lambda-Funktion für die Umwandlung eingehender Daten vor der Bereitstellung zu den Zielen aufrufen. Sie können eine neue Lambda-Funktion mithilfe eined der angegebenen Lambda-Blueprints konfigurieren oder eine vorhandene Lambda-Funktion auswählen.

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.

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 bedeuten die Begriffe "Puffergröße" und "Pufferintervall"?

Amazon Kinesis Data Firehose puffert ankommende Streaming-Daten bis zu einer bestimmten Größe oder für einen bestimmten Zeitraum, bevor sie an die Ziele geliefert werden. Sie können Puffergröße und Pufferintervall beim Einrichten Ihres Lieferdatenstroms konfigurieren. Die Puffergröße liegt im MB-Bereich und kann für Amazon S3 als Ziel zwischen 1 und 128 MB und für Amazon Elasticsearch Service zwischen 1 MB und 100 MB betragen. Das Pufferintervall wird in Sekunden angegeben und reicht von 60 Sekunden bis 900 Sekunden. Wenn 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.

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: Welche IAM-Rolle muss ich angeben, wenn ich einen Lieferdatenstrom einrichte?

Amazon 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 Amazon Kinesis Data Firehose unter Controlling Access with Amazon Kinesis Data Firehose.

F: Über welche Berechtigung muss der Amazon Redshift-Benutzer verfügen, den ich beim Einrichten eines Lieferdatenstroms 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 einem VPC befindet, müssen Sie Amazon Kinesis Data Firehose Zugriff auf Ihren Redshift-Cluster gewähren, indem Sie die Firehose-IP-Adressen in Ihrem VPC entsperren. Firehose verwendet derzeit einen CIDR-Block für jede verfügbare AWS-Region: 52.70.63.192/27 für US East (Nord-Virginia), 52.89.255.224/27 für USA West (Oregon) und 52.19.239.192/27 für die EU (Irland). Informationen zum Entsperren von IPs auf 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?

Amazon Kinesis Data Firehose kann Ihren Amazon Elasticsearch Service-Index zeitraumabhängig rotieren. Diesen Zeitraum können Sie beim Erstellen des Lieferdatenstreams konfigurieren. Weitere Informationen finden Sie im Entwicklerhandbuch von Amazon Kinesis Data Firehose unter Index Rotation for the Amazon ES 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 Amazon 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.

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

Amazon Kinesis Data Firehose ermöglicht Ihnen, eine AWS Lambda-Funktion für die Vorbereitung und Umwandlung eingehender Rohdaten in Ihrem Lieferdatenstrom 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.

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: Welche Lambda-Blueprints sind für die Vorbereitung und Umwandlung von Daten verfügbar?

Firehose bietet folgende Lambda-Blueprints, die Sie verwenden können, um Ihre Lambda-Funktion für die Datenumwandlung zu erstellen:

  • General Firehose Processing: Dieser Blueprint enthält das Datenumwandlungs- und Statusmodell wie oben beschrieben. Verwenden Sie diesen Blueprint für benutzerdefinierte Umwandlungslogik.
  • Apache Log to JSON: Dieser Blueprint analysiert und konvertiert Apache-Protokollzeilen in JSON-Objekte mit vordefinierten JSON-Feldnamen.
  • Apache Log to CSV: Dieser Blueprint analysiert und konvertiert Apache-Protokollzeilen in das CSV-Format.
  • Syslog to JSON: Dieser Blueprint analysiert und konvertiert Syslog-Zeilen in JSON-Objekte mit vordefinierten JSON-Feldnamen.
  • Syslog to CSV: Dieser Blueprint analysiert und konvertiert Syslog-Zeilen in das CSV-Format.

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

Ja, 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 füge ich Daten einem Amazon Kinesis Data Firehose-Lieferdatenstrom hinzu?

Sie können einem Amazon Kinesis Data Firehose-Lieferdatenstrom über Amazon Kinesis Agent oder über die Firehose-Vorgänge PutRecord und PutRecordBatch hinzufügen. Kinesis Data Firehose ist auch mit anderen AWS-Datenquellen wie Kinesis Data Streams, AWS IoT, Amazon CloudWatch Logs und Amazon CloudWatch Events integriert.

F: Was ist Amazon Kinesis Agent?

Amazon Kinesis Agent ist eine fertige Java-Anwendung, die eine einfache Methode zur Erfassung von Daten und zum Senden dieser Daten in Ihren Lieferdatenstrom 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 Lieferdatenstrom. Weitere Informationen finden Sie unter Schreiben mit Agenten

F: Welche Plattformen unterstützt Amazon Kinesis Agent?

Amazon Kinesis Agent unterstützt derzeit Amazon Linux und Red Hat Enterprise Linux.

F: Wo bekomme ich Amazon Kinesis Agent?

Sie können Amazon 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

F: Wie verwende ich Amazon Kinesis Agent?

Nach dem Installieren von Amazon Kinesis Agent auf Ihren Servern können Sie das Programm so konfigurieren, dass es bestimmte Dateien auf einer Festplatte überwacht und neue Daten dann kontinuierlich zu ihrem Lieferdatenstrom sendet. Weitere Informationen finden Sie unter Schreiben mit Agenten

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

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: Welche Programmiersprachen oder Plattformen kann ich verwenden, um auf die Amazon Kinesis Data Firehose-API zuzugreifen?

Die Amazon 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: Wie füge ich meinem Firehose-Lieferdatenstrom aus meinem Kinesis-Datenstrom Daten hinzu?

Wenn Sie Ihren Lieferdatenstrom über die AWS-Konsole oder Firehose-APIs erstellen oder aktualisieren, können Sie einen Kinesis-Datenstrom als Quelle Ihres Lieferdatenstroms 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 Lieferdatenstroms konfiguriert ist?

Kinesis Data Firehose liest Daten von der LETZTEN Position Ihres Kinesis-Datenstroms, wenn es als Quelle eines Lieferdatenstroms 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-Lieferdatenströ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 Lieferdatenstrom hinzufügen, wenn mein Kinesis-Datenstrom als Quelle konfiguriert ist?

Nein, das ist nicht möglich. Ist ein Kinesis-Datenstrom als Quelle eines Firehose-Lieferdatenstroms 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 Lieferdatenstrom 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 Lieferdatenstrom aus CloudWatch Logs Daten hinzu?

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

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

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

 

F: Wie häufig liefert Amazon 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 Liefer-Stream konfiguriert haben. Amazon 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 die Datenlieferung an das Ziel langsamer erfolgt, als Daten dem Lieferdatenstrom 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: Wie häufig liefert Amazon Kinesis Data Firehose Daten an mein Amazon Redshift-Cluster?

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. Die Häufigkeit der COPY-Vorgänge für Daten von Amazon S3 nach Amazon Redshift wird davon bestimmt, wie schnell Ihr Redshift-Cluster den COPY-Befehl abschließen kann. Falls weiterhin zu kopierende Daten vorhanden sind, gibt Firehose einen neuen COPY-Befehl aus, sobald der vorherige COPY-Befehl erfolgreich von Ihrem Redshift-Cluster abgeschlossen wurde.

F: Wie häufig liefert Amazon 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 Liefer-Stream 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 Amazon Elasticsearch ausgelöst wird. Wenn die Datenlieferung an das Ziel langsamer erfolgt, als Daten dem Lieferdatenstrom 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: Wie werden Daten in meinem Amazon S3-Bucket organisiert?

Amazon Kinesis Data Firehose fügt einen UTC-Uhrzeitpräfix im Format JJJJ/MM/TT/HH hinzu, bevor Objekte in Amazon S3 abgelegt werden. Der Präfix wird in eine Amazon S3-Ordnerstruktur übersetzt, wo jedes, durch einen Schrägstrich (/) abgeteilte Etikett ein Unterordner wird. Sie können diese Ordnerstruktur ändern, indem Sie Ihren eigenen übergeordneten Ordner mit einem Schrägstrich voranstellen (zum Beispiel meineApp/JJJJ/MM/TT/HH) oder indem Sie dem obersten Ordner mit der Jahresangabe JJJJ Text voranstellen (zum Beispiel meineApp JJJJ/MM/TT/HH). Dies erreichen Sie durch Angabe eines S3-Präfixes, wenn Sie Ihren Lieferdatenstrom einrichten.

F: Nach welchem Muster werden die von Amazon Kinesis Data Firehose gelieferten Amazon S3-Objekte benannt?

Der Name des Amazon S3-Objekts folgt dem Muster DeliveryStreamName-DeliveryStreamVersion-JJJJ-MM-TT-HH-MM-SS-BeliebigerText, wobei DeliveryStreamVersion mit einer 1 beginnt und für jede Konfigurationsänderung am Lieferdatenstrom um 1 erhöht wird. Sie können Lieferdatenstrom-Konfigurationen (zum Beispiel den Namen des S3-Buckets, Puffer-Hinweise, Komprimierung und Verschlüsselung) über die Firehose-Konsole oder mit dem Vorgang UpdateDestination ändern.

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 Lieferdatenstroms. 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 Lieferdatenströme einrichten.

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

Ein einzelner Liefer-Stream 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 geliefert werden sollen, können Sie mehrere Lieferdatenströme einrichten.

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 Servicegrenzwerten 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 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, werden die Daten verworfen.

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 60 Minuten lang. Nach 60 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 wird Ihrem S3-Bucket als Manifestdatei im Fehlerordner geliefert, 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 Liefer-Streams 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 speziellen Fehlerprotokolle überprüfen. Die Fehlerprotokollierung aktivieren Sie beim Erstellen des Liefer-Streams. 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 Zugriffskontrolle 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 Amazon CloudTrail integriert, einen 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 Logging Amazon Kinesis API calls Using Amazon CloudTrail.

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

Nein. Amazon 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 Amazon Kinesis Data Firehose?
Für Amazon 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 Amazon 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 S3Amazon Redshift, Amazon Elasticsearch Service und AWS Lambda.