AWS を無料で試す

今すぐ無料でお試し

12 か月間の AWS 無料利用枠と、24 時間年中無休のカスタマーサービスやサポートフォーラムなどの AWS の基本的なサポート機能を利用できます。現在、Amazon Kinesis は AWS 無料利用枠の対象になっていません。


Q: Amazon Kinesis Firehose とは何ですか?

Amazon Kinesis Firehose は、ストリーミングデータを AWS にロードする最も簡単な方法です。ストリーミングデータをキャプチャして変換し、Amazon S3Amazon RedshiftAmazon Elasticsearch Service にロードして、現在お使いのビジネスインテリジェンスツールやダッシュボードでほぼリアルタイムに分析することができます。完全マネージド型サービスのため、データスループットに応じて自動的にスケールされ、継続的な管理は不要です。ロード前にデータのバッチ処理、圧縮処理、暗号化が行われるため、送信先でのストレージ量を最小化し、セキュリティを強化できます。

 

Q: Amazon Kinesis Firehose では何が管理されますか?

Amazon Kinesis Firehose では、データをキャプチャして Amazon S3Amazon Redshift、または Amazon Elasticsearch Service にロードするのに必要な、基盤となるインフラストラクチャ、ストレージ、ネットワーキング、設定すべてが管理されます。このプロセスを管理するのに必要なハードウェア、ソフトウェア、その他のアプリケーションのプロビジョニング、デプロイメント、継続的なメンテナンスについて心配する必要はありません。また、Firehose では柔軟なスケーリングが可能であり、何らかの操作や、関係する開発者のオーバーヘッドは不要です。さらに、Amazon Kinesis Firehose では、同じ AWS リージョン内にある 3 つの拠点でデータが同期レプリケートされるため、データを転送する際に高い可用性と耐久性を確保できます。

Q: Amazon Kinesis Firehose を使用するにはどうすればよいですか?

アマゾン ウェブ サービスからサインアップ後、以下の手順を実行して Amazon Kinesis Firehose の使用を開始できます。

  • Firehose コンソールまたは CreateDeliveryStream オペレーションを利用して Amazon Kinesis Firehose デリバリーストリームを作成します。 デリバリーストリーム内に AWS Lambda 関数を構成して、生データを作成および変換してからデータをロードすることもできます。
  • Amazon Kinesis Agent または Firehose API を使用して、デリバリーストリームにデータを継続的に送信するようデータ生成元を設定します。
  • Firehose により、指定した送信先に対してデータが自動的かつ継続的にロードされます。

Q: Amazon Kinesis Firehose の制限事項は何ですか?

Amazon Kinesis Firehose デリバリーストリームのスループットは、制限なしにスケールされるように設計されています。ただし、Firehose を使用するときに留意する必要のある特定の制限があります。

  • Firehose に送信できるレコードの最大サイズは、Base64 エンコーディング前で、1000 KB です。
  • CreateDeliveryStream()、DeleteDeliveryStream()、DescribeDeliveryStream()、ListDeliveryStreams()、UpdateDestination() などの API オペレーションでは、毎秒 5 件のトランザクションが可能です。
  • 送信先で受信されない場合に備えて、各デリバリーストリームのデータレコードは最長 24 時間保存されます。
  • PutRecordBatch() オペレーションでは、1 回の呼び出しでレコード 500 件分または 4 MB 分のどちらか小さい方まで取り込むことが可能です。
  • バッファサイズの範囲は 1 MB から 128 MB です。サイズのしきい値は圧縮処理前にバッファに適用されます。
  • バッファ間隔は 60 秒から 900 秒です。

デフォルトでは、1 つのアカウントで各 AWS リージョンあたり 20 のデリバリーストリームを利用できます。各デリバリーストリームでは、最大で、毎秒 2,000 件のトランザクション、毎秒 5,000 件および毎秒 5 MB のレコードを取り込むことが可能です。これら 2 つの制限は、サービス上限緩和申請を提出することにより簡単に引き上げることができます。

 

 

 

Q: デリバリーストリームとは何ですか?

