Amazon Simple Notification Service (SNS) でAmazon Kinesis Data Firehose にメッセージを配信できるようになりました。
SNSではAmazon SQSやAWS Lambda、メールを指定してメッセージの配信ができますが、新しくAmazon Kinesis Data Firehoseを指定することができるようになりました。

https://aws.amazon.com/jp/about-aws/whats-new/2021/01/amazon-sns-adds-support-for-message-archiving-and-analytics-via-kineses-data-firehose-subscriptions/

さっそく、設定してみましょう。
■前提条件
今回のFirehoseの配信先はS3として、既存のS3バケットを利用します。

■Firehosse配信先ストリームの作成

(1)Amazon Kinesisから、Data Firehoseを選び「配信ストリームを作成」をクリックします。

(2)配信名は「sns message test」とします。

(3)全てデフォルト設定として、配信先として「Amazon S3」をチェックします。

(4)今回は事前にIAM Roleを作成していないので、Firehoseで新規作成をします。

(5)しばらく待つと、作成した「sns message test」がactiveになります。

■SNSトピックの作成

SNSから「トピックの作成」をクリックして、トピック名「Firehose-delivery-TEST」として作成します。

■サブスクリプションの作成

SNSから「サブスクリプションの作成」をクリックして、プロトコルは「Amazon Kinesis Data Firehose」を選びます。
「エンドポイント」には、先ほど作成した「sns message test」の内容を入力します。
「サブスクリプションロールのARN」には、SNSとKinesis Data Firehoseの2サービスにアクセス可能なIAMロールを作成し、ロールarnを入力します。

■メッセージを送ってみよう

トピックより「Firehose-delivery-TEST」を選び「メッセージの発行」をクリックします。メッセージ本文に送付したい内容を入力し、「メッセージの発行」をクリックします。

無事にS3へメッセージが配信されました。

まとめ

いかがでしたでしょうか。
今回のアップデートにより、Kinesis Data FirehoseがSNSの配信先として指定できるようになりました。メッセージをデータレイク、データストア、分析サービスに送信できるようになっています。
主な送信先としてはAmazon Simple Storage Service (Amazon S3)、Amazon Redshift、 Amazon Elasticsearch Service (Amazon ES)、HTTP エンドポイント、またDatadog、New Relic、 MongoDB、 Splunk などのサードパーティサービスプロバイダーです。

メッセージのデータ分析だけではなく、監査にも活用ができそうですね。