

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon SQS、Amazon SNS、または Amazon EventBridge?
<a name="sns-or-sqs-or-eventbridge"></a>

**違いを理解し、自分に合ったものを選択する** 


|  |  | 
| --- |--- |
|  **目的**  |  Amazon SQS、Amazon SNS、EventBridge の違いを理解し、ニーズに最適なサービスを決定します。  | 
|  **最終更新日**  |  2024 年 7 月 31 日  | 
|  **対象サービス**  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/decision-guides/latest/sns-or-sqs-or-eventbridge/sns-or-sqs-or-eventbridge.html)  | 

## 序章
<a name="introduction"></a>

 でアプリケーションを構築する場合 AWS、メッセージング、イベント駆動型アーキテクチャ、コンポーネントのデカップリングを処理するための適切なサービスの選択に役立つ場合があります。 は、これらの目的で 3 つの主要なサービスとして、Amazon Simple Queue Service (Amazon SQS)、Amazon Simple Notification Service (Amazon SNS)、Amazon EventBridge (旧称 CloudWatch Events) AWS を提供しています。
+  Amazon SQS は、マイクロサービス、分散システム、サーバーレスアプリケーションのデカップリングとスケーリングを可能にするフルマネージド型のメッセージキューイングサービスです。
+  Amazon SNS は、可用性、耐久性、安全性に優れたパブ/サブメッセージングサービスであり、分離されたアプリケーションがパブリッシュ/サブスクライブモデルを使用して相互に通信できるようにします。
+  Amazon EventBridge は、さまざまなソースのデータを使用してアプリケーションを接続し、 などのターゲットにルーティングできるようにすることで、イベント駆動型アーキテクチャの構築を容易にするサーバーレスイベントバスです AWS Lambda。

3 つのサービスはすべて、分離されたコンポーネント間の通信を容易にしますが、基盤となるアーキテクチャ、ユースケース、機能はそれぞれ異なります。

これらのサービスの主な違いの概要を次に示します。


|  **カテゴリ**  |  **Amazon SQS**  |  **Amazon SNS**  |  **EventBridge**  | 
| --- | --- | --- | --- | 
|  コミュニケーションモデル  |  プルベース (コンシューマーがキューからメッセージをポーリングする)  |  プッシュベース (サブスクライバーは発行時にメッセージを受信)  |  プッシュベース。イベント駆動型 (ルールはイベントに一致し、ターゲットにルーティングされます)  | 
|  永続的  |  メッセージは消費または期限切れになるまで保持されます  |  メッセージは保持されず、リアルタイムでサブスクライバーに配信されます  |  イベントは保持されず、リアルタイムで処理されます  | 
|  配信保証  |  少なくとも 1 回の配信  |  HTTP/S At-least-once、Lambda と Amazon SQS の場合は正確に 1 回配信  |  少なくとも 1 回の配信  | 
|  メッセージの順序付け  |  FIFO (First-In-First-Out) キューにより、厳密な順序付けが保証されます  |  Amazon SNS FIFO トピックの保証順序  |  注文の保証なし  | 
|  メッセージのフィルター処理  |  Amazon SQS はメッセージに基づいてコンシューマーを決定できません。これを実現するには、Amazon SQS で Amazon SNS Amazon SQS メッセージフィルタリングを使用します。 |  メッセージメタデータと FIFO トピック、メッセージコンテンツに基づくサブスクリプションフィルターポリシーを使用したメッセージフィルタリング  |  複雑なイベントパターンマッチングとコンテンツベースのフィルタリング  | 
|  サポートされているサブスクライバー  |  プルベースのコンシューマー (Amazon EC2 や Lambda など)  |  HTTP/S エンドポイント、E メール、SMS、モバイルプッシュ、Lambda、Amazon SQS  |  AWS のサービス、Lambda、API 送信先、他の のイベントバス AWS アカウント | 
|  一般的なユースケース  |  マイクロサービスのデカップリング、リクエストのバッファリング、タスクの非同期処理  |  ファンアウト通知、パブ/サブメッセージング、モバイルプッシュ通知  |  イベント駆動型アーキテクチャ、リアルタイムストリーム処理、クロスアカウントイベント共有  | 
|  他の との統合 AWS のサービス  |  Lambda、CloudWatch AWS KMS、IAM  |  Lambda、Amazon SQS、モバイルプッシュ AWS KMS、IAM  |  Lambda、Step Functions、Amazon SQS、Amazon SNS、Kinesis、SageMaker AI、CloudWatch、IAM  | 

## 相違点の詳細
<a name="differences"></a>

 Amazon SQS、Amazon SNS、EventBridge の 8 つの主要領域の違いについて説明します。これには、コミュニケーションモデル、永続性、メッセージの順序付け、フィルタリング、統合、ユースケース、スケーラビリティ、料金が含まれます。

------
#### [ Communication model ]

**Amazon SQS**
+ プルベースのモデル。コンシューマーはキューからメッセージをアクティブにポーリングし、メッセージ処理速度とコンシューマーの独立したスケーリングをきめ細かく制御できます。

