Amazon Data Firehose は、ストリーミングデータをデータストアや分析ツールにロードするための最も簡単な方法です。Data Firehose は、何十万ものソースからの膨大なストリーミングデータを簡単に取得して変換し、Amazon S3、Amazon Redshift、Amazon OpenSearch Service、Snowflake、Apache Iceberg テーブル、Amazon S3 Tables (プレビュー)、汎用 HTTP エンドポイント、および Datadog、New Relic、MongoDB、Splunk などのサービスプロバイダーにロードできるようにすることで、リアルタイムの分析とインサイトを可能にするフルマネージドサービスです。
Firehose ストリーム
Firehose ストリームは Firehose の基盤となるエンティティです。Firehose を使用するには、Firehose ストリームを作成し、そこにデータを送信します。
主な特徴
簡単な起動と設定
AWS マネジメントコンソールで数回クリックするだけで、Amazon Data Firehose を起動してデリバリーストリームを作成し、Amazon S3、Amazon Redshift、Amazon OpenSearch Service、Snowflake、Apache Iceberg テーブル、Amazon S3 Tables (プレビュー)、HTTP エンドポイント、Datadog、New Relic、MongoDB、または Splunk にデータをロードできます。デリバリーストリームには、Firehose API を呼び出す、またはデータソースで AWS 提供の Linux エージェントを実行することでデータを送信できます。その後、Data Firehose は指定された宛先にデータを継続的にロードします。
変化するデータスループットに対応するための伸縮自在なスケーリング
Firehose ストリームが起動されると、ストリームは 1 秒あたり数ギガバイト以上の入力データレートを処理し、データレイテンシーをストリームに指定されたレベル (制限範囲内) に維持するために自動的にスケールアップします。手作業での介入やメンテナンスは不要です。
新しいデータを数秒で読み込み
データを送信先にアップロードするスピードを制御するために、バッチサイズまたはバッチ間隔を指定できます。たとえば、バッチ間隔は 0 秒から 15 分の間で設定できます。さらに、データを圧縮するかどうかを指定できます。このサービスでは、GZip、Hadoop 互換 Snappy、Zip、Snappy など、一般的な圧縮アルゴリズムがサポートされています。バッチ設定とアップロード前のデータ圧縮により、送信先での新規データ受信のスピードを制御できます。
複数のデータソースのサポート
Firehose は、Amazon MSK および MSK サーバーレスクラスター、Amazon Kinesis Data Streams、Databaes (プレビュー)、Amazon CloudWatch Logs、Amazon SNS、AWS IoT Core などを含む 20 以上のデータソースからデータを簡単に読み取ります。
Apache Parquet または ORC 形式の変換
Firehose は、Amazon Athena、Amazon Redshift Spectrum、Amazon EMR、およびその他の Hadoop ベースツールなどのサービスを使用して、Apache Parquet や Apache ORC などの列指向データ形式が、コスト効率のよいストレージや分析に最適化するのをサポートします。Firehose では、データを Amazon S3 に保存する前に、入力データの形式を JSON から Parquet または ORC 形式に変換できるため、ストレージと分析のコストを削減できます。
パーティションデータを S3 に配信する
S3 に配信する前に、"customer_id " や "transaction_id " などの静的または動的に定義されたキーを使用して、ストリーミングデータを動的にパーティションします。 Firehose は、これらのキーによってデータをグループ化し、キーに固有の S3 プレフィックスに配信することで、Athena、EMR、Redshift Spectrum を使用した S3 でのハイパフォーマンスでコスト効率の高い分析を容易に行うことができます。 詳細はこちら »
統合されたデータ変換
Amazon Data Firehose では、データストアにロードする前にストリーミングデータを準備するよう設定できます。設定するには、AWS マネジメントコンソールの Amazon Data Firehose ストリーム設定タブから、AWS Lambda 関数を選択します。 この関数は、Amazon Data Firehose で自動的にすべての入力データレコードに適用されます。その後、変換されたデータが送信先にロードされます。 Amazon Data Firehose では、事前に構築された Lambda 設計図が提供されます。この設計図を使用して、Apache ログやシステムログなど一般的なデータソースを JSON 形式や CSV 形式に変換できます。これら事前に構築された設計図は、そのまま使うことも、カスタマイズを加えることもできます。独自のカスタム関数を記述することも可能です。また、失敗したジョブを自動的に再試行し、生のストリーミングデータをバックアップするよう Amazon Data Firehose を設定することもできます。 詳細はこちら »
複数のデータロード先のサポート
Firehose は、Amazon MSK および MSK サーバーレスクラスター、Amazon Kinesis Data Streams、Amazon CloudWatch Logs、Amazon SNS、AWS IoT Core などを含む 20 以上のデータソースからデータを簡単に読み取ります。Amazon Data Firehose は現在、Amazon S3、Amazon Redshift、Amazon OpenSearch Service、Snowflake、Apache Iceberg テーブル、Amazon S3 Tables (プレビュー)、HTTP エンドポイント、Datadog、New Relic、MongoDB、および Splunk をロード先としてサポートしています。データのロード先には、Amazon S3 バケット、Amazon Redshift テーブル、Amazon OpenSearch Service ドメイン、汎用 HTTP エンドポイント、またはサービスプロバイダーを指定できます。
自動暗号化オプション
Amazon Data Firehose には、送信先にアップロードされたデータを自動的に暗号化するオプションが用意されています。Firehose ストリーム設定の一部として、AWS Key Management System (KMS) 暗号化キーを指定できます。
パフォーマンスのモニタリング用メトリクス
Amazon Data Firehose では、コンソールや Amazon CloudWatch からいくつかのメトリクスを参照できます。これには送信されたデータ量、送信先にアップロードされたデータ量、送信元から送信先までの時間、Firehose ストリーム制限、調整された記録の数、アップロード成功率などが含まれます。
従量制の料金体系
Amazon Data Firehose をご利用いただく場合、同サービスを使用して送信したデータ量、該当する場合はデータ形式の変換に対してのみ料金が発生します。該当する場合、Amazon VPC 配信およびデータ転送に対しても料金が発生します。最低料金や前払いの義務はありません。インフラストラクチャのオペレーション、スケーリング、メンテナンスのためのスタッフは不要ですし、ストリーミングデータのキャプチャやロードのためのカスタムアプリケーションも不要です。
Amazon Data Firehose の料金について詳細をご覧ください