デリバリーストリームは Amazon Kinesis Firehose の基盤となるエンティティです。デリバリーストリームを作成し、そこにデータを送信することにより、Firehose を利用できます。

Q: レコードとは何ですか?

レコードはデータ生成元がストリームに送信する、処理対象のデータです。レコードの最大サイズは、Base64 エンコーディング前で、1000 KB です。

Q: 送信先とは何ですか?

送信先はデータが配信されるデータストアです。Amazon Kinesis Firehose では、現在送信先として Amazon S3、Amazon Redshift、Amazon Elasticsearch Service がサポートされています。

 

 

 

Q: デリバリーストリームを作成するには、どうすればよいですか?

Firehose コンソールまたは CreateDeliveryStream オペレーションを使用して Amazon Kinesis Firehose デリバリーストリームを作成できます。詳細については、「デリバリーストリームの作成」を参照してください。

Q: どの圧縮形式が利用できますか?

Amazon Kinesis Firehose では、Amazon S3 にデータを配信する前にデータを圧縮することが可能です。このサービスでは現在、GZIP、ZIP、および SNAPPY 圧縮形式がサポートされています。さらにデータを Amazon Redshift にロードする場合は、GZIP のみがサポートされています。

Q: どのような暗号化を利用できますか?

Amazon Kinesis Firehose では、Amazon S3 バケットに送信された後にデータを暗号化することが可能です。デリバリーストリームを作成する際に、お客様が所有する AWS Key Management Service (KMS) キーによるデータの暗号化を選択できます。KMS について詳しくは AWS Key Management Service を参照してください。.

Q: Lambda 関数によるデータ変換とはどのようなものですか?

Firehose では AWS Lambda 関数を呼び出すことで、受信データを変換してから送信先に送信することができます。新しい Lambda 関数は、提供されている Lambda 設計図を使用するか、既存の Lambda 関数から選択して構成できます。

Q: ソースレコードバックアップとは何ですか?

Lambda 関数によるデータ変換を使用する場合、ソースレコードバックアップを有効にすることができます。これにより、Amazon Kinesis Firehose は未変換の受信データを別の S3 バケットに送信します。Firehose によって生成される「YYYY/MM/DD/HH」形式の UTC 時刻の接頭辞の前に、別の接頭辞を追加することを指定できます。

Q: エラーログとは何ですか?

Lambda 関数によるデータ変換を使用する場合、Firehose は Lambda 呼び出しおよびデータ配信のすべてのエラーを Amazon CloudWatch Logs のログに記録することができます。これにより、Lambda 呼び出しまたはデータ配信が失敗した場合に、ユーザーは特定のエラーログを確認することができます。詳細については、「Amazon CloudWatch ログのモニタリング」を参照してください。

Q: バッファサイズとバッファ間隔とは何ですか?

Amazon Kinesis Firehose では、受信ストリーミングデータを送信先に送信する前に一定のサイズまたは一定の時間、バッファできます。バッファサイズとバッファ間隔は、デリバリーストリームの作成時に設定できます。バッファサイズは MB 単位で、送信先が Amazon S3 の場合は 1 MB~128 MB で、送信先が Amazon Elasticsearch Service である場合は 1 MB~100 MB です。バッファ間隔は、60 秒から 900 秒の間で 1 秒ごとに設定できます。送信先へのデータ配信が配信ストリームへのデータ書き込みより遅くなった場合、Firehose では、バッファサイズを動的に拡大して遅れを取り戻し、すべてのデータが送信先に配信されるようにします。

Q: データの圧縮を選択した場合、バッファサイズはどのように適用されますか?

バッファサイズは圧縮前に適用されます。そのため、データの圧縮を選択した場合、ご利用の Amazon S3 バケット内の対象データのサイズは、指定したバッファサイズよりも小さくすることが可能です。

Q: デリバリーストリームの作成時に指定する必要がある IAM ロールは何ですか?

