31
20

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AWSのメッセージングサービス SQS、SNS、EventBridge の主な機能比較

Last updated at Posted at 2022-04-17

はじめに

本記事は、AWSのメッセージングサービスである SQSSNSEventBridge の主な機能を簡単に比較してまとめたものになります。(2022/04/16現在)
サービスを選定する時の気づきになれば幸いです。

各サービスの機能の詳細は、AWS Black Belt Online Seminarの資料を一読してから、詳細はAWSのドキュメントを読むようにすると頭に入りやすいです。

SQS
AWS Black Belt Online Seminar SQS
Amazon Simple Queue Service のドキュメント

SNS
AWS Black Belt Online Seminar SNS
Amazon Simple Notification Service のドキュメント

EventBridge
AWS Black Belt Online Seminar EventBridge
Amazon EventBridge のドキュメント

メッセージングのモデル

SQS SNS EventBridge
キュー トピック バス

SQS

キュー.png

引用:「疎結合」を実現する メッセージングサービスの選択と利用

SNS

トピック.png

引用:「疎結合」を実現する メッセージングサービスの選択と利用

EventBridge

バス.png

引用:「疎結合」を実現する メッセージングサービスの選択と利用

サービスのビルディングブロック

SQS

SQS_ARC.png

引用: 仕組み

SNS

SNS_ARC.png

引用: 仕組み

EventBridge

EventBridge_ARC.png

引用: 仕組み

メッセージ処理のタイミング

SQS SNS EventBridge
Point to Point方式 Pub/Sub方式 Pub/Sub方式

処理タイミング.png

引用:Amazon Simple Queue Service サービスカットシリーズ

スケジュール実行

SQS SNS EventBridge
できない できない できる

EventBridge

スケジュールに従って実行する Amazon EventBridge ルールの作成

配信先のサービス

SQS

Amazon SQS での Lambda の使用

Lambda

SNS

Application-to-Application(A2A)配信先

Kinesis Data Firehose
Lambda
SQS
HTTP/S

Application-to-Person(A2P) 配信先

Email / SMS 通知
Mobile Push 通知
AWS Chatbot

EventBridge

Amazon EventBridge ターゲット

Lambda関数
EC2インスタンス
Kinesis Data Streams のストリーム
Kinesis Data Firehose の配信ストリーム
CloudWatch Logs ロググループ
ECS タスク
Systems Manager Run Command
Systems Manager Automation
AWS Batch ジョブ
AWS Step Functionsステートマシン
AWS CodePipelineのパイプライン
AWS CodeBuildプロジェクト
Inspector の評価テンプレート
SNS トピック
SQS キュー
EC2 CreateSnapshot API call
EC2 RebootInstances API call
EC2 StopInstances API call
EC2 TerminateInstances API call
別のAWS アカウントのイベントバス

SaaS アプリケーションとの連携

SQS SNS EventBridge
できない できない できる

EventBridge

サポートされる SaaS パートナー統合

Amazon EventBridge では、サポートされている SaaS プラットフォームからデータが取り込まれ、AWS のサービスターゲットにルーティングされます。

さらに、送信先にAPI を使用できる
API 送信先

API 送信先を使用すると、REST API コールを使用して、AWS サービス、統合された
SaaS (Software-as-a-Service) アプリケーション、および AWS 外のアプリケーションの間でイベントをルーティングできます。

SaaS_Integration.png

引用:Using API destinations with Amazon EventBridge

メッセージの配信保証

SQS(標準) SQS(FIFO) SNS(標準) SNS(FIFO) EventBridge
at-least-once exactly-once at-least-once exactly-once at-least-once

at-least-once

メッセージ が少なくとも一つの受信側へ配信される。
(2回以上のメッセージが配信される可能性がある。)

exactly-once

メッセージ は重複せず必ず一回だけ配信される。

メッセージの順序保証

SQS(標準) SQS(FIFO) SNS(標準) SNS(FIFO) EventBridge
保証なし 保証あり 保証なし 保証あり 保証なし

SQS(FIFO)

Amazon SQS FIFO (先入れ先出し) キュー

SNS(FIFO)

メッセージの順序付けと重複除外 (FIFO トピック)

メッセージの永続化

SQS SNS EventBridge
できる できる できる

SQS

デフォルトは4日間。保存期間は1分間 〜 14日間の範囲内で設定可能。

SNS

Amazon SNS メッセージのアーカイブと分析

引用:
Amazon SNS は、Amazon Kinesis Data Firehose を通じてメッセージのアーカイブと分析を提供します。

ユースケース
SNS_MSG_永続化.png

引用:メッセージのアーカイブと分析のユースケースの例

EventBridge

Amazon EventBridge のアーカイブと再生

メッセージのバッチ処理

SQS SNS EventBridge
最大 10件 最大 10件 できない

SQS

Amazon SQS バッチアクション

SNS

Amazon SNS メッセージのバッチ処理

メッセージのフィルタリング

SQS SNS EventBridge
できない できる できる

SNS

Amazon SNS サブスクリプションフィルターポリシー
SNS_Subscription_Filter.png

引用:Amazon Simple Notification Service (SNS) サービスカットシリーズ

EventBridge

Amazon EventBridge イベントパターンでのコンテンツのフィルタリング
コンテンツベースのフィルタリング.png

引用:Amazon EventBridge サービスカットシリーズ

メッセージの加工

SQS SNS EventBridge
できない できない できる

EventBridge

Amazon EventBridge ターゲット入力の変換

さいごに

AWSの公式では、メッセージングサービスのデジションツリーとなるようなものをみつけることができなかったのですが、下記の記事が、サービスを選定する時に参考になるかと思います。

31
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
31
20

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?