**Amazon SNS**
+ サブスクライバーが発行時にリアルタイムでメッセージを受信し、複数のサブスクライバーへの即時メッセージ配信を可能にするプッシュベースのモデル。

**Amazon EventBridge**
+ イベントが事前定義されたルールと照合され、処理のためにターゲットサービスにルーティングされるイベント駆動型モデル。事後対応型のイベント駆動型アーキテクチャの構築を容易にします。

------
#### [ Persistence and delivery guarantees ]

**Amazon SQS**
+ メッセージは、消費または期限切れになるまでキューに保持されるため、メッセージが失われることはありません。at-least-once配信を提供し、すべてのメッセージが少なくとも 1 回配信され、重複する可能性があります。

**Amazon SNS**
+ メッセージは保持されず、リアルタイムでサブスクライバーに配信されます。HTTP/S サブスクライバーにはat-least-once配信を提供し、Lambda および Amazon SQS サブスクライバーには正確に 1 回配信を提供します。

**Amazon EventBridge**
+ イベントは永続化されず、リアルタイムで処理されます。1 回限りの処理を確保し、各イベントがターゲットサービスによって 1 回のみ処理されるようにします。

------
#### [ Message ordering ]

**Amazon SQS と Amazon SNS**
+ Amazon SQS FIFO キューと Amazon SNS FIFO トピックはFirst-In-First-Out保証メッセージの順序付けをサポートしているため、シーケンシャル処理が必要なシナリオに適しています。Amazon SNS と Amazon SQS [を使用したメッセージの順序付けの詳細については、FIFO トピック](https://docs.aws.amazon.com/sns/latest/dg/fifo-topic-message-ordering.html)のメッセージの順序付けの詳細を参照してください。 Amazon SQS

**Amazon EventBridge**
+ EventBridge はメッセージの順序付けを保証せず、代わりに任意の順序でターゲットにイベントを配信します。

------
#### [ Message filtering and routing ]

**Amazon SQS**
+ 可視性タイムアウト (重複処理を防ぐため) とデッドレターキュー (失敗したメッセージを処理するため) による基本的なフィルタリング機能を提供します。

**Amazon SNS**
+ サブスクリプションフィルターポリシーを使用したメッセージフィルタリングを提供し、サブスクライバーがメッセージ属性に基づいてメッセージを選択的に受信できるようにします。

**Amazon EventBridge**
+ 高度なイベントパターンマッチングとコンテンツベースのフィルタリングをサポートし、イベントコンテンツに基づいてきめ細かなイベント処理とルーティングを可能にします。

------
#### [ Supported subscribers and integrations ]

**Amazon SQS**
+ キューからメッセージをアクティブに取得する Amazon EC2 インスタンスや Lambda 関数などのプルベースのコンシューマーをサポートします。

**Amazon SNS**
+ HTTP/S エンドポイント、E メール、SMS、モバイルプッシュ通知、Lambda 関数、Amazon SQS キューなど、幅広いサブスクライバーをサポートします。

**Amazon EventBridge**
+ Lambda AWS のサービス、Step Functions、Amazon SQS、Amazon SNS、Kinesis、SageMaker AI など、多数の と統合されているため、事前定義されたルールに基づいてイベントをルーティングできます。EventBridge には、PagerDuty、DataDog、NewRelilc などのサードパーティー製品との多数の組み込み統合もあります。完全なリストを確認するには、[Amazon EventBridge ターゲット](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-targets.html)にアクセスしてください。

------
#### [ Typical use cases ]

**Amazon SQS**
+ マイクロサービスのデカップリング、リクエストのバッファリング、タスクの非同期処理に一般的に使用され、独立したスケーリングと正常な障害処理を可能にします。

**Amazon SNS**
+ ファンアウト通知、パブ/サブメッセージング、モバイルプッシュ通知によく使用され、複数のサブスクライバーへのメッセージの同時ブロードキャストを容易にします。

**Amazon EventBridge**
+ イベント駆動型アーキテクチャの構築、リアルタイムストリーム処理、クロスアカウントイベント共有に最適で、リアクティブシステムを複数のサービス間で構築できます。

------
#### [ Scalability and performance ]

**Amazon SQS**
+ メッセージとコンシューマーの数に基づいて高度にスケーラブルで自動的にスケーリングされるため、メッセージ処理のスループットが向上します。

**Amazon SNS**
+ スケーラビリティが高く、多数のサブスクライバーにメッセージを配信でき、パブリッシュとサブスクライブの需要の増加に対応するために伸縮自在なスケーリングが可能です。

**Amazon EventBridge**
+ 受信イベントトラフィックに基づいて自動的にスケーリングし、低レイテンシーのイベント処理とターゲットへのほぼリアルタイムの配信を提供します。

------
#### [ Pricing ]

**Amazon SQS**
+ API リクエストとデータ転送の数に基づく料金で、無料の API リクエストとデータ転送の毎月の許容量を含む無料利用枠があります。

**Amazon SNS**
+ 料金は、API リクエスト、配信された通知、転送されたデータの数に基づいています。Amazon SNS SMS メッセージは、 AWS エンドユーザーメッセージングを通じて請求されます。

**Amazon EventBridge**
+ 公開されたイベント数とターゲット呼び出しに基づく料金で、無料イベントと呼び出しの月額手当を含む無料利用枠があります。

------

## 使用アイテム
<a name="use"></a>

------
#### [ Amazon SQS ]
+  **Amazon SQS の使用を開始する** 

  Amazon SQS のセットアップと使用に関するstep-by-step手順について説明します。キューの作成、メッセージの送受信、キュープロパティの設定などのトピックについて説明します。

  [ガイドを見る](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-getting-started.html) 
+  **Amazon SQS チュートリアル** 

  Amazon SQS を使用してシンプルなアプリケーションのコンポーネントを切り離す実例を説明します。 AWS SDKs を使用してキューを作成し、キューにメッセージを送信し、キューからのメッセージを処理する方法を示します。

  [チュートリアルを見る](https://aws.amazon.com/getting-started/hands-on/send-messages-distributed-applications/) 
+  **キューベースのマイクロサービスをオーケストレーションする** 

  メッセージキューベースのマイクロサービスをオーケストレーションするサーバーレスワークフローを設計および実行する方法について説明します。

  [チュートリアルを見る](https://aws.amazon.com/tutorials/orchestrate-microservices-with-message-queues-on-step-functions/) 
+  **ファンアウトイベント通知の送信** 

  Amazon SQS と Amazon SNS を使用してファンアウトメッセージングシナリオを実装する方法について説明します。

  [チュートリアルを見る](https://aws.amazon.com/getting-started/hands-on/send-fanout-event-notifications/)

------
#### [ Amazon SNS ]
+  **Amazon SNS の使用を開始する** 

  Amazon SNS をセットアップして使用するstep-by-stepのチュートリアル。トピックの作成、トピックへのエンドポイントのサブスクライブ、メッセージの発行、アクセス許可の設定などのトピックについて説明します。

  [ガイドを見る](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html)  
+  **Amazon SNS と Amazon SQS を使用してトピックに発行されるメッセージのフィルタリング** 

  Amazon SNS のメッセージフィルタリング機能を使用する方法について説明します。

  [チュートリアルを見る](https://aws.amazon.com/tutorials/filter-messages-published-to-topics/) 
+  **Amazon SNS - トラブルシューティング** 

  設定情報の表示、プロセスのモニタリング、Amazon SNS に関する診断データの収集方法について説明します。

  [コースの詳細](https://explore.skillbuilder.aws/learn/course/external/view/elearning/14124/amazon-simple-notification-service-amazon-sns-troubleshooting)

------
#### [ EventBridge ]
+  **Amazon EventBridge ユーザーガイド** 

  この包括的なドキュメントでは、イベントバスの作成、イベントルールの定義、ターゲットの設定、さまざまな との統合などのトピックについて説明します AWS のサービス。

   [ガイドを見る](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html)
+  **Amazon EventBridge のチュートリアル** 

  この AWS ドキュメントでは、Amazon EventBridge を使用してさまざまなユースケースやシナリオをユーザーに説明する一連のチュートリアルを提供しています。これらのチュートリアルでは、自動タスクのスケジュール、 AWS リソースの変更への対応、 との統合などのトピックについて説明します AWS のサービス。

   [チュートリアルを見る](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-tutorial.html)
+  **AWS サーバーレスワークショップ - イベント駆動型アーキテクチャ**

  Amazon EventBridge およびその他の AWS サーバーレスサービスを使用して、イベント駆動型アーキテクチャを構築します。このワークショップでは、イベントバスの作成、イベントルールの定義、イベントに基づくアクションのトリガーのプロセスについて説明します。

  [ワークショップを見る](https://event-driven-architecture.workshop.aws/)
+  **AWS オンラインテックトーク - Amazon EventBridge の概要** 

  Amazon EventBridge について紹介し、主要な概念、機能、ユースケースについて説明します。技術トークには、ユーザーがアプリケーションで EventBridge を活用する方法を理解するのに役立つデモンストレーションと実践的な例が含まれています。

  [動画を見る](https://www.youtube.com/watch?v=TXh5oU_yo9M)
+  **Amazon EventBridge を使用したイベント駆動型アプリケーションの構築** 

  このブログ記事では、Amazon EventBridge を使用してイベント駆動型アプリケーションを構築するプロセスについて説明します。イベントバスの作成、イベントパターンの定義、イベントを処理するターゲットの設定に関するstep-by-stepガイドを提供します。

   [ブログ記事を読む](https://aws.amazon.com/blogs/compute/building-an-event-driven-application-with-amazon-eventbridge/)
+  **Amazon EventBridge Pipes でイベントプロデューサーとコンシューマー間のPoint-to-Point統合を作成する** 

  EventBridge の機能である Amazon EventBridge Pipes をご覧ください。これにより、イベントプロデューサーとコンシューマー間のpoint-to-point統合を一貫してコスト効率の高い方法で作成できるため、差別化されていないグルーコードを記述する必要がなくなります。

   [ブログ記事を読む](https://aws.amazon.com/blogs/aws/new-create-point-to-point-integrations-between-event-producers-and-consumers-with-amazon-eventbridge-pipes/)

------