Amazon Kinesis Firehose では、Amazon S3 バケットや Amazon Elasticsearch ドメインなどのリソースにアクセスするためにお客様が IAM ロールを指定することを前提としています。詳細は、Amazon Kinesis Firehose 開発者ガイドの Controlling Access with Amazon Kinesis Firehose をご覧ください。

Q: Amazon Redshift ユーザーには、デリバリーストリーム作成時にどのような権限を指定する必要がありますか?

Amazon Redshift ユーザーは、お客様のデータを Amazon S3 バケットから Redshift クラスターにコピーするために、Redshift INSERT 権限を持っている必要があります。

Q: Amazon Redshift クラスターが VPC 内にある場合はどのようにする必要がありますか?

お客様の Amazon Redshift クラスターが VPC 内にある場合は、VPC から Firehose の IP アドレスのブロックを解除して、Amazon Kinesis Firehose から Redshift クラスターにアクセスできるようにする必要があります。現在のところ Firehose は利用可能な各 AWS リージョンにつき 1 つの CIDR ブロックを使用しています。米国東部 (バージニア北部) リージョンは 52.70.63.192/27、米国西部 (オレゴン) リージョンは 52.89.255.224/27、欧州 (アイルランド) リージョンは 52.19.239.192/27 です。VPC に IP のブロックを解除する方法の詳細については、Amazon Kinesis Firehose 開発者ガイドの Grant Firehose Access to an Amazon Redshift Destination をご覧ください。

Q: Amazon Redshift を送信先として選択しているのに、Amazon S3 バケットを用意する必要があるのはなぜですか?

Amazon Redshift を送信先として選択した場合、Amazon Kinesis Firehose ではデータがまず Amazon S3 バケットに送信され、その後 Redshift COPY コマンドが実行されて、データが S3 バケットから Redshift クラスターにロードされます。

Q: Amazon Elasticsearch Service 送信先のインデックスのローテーションについて教えてください。

Amazon Kinesis Firehose では、時間範囲に基づいて、 Amazon Elasticsearch Service インデックスをローテーションさせることができます。デリバリーストリームの作成時にこの時間範囲を構成できます。詳細は、Amazon Kinesis Firehose 開発者ガイドの Index Rotation for the Amazon ES Destination をご覧ください。

Q: Amazon Elasticsearch Service を送信先として選択しているのに、Amazon S3 バケットを用意する必要があるのはなぜですか?

Amazon Elasticsearch Service にデータをロードする場合、Amazon Kinesis Firehose では、すべてのデータまたは配信に失敗したデータのみをバックアップできます。この機能を利用してデータの損失を防ぐためには、バックアップの Amazon S3 バケットを提供する必要があります。

Q: デリバリーストリームの作成後に設定を変更することはできますか?
デリバリーストリームの設定は、作成後いつでも変更することが可能です。設定を変更する場合は、Firehose コンソールまたは UpdateDestination オペレーションを実行します。設定を変更している間もお客様のデリバリーストリームは ACTIVE 状態のままですので、デリバリーストリームへのデータ送信は継続できます。変更後の設定は通常、数分で適用されます。

Q: Amazon Kinesis Firehose で生データを作成および変換するにはどうすればよいですか?

Amazon Kinesis Firehose では、ユーザーが AWS Lambda 関数を使用して、デリバリーストリーム内で受信する生データを作成および変換してからデータを送信先にロードすることができます。データ変換用の AWS Lambda 関数は、新たなデリバリーストリームを作成するとき、または既存のデリバリーストリームを編集するときに構成できます。

Q: AWS Lambda 関数で作成および変換したデータを Amazon Kinesis Firehose に戻すには、どうすればよいですか?

