Kinesis Data Firehose で 2 つの S3 バケットを送信先として、ログを送信することは可能か教えてください

2023.10.18

困っていること

Kinesis Data Firehose によりログ収集用 S3 バケットから、他用途用の S3 バケットへログを動的に送りログの分析を行いたいと考えております。 Kinesis Data Firehose で 2 つの S3 バケットを送信先として、ログを送信することは可能か教えてください。

どう対応すればいいの?

いいえ、ドキュメント記載の通り、単一の配信ストリームは、単一の Amazon S3 バケットにのみデータを配信可能なので叶いません。
そのため、複数の送信先に同一のデータを配信したい場合には送信先ごとに複数の配信ストリームを作成いただき、データに送信元となるクライアントアプリケーションから各配信ストリームに同一のデータを送信していただく必要がございます。

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

代替案

以下は非同期的な処理となるためご要件次第ではございますが、S3 バケットのオブジェクト(ログ)を他の S3 バケットにコピーすることでも実現可能です。
Kinesis Data Firehose の機能ではないものの、AWS Lambda を利用してもう一つの S3 バケットにオブジェクト(ログ)をコピーする方法や、S3 RTC の利用が考えられるのでご検討ください。

※ AWS Lambda

※ S3 RTC

参考資料