BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Amazon SNS、Amazon Kinesis Data Firehose経由でのメッセージのアーカイブと分析が可能に

Amazon SNS、Amazon Kinesis Data Firehose経由でのメッセージのアーカイブと分析が可能に

原文(投稿日:2021/05/31)へのリンク

Amazon Web Services(AWS)は先頃、Amazon SNSがAmazon Kinesis Data Firehoseサブスクリプションをサポートし、"カスタムコードを書く必要なく[...]データレイク(data lake)、データストア、およびアナリティクスサービス"へのメッセージ送信を可能にすると発表した。新たなイベント送信先が加わることで、サードパーティサービスプロバイダのインテグレーションも容易になる。

Amazon Simple Notification Service (Amazon SNS)は、"アプリケーション・ツー・アプリケーション(A2A)とアプリケーション・ツー・パーソン(A2P)という2つのコミュニケーションを対象とした"、パブリッシャからサブスクライバへの同期メッセージ配信を提供するマネージドサービスである。高スループットかつ低レイテンシなイベント駆動アーキテクチャ(以前の記事)を実装するために、幅広いネイティブAWSイベントソースをサポートする。

Amazon Kinesis Data Firehoseは、"データストアとアナリティクスサービスに対するリアルタイムデータストリームをセットアップし、データをロードする"マネージドサービスである。オプションとして使用可能なAWS Lambda関数(以前の記事)によるサーバレスデータ変換を除けば、コード実装は一切必要としない。

Amazon SNSではこれまで、Amazon SQS、AWS Lambda、SNS対応のHTTP/Sエンドポイントといった汎用目的のA2Aイベントデスティネーションをサポートしていたが、より具体的な要件を備えた通常のデスティネーションのためには、独自のソリューションを用意する必要があった。今回、Amazon Kinesis Data Firehoseイベントデスティネーションが加わったことで、レコードをAmazon S3、Amazon Redshift、Amazon Elastic Service、および"自身が所有する任意のHTTPエンドポイントあるいはサードパーティサービスエンドポイント"を含むストリームデスティネーションに配信できるようになる。組み込みで備えるKinesis Data Firehoseデータ変換機能と組み合わせることで、デスティネーションにルートされる"データをキャプチャ、変換、バッファリング、圧縮、アップロード"するカスタムコードの大部分が不要になる。

イメージ: Amazon SNSイベントデスティネーション(AWSドキュメントより)

ブログの紹介記事では、実現が容易になるユースケースの例がいくつか紹介されている。

新たなKinesis Data Firehoseインテグレーションでは、dead-letter queues(DLQs)メッセージフィルタリングといった通常のSNS機能がサポートされているため、"メッセージのフィルタリングロジックをサブスクライバから、メッセージルーティングロジックをパブリッシャから、それぞれオフロードする"ことが可能になる。

注目すべきなのは、イベントバスベースのAmazon EventBridgeサービスも同じようにDLQsコンテントフィルタリング入力変換を提供し、イベントのアーカイブおよびリプレイ機能(以前の記事)をネイティブに備えていることだ。AWS ServerlessのプリンシパルデベロッパアドボケートであるJames Beswick氏は、ブログ記事"choosing between messaging services"の中で、"SNSとEventBridgeには多くの共通点がある"ことを認めている。

どちらもパブリッシャとサブスクライバの分離、メッセージあるいはイベントのフィルタリングに使用可能で、ファンイン(fan-in)およびファンアウト(fan-out)機能を備えています。その一方で、ターゲットリストや各サービスの機能には違いがあります。どちらのサービスを選択するかは、ユースケースの要件次第でしょう。

記事では続いて、EventBridge独自の機能であるSaaSパートナイベントソーススキーマレジストリについて説明した上で、詳細な機能比較表を紹介している。さらに、続く記事"building resilient serverless patterns"においては、2つのサービスを組み合わせたユースケースの例を取り上げている。

関連するニュースとして、Amazon SNSは先頃、メッセージフィルタリング機能として新たなオペレータを導入すると同時に、米国内のSMS送信用に10桁ロングコードと無料番号をサポートした。さらにAmazon CloudWatchモニタリングサービスも改善され、1分単位でメトリクスを公開できるようになった。

Amazon SNSのドキュメントにある開発者ガイドにはメッセージのアーカイブとアナリティクスの章がある他、AWS CLIリファレンスAPIリファレンスなども掲載されている。Amazon SNSは使用量ベース料金の対象となっている。主として通知量に基づくが、デスティネーションによっても異なっている。Amazon SQS、Amazon Lambda、Amazon Kinesis Data Firehoseなど、デスティネーションサービスに関わる料金は別請求になる。サポートはAmazon SNSフォーラム経由で行われる。

この記事に星をつける

おすすめ度
スタイル

BT