Lambda 関数で変換されたすべてのレコードは、以下の 3 つのパラメーターとともに Firehose に戻す必要があります。そうしないと Firehose はレコードを拒否してデータ変換エラーとして処理します。

  • recordId: Firehose は Lambda 関数の呼び出し中に、Lambda 関数に対して各レコードと一緒に recordId を渡します。変換された各レコードは、recordId を完全に同じ値に保ったまま返される必要があります。元の recordId と返された recordId が一致しない場合、データ変換エラーとして処理されます。 
  • result: 各レコードの変換結果のステータス。このパラメーターには次の値を使用できます。「Ok」: レコードが期待どおり正しく変換された場合。「Dropped」: ユーザーの処理ロジックによりレコードが期待どおりドロップされた場合。「ProcessingFailed」: レコードを期待どおりに変換することができなかった場合。Firehose は SucceedProcessing.Records および SucceedProcessing.Bytes メトリクスを作成するとき、「Ok」および「Dropped」ステータスで返されたレコードを処理成功レコードとして扱い、「ProcessingFailed」ステータスで返されたレコードを処理失敗レコードとして扱います。 
  • data: based64 エンコード後の変換済みデータペイロード。 

Q: データの作成と変換に使用できる Lambda 設計図にはどのようなものがありますか?

Firehose では、ユーザーがデータ変換用の Lambda 関数を作成するために使用できる次の Lambda 設計図が提供されています。

  • 一般的な Firehose 処理: この設計図には、上記のデータ変換およびステータスモデルが含まれています。この設計図はあらゆるカスタム変換ロジックに使用します。
  • Apache ログから JSON へ: この設計図は Apache ログ行を解析して JSON オブジェクトに変換し、事前定義された JSON フィールド名を使用します。
  • Apache ログから CSV へ: この設計図は Apache ログ行を解析して CSV 形式に変換します。
  • Syslog から JSON へ: この設計図は Syslog 行を解析して JSON オブジェクトに変換し、事前定義された JSON フィールド名を使用します。
  • Syslog から CSV へ: この設計図は Syslog 行を解析して CSV 形式に変換します。

Q: すべての生データのコピーを S3 バケットに保持できますか?

はい。Firehose では、変換されたレコードを送信先に送信するのと並行して、未変換のすべてのレコードを S3 バケットにバックアップすることができます。デリバリーストリームを作成または更新するときにソースレコードバックアップを有効にすることができます。

Q: Amazon Kinesis Firehose デリバリーストリームにデータを追加するにはどうすればよいですか?

Amazon Kinesis Firehose デリバリーストリームにデータを追加するには、Amazon Kinesis Agent または Firehose の PutRecord および PutRecordBatch オペレーションを使用します。

Q: Amazon Kinesis Agent とは何ですか?

Amazon Kinesis Agent は、データを収集してデリバリーストリームに送信する機能を簡単に実現する、事前に構築された Java アプリケーションです。このエージェントは、ウェブサーバー、ログサーバーおよびデータベースサーバーなど、Linux ベースのサーバー環境にインストールできます。エージェントによって特定のファイルがモニタリングされ、データが継続的にデリバリーストリームに送信されます。詳細については、Writing with Agents を参照してください。

Q: Amazon Kinesis Agent ではどのようなプラットフォームがサポートされていますか?

現在、Amazon Kinesis Agent では Amazon Linux と Red Hat Enterprise Linux がサポートされています。

Q: Amazon Kinesis Agent はどこから入手できますか?

次のコマンドを使用して Amazon Kinesis Agent をダウンロード、インストールできます。次のリンクを使用します。

Amazon Linux の場合: sudo yum install –y aws-kinesis-agent

Red Hat Enterprise Linux の場合: sudo yum install –y https://s3.amazonaws.com/streaming-data-agent/aws-kinesis-agent-latest.amzn1.noarch.rpm                                                   

GitHub から: awlabs/amazon-kinesis-agent

Q: Amazon Kinesis Agent を使用するにはどうすればよいですか?

Amazon Kinesis Agent をサーバーにインストールした後、ディスクの特定のファイルをモニタリングするように設定し、デリバリーストリームに継続して新しいデータを送信します。詳細については、Writing with Agents を参照してください。

Q: PutRecord オペレーションと PutRecordBatch オペレーションの違いは何ですか?

PutRecord オペレーションは、1 度の API 呼び出しで単一のデータレコードを許可し、PutRecordBatch オペレーションは、1 度の API 呼び出しで複数のデータレコードを許可します。詳細は PutRecordPutRecordBatch を参照してください。

Q: Amazon Kinesis Firehose API にアクセスするにはどのようなプログラミング言語とプラットフォームを使用できますか?

Amazon Kinesis Firehose API はアマゾン ウェブ サービス SDK で使用できます。アマゾン ウェブ サービス SDK 用のプログラミング言語またはプラットフォームのリストについては、「アマゾン ウェブ サービスのツール」を参照してください。

Q: Amazon Kinesis Firehose から Amazon S3 バケットにデータが配信される頻度はどのくらいですか?

Amazon S3 へのデータ配信頻度は、デリバリーストリーム作成時に設定された S3 バッファサイズとバッファ間隔値によって異なります。Amazon Kinesis Firehose では、Amazon S3 にデータを配信する前に受信データがバッファされます。S3 バッファサイズの値 (1 MB~128 MB) またはバッファ間隔 (60~900 秒) の値を構成し、Amazon S3 へのデータ配信を最初にトリガーするために満たす条件を構成できます。送信先へのデータ配信がデリバリーストリームへのデータの取り込みより遅くなった場合、Amazon Kinesis Firehose では、バッファサイズを自動的に拡大して遅れを取り戻し、すべてのデータが送信先に配信されるようにします。

Q: Amazon Kinesis Firehose から Amazon Redshift クラスターにデータが配信される頻度はどのくらいですか?

Amazon Redshift を送信先として選択した場合、Amazon Kinesis Firehose ではデータがまず Amazon S3 バケットに送信され、その後 Redshift COPY コマンドが実行されて、データが S3 バケットから Redshift クラスターにロードされます。Amazon S3 から Amazon Redshift へのデータ COPY オペレーションの頻度は、Redshift クラスターの COPY コマンド処理速度によって異なります。コピーするデータがまだ残っている場合、Firehose では、直前の COPY コマンドが Redshift クラスターで終了した後すぐに新たな COPY コマンドが実行されます。

Q: Amazon Kinesis Firehose から Amazon Elasticsearch ドメインにデータが配信される頻度はどのくらいですか?

Amazon Elasticsearch Service へのデータ配信頻度は、デリバリーストリーム作成時に設定された Elasticsearch バッファサイズとバッファ間隔値によって異なります。Firehose では、Amazon Elasticsearch Service にデータを配信する前に受信データがバッファされます。Elasticsearch バッファサイズの値 (1 MB~100 MB) またはバッファ間隔 (60~900 秒) の値を構成し、Amazon Elasticsearch Service へのデータ配信を最初にトリガーするために満たす条件を構成できます。送信先へのデータ配信がデリバリーストリームへのデータの取り込みより遅くなった場合、Amazon Kinesis Firehose では、バッファサイズを自動的に拡大して遅れを取り戻し、すべてのデータが送信先に配信されるようにします。

Q: Amazon S3 バケットではデータはどのように整理されますか?

Amazon Kinesis Firehose では、Amazon S3 に送信される前の対象データに、UTC 時間のプレフィックスが YYYY/MM/DD/HH の形式で追加されます。このプレフィックスにより、フォワードスラッシュ (/) で区切られた各ラベルがサブフォルダとなり、Amazon S3 のフォルダ構造に格納されます。任意の最上位フォルダとフォワードスラッシュを追加する (例: myApp/YYYY/MM/DD/HH)、または YYYY 最上位フォルダ名の前にテキストを追加する (例: myApp YYYY/MM/DD/HH) ことにより、フォルダ構造を変更できます。デリバリーストリーム作成時に S3 プレフィックスを指定することにより、上記の操作を行うことができます。

Q: Amazon Kinesis Firehose により配信された Amazon S3 オブジェクトの命名規則はどのようなものですか?

Amazon S3 オブジェクト名の命名規則は、DeliveryStreamName-DeliveryStreamVersion-YYYY-MM-DD-HH-MM-SS-RandomString です。DeliveryStreamVersion は 1 から始まり、デリバリーストリームの設定が変更されるたびに 1 ずつ増加していきます。Firehose コンソール または UpdateDestination オペレーションを利用して、デリバリーストリームの設定 (S3 バケット名、バッファリングヒント、圧縮、暗号化など) を変更できます。

Q: Amazon S3 バケットのマニフェストフォルダとは何ですか?

送信先が Amazon Redshift の場合、Redshift クラスターに Amazon S3 オブジェクトをまとめてロードするために、Amazon Kinesis Firehose にマニフェストファイルが作成されます。マニフェストフォルダには、Firehose により生成されたマニフェストファイルが格納されます。

Q: Amazon S3 バケットではバックアップされた Elasticsearch ドキュメントはどのように表示されますか?

“すべてのドキュメント” モードが使用されている場合、Amazon Kinesis Firehose によりデリバリーストリームのバッファリングに基づいて複数の受信レコードが連結され、S3 オブジェクトとして S3 バケットに配信されます。構成されているバックアップモードを問わず、失敗した文書は、エラーコード、配信試行回数などの追加情報を提供する特定の JSON 形式を使用して S3 バケットに配信されます。詳細は、Amazon Kinesis Firehose 開発者ガイドの Amazon S3 Backup for the Amazon ES Destination をご覧ください。

Q: 単一のデリバリーストリームで複数の Amazon S3 バケットにデータを配信することはできますか?

現在、単一のデリバリーストリームがデータを配信できるのは単一の Amazon S3 バケットに対してのみです。複数の S3 バケットにデータを配信したい場合は、複数のデリバリーストリームを作成できます。

Q: 単一のデリバリーストリームで複数の Amazon Redshift クラスターまたはテーブルにデータを配信することはできますか?

現在、単一のデリバリーストリームがデータを配信できるのは単一の Amazon Redshift クラスターまたはテーブルのみです。複数の Redshift クラスターまたはテーブルにデータを配信したい場合は、複数のデリバリーストリームを作成できます。

Q: 単一のデリバリーストリームで複数の Amazon Elasticsearch Service ドメインまたはインデックスにデータを配信することはできますか?

現在、単一のデリバリーストリームがデータを配信できるのは単一の Amazon Elasticsearch Service ドメインおよびインデックスのみです。複数の Amazon Elasticsearch ドメインまたはインデックスにデータを配信したい場合は、複数のデリバリーストリームを作成できます。

Q: Amazon Kinesis Firehose デリバリーストリームにデータを送信する際にスロットルされるのはなぜですか?

初期設定では、各デリバリーストリームでは、毎秒 2,000 件のトランザクション、毎秒 5,000 件および毎秒 5 MB のレコードの取り込みが可能です。この制限は、サービス上限緩和申請を提出することにより簡単に引き上げることができます。

Q: Amazon S3 のバケットまたは Amazon Redshift のテーブルまたは Amazon Elasticsearch インデックスに重複したレコードがあるのはなぜですか?

Amazon Kinesis Firehos では、データの配信に少なくとも 1 回のセマンティクスが使用されます。データの配信のリクエストの試行がタイムアウトして、配信が Firehose によって再試行されるなど、ごくまれに以前のリクエストが実行されて重複が発生する場合があります。 

Q: Amazon S3 バケットへのデータ配信が失敗した場合は、どうなりますか?

Amazon S3 バケットへのデータ配信が失敗した場合、Amazon Kinesis Firehose では、最大 24 時間 5 秒ごとにデータの配信が再試行されます。24 時間の保持期間が経過しても問題が継続する場合、データは破棄されます。

Q: Amazon Redshift クラスターへのデータ配信が失敗した場合は、どうなりますか?

Amazon Redshift クラスターへのデータ配信が失敗した場合、Amazon Kinesis Firehose では、最大 60 分間 5 分ごとにデータの配信が再試行されます。60 分後、Amazon Kinesis Firehose では COPY の準備が整っている S3 オブジェクトの現在のバッチがスキップされ、次のバッチの処理に進みます。スキップされたオブジェクトに関する情報はエラーフォルダ内のマニフェストファイルとして S3 バケットに送信されるため、手動によるバックフィルに使用できます。マニフェストファイルを使って手動でデータをコピーする方法について詳しくは「マニフェストを使用してデータファイルを特定する」を参照してください。

Q: Amazon Elasticsearch ドメインへのデータ配信が失敗した場合は、どうなりますか?

送信先が Amazon Elasticsearch Service である場合、デリバリーストリームの作成時に 0~7200 秒の間再試行期間を指定することができます。Amazon ES ドメインへのデータ配信が失敗した場合、Amazon Kinesis Firehose では、指定された期間にデータ配信が再試行されます。再試行期間の経過後は、Amazon Kinesis Firehose ではデータの現在のバッチをスキップし、次のバッチの処理に進みます。スキップされたドキュメントに関する情報は elasticsearch_failed フォルダ内の S3 バケットに送信されるため、手動によるバックフィルに使用できます。

Q: データ変換に失敗した場合はどうなりますか?

Firehose がデータ変換のための Lambda 関数を呼び出す場合、2 つのタイプの失敗シナリオがあります。

  • 最初のタイプは、ネットワークのタイムアウトに到達して Lambda の呼び出し制限に達したなどの理由で関数の呼び出しが失敗する場合です。これらの失敗シナリオでは、Firehose はデフォルトで呼び出しを 3 回再試行し、そのあと問題のレコードの集合をスキップします。スキップされたレコードは処理失敗レコードとして扱われます。呼び出しの再試行回数は、CreateDeliveryStream API および UpdateDeliveryStream API を使用して 0 から 300 の間で設定できます。このタイプの失敗では、Firehose のエラーログ機能を使用して、呼び出しエラーを CloudWatch Logs に書き出すことができます。詳細については、「Amazon CloudWatch ログのモニタリング」を参照してください。
  • 2 つ目のタイプの失敗シナリオは、レコードが Lambda 関数から返されるときにレコードの変換結果が「ProcessingFailed」に設定される場合に発生します。Firehose はこれらのレコードを処理失敗レコードとして扱います。このタイプの失敗では、Lambda 関数のログ機能を使用して、エラーログを CloudWatch Logs に書き出すことができます。詳細については、「Accessing Amazon CloudWatch Logs for AWS Lambda」を参照してください。

どちらのタイプの失敗シナリオでも、処理失敗レコードは S3 バケットの processing_failed フォルダに送信されます。

Q: 配信された S3 オブジェクトのサイズが配信ストリーム設定で指定したバッファサイズより大きくなるのはなぜですか?

バッファ間隔の条件より先にバッファサイズの条件が満たされている場合はほとんど、配信された S3 オブジェクトのサイズが指定されたバッファサイズを反映します。ただし、送信先へのデータ配信が配信ストリームへのデータ書き込みより遅くなった場合、Firehose では、バッファサイズを動的に拡大して遅れを取り戻し、すべてのデータが送信先に配信されるようにします。このような場合、配信された S3 オブジェクトのサイズが指定されたバッファサイズより大きくなる可能性があります。

Q: Amazon S3 バケットにあるエラーフォルダとは何ですか?

エラーフォルダには、Amazon Redshift クラスターにロードできなかった S3 オブジェクトについての情報が格納されたマニフェストファイルが保存されます。Redshift COPY コマンドを使用して、これらのオブジェクトを手動で再ロードできます。マニフェストファイルを使って手動でデータをコピーする方法について詳しくは「マニフェストを使用してデータファイルを特定する」を参照してください。

Q: Amazon S3 バケットにある elasticsearch_failed フォルダとは何ですか?

elasticsearch_failed フォルダには、Amazon Elasticsearch ドメインへのロードに失敗したドキュメントが保存されます。バックフィルのために手動でこれらのドキュメントのインデックスを再作成することができます。 

Q: Amazon S3 バケットにある processing_failed フォルダとは何ですか?

processing_failed フォルダは AWS Lambda 関数で変換に失敗したレコードが保管されるフォルダです。これらのレコードは再度手動で処理することができます。

Q: Amazon Kinesis Firehose デリバリーストリームの動作とパフォーマンスをモニタリングするにはどうすればいいですか?

Firehose コンソールには、受信データボリュームや配信データボリュームなど、主要な動作とパフォーマンスのメトリクスが表示されます。また Amazon Kinesis Firehose は Amazon CloudWatch メトリクスとも統合できるため、デリバリーストリームのメトリクスを収集、表示、分析することができます。Amazon Kinesis Firehose のメトリクスの詳細については、Amazon Kinesis Firehose 開発者ガイドの Amazon CloudWatch メトリクスのモニタリングをご覧ください。

Q: Amazon Kinesis Firehose デリバリーストリームのデータ変換および送信障害をモニタリングするにはどうすればいいですか?

Amazon Kinesis Firehose は Amazon CloudWatch ログと統合されているため、データの変換または送信が失敗した場合に特定のエラーログを確認できます。デリバリーストリームの作成時にエラーログを有効にすることができます。詳細は、Amazon Kinesis Firehose 開発者ガイドの Amazon CloudWatch ログのモニタリングをご覧ください。

Q: Amazon Kinesis Firehose デリバリーストリームへのアクセスを管理および制御する方法を教えてください。

Amazon Kinesis Firehose は、AWS の各種サービスとリソースへのユーザーアクセスを安全に制御できるサービスである AWS Identity and Access Management に統合されています。例えば、特定のユーザーまたはグループのみに Firehose デリバリーストリームへのデータの追加を許可するポリシーを作成できます。ストリームのアクセスの管理と制御に関する詳細については、「Amazon Kinesis Firehose へのアクセスを制御する」を参照してください。

Q: セキュリティの分析と動作のトラブルシューティングのために Amazon Kinesis Firehose デリバリーストリームに対して行われた API 呼び出しのログを記録する方法を教えてください。

Amazon Kinesis Firehose は、ユーザーのアカウントに対する AWS API の呼び出しを記録してログファイルを提供するサービスである Amazon CloudTrail と統合しています。API 呼び出しのログおよびサポートされる Amazon Kinesis Firehose API のリストの詳細については、Amazon CloudTrail を使用した Kinesis Firehose API 呼び出しのログ記録を参照してください。

Q: Amazon Kinesis Firehose は AWS 無料利用枠の対象ですか?

いいえ。現時点で、Amazon Kinesis Firehose は AWS 無料利用枠の対象になっていません。AWS 無料利用枠は、AWS の各種サービスのグループの試用を無料で提供するプログラムです。詳細については、AWS 無料利用枠を参照してください。

Q: Amazon Kinesis Firehose の費用はどれくらいですか?
Amazon Kinesis Firehose はシンプルな従量課金制です。前払い料金や最低料金はなく、使用したリソースに対してのみお支払いいただきます。Amazon Kinesis Firehose の料金は、Firehose に取り込まれたデータボリューム (GB) にもとづいています。各レコードのボリュームは、最も近い 5 KB に切り上げた数値となります。Amazon Kinesis Firehose の費用の詳細については、Amazon Kinesis Firehose の料金表を参照してください。

Q: PutRecordBatch オペレーションを使用してデータを Amazon Kinesis Firehose に送信する場合、5 KB への切り上げはどのように計算されますか?

5 KB への切り上げは、API オペレーションのレベルではなく、レコードのレベルで計算されます。例えば、PutRecordBatch 呼び出しに 1 KB のレコードが 2 件含まれている場合、その呼び出しのデータボリュームは 10 KB となります (1 件ごとに 5 KB への切り上げを行うため)。

Q: Amazon Kinesis Firehose の料金には、Amazon S3、Amazon Redshift、Amazon Elasticsearch Service、AWS Lambda の料金は含まれていますか?

いいえ。ストレージやリクエストを含む Amazon S3、Amazon Redshift、Amazon Elasticsearch Service、および AWS Lambda の使用量に関する料金は別途請求されます。詳細は、Amazon S3 料金Amazon Redshift 料金Amazon Elasticsearch Service 料金、およびAWS Lambda 料金をご覧ください。