Amazon Simple Notification Service (Amazon SNS) は、アプリケーション対アプリケーション(A2A)間と、アプリケーション対個人(A2P)間の両方の通信に使用できる、フルマネージド型メッセージングサービスです。
A2A での pub/sub 機能により、分散型システムやマイクロサービス、そして、イベント駆動型のサーバーレスアプリケーションにおいて、高スループットでプッシュベースの、多対多メッセージングをトピックで利用できるようになります。Amazon SNS トピックを使用することで、パブリッシャーシステムは、多数のサブスクライバーシステムに対しメッセージをファンアウトし、並列処理を行えます。対象となるシステムには、Amazon SQS キュー、AWS Lambda 関数、HTTPS エンドポイント、および Amazon Kinesis Data Firehose などが含まれます。A2P 機能を使用すると、SMS、モバイルプッシュ、E メールなどを介して、大量のユーザーに対しメッセージを送信できるようになります。
チュートリアル:
SNS の使い方を数分で学ぶ
メリット
アプリケーションを最新化して疎結合化する
Amazon SNS を使用すれば、アプリケーションを最新化し、小さな単体コンポーネントに分離できます。これにより、開発やデプロイ、メンテナンスが容易になります。アプリケーションの pub/sub イベント駆動型アーキテクチャを活用すると、パフォーマンスと信頼性が向上し、各コンポーネントを個別にスケーリングできます。
数百万のユーザーに直接メッセージを送信する
Amazon SNS を使用すれば、200 か国以上への SMS テキストメッセージ、Apple や Android その他のプラットフォームでのモバイルプッシュ、または電子メール(SMTP)を使用して、メッセージまたは通知をユーザーに直接送信できるようになります。Amazon SNS は、複数の SMS プロバイダーに冗長性を提供し、単一のエンドポイントを使用してすべてのプラットフォームへのモバイル通知のプッシュを可能にします。
確実にメッセージを配信
Amazon SNS は、メッセージの耐久性を提供するためにいくつかの連携戦略をとっています。まず、パブリッシュされたメッセージは、地理的に分離された複数のサーバーとデータセンターで保存されます。サブスクライブされたエンドポイントが利用できない場合、Amazon SNS はメッセージ配信再試行ポリシーを実行します。配信再試行ポリシーが終了する前に配信されなかったメッセージを保持するために、デッドレターキューを作成できます。Amazon Kinesis Data Firehose 配信ストリームを SNS トピックにサブスクライブすることもできます。これにより、Amazon S3 バケットや Amazon Redshift テーブルなどの永続的なエンドポイントにメッセージを送信することができます。
ワークロードを自動的にスケーリング
Amazon SNS は、実績のある AWS クラウドを活用して、アプリケーションに動的にスケールします。Amazon SNS は完全マネージド型サービスで、容量計画、プロビジョニング、モニタリング、およびパッチ適用に関連する困難な作業を処理します。このサービスは、高スループットでバースト性のトラフィックパターンを処理するように設計されており、毎秒数百万件のメッセージを送信できます。
メッセージ配置と重複の排除を正確に実施する
Amazon SNS FIFO トピックは、Amazon SQS FIFO キューを使用して、メッセージが厳密な順番で配信され、また、一度しか処理されない(重複を排除する)ように制御します。この機能により、メッセージが正しい順番で送信されることが重要視されるような、単一のもしくは複数の個別なサービス間で、トランザクションを処理する際の一貫性を維持することができます。同時に、お客様は、メッセージの配置や重複防止のための、カスタムコードを記述する作業からも解放されます。
メッセージフィルタリングでアーキテクチャを簡素化する
Amazon SNS は、サブスクライバーシステムからメッセージフィルタリングロジックを、そしてパブリッシャーシステムからメッセージルーティングロジックを取り除くことによって、pub/sub メッセージングアーキテクチャの簡素化に役立ちます。Amazon SNS メッセージフィルタリングを使用することによって、サブスクライブするエンドポイントでは、トピックにパブリッシュされたすべてのメッセージではなく、興味のあるメッセージのみが受信されます。Amazon CloudWatch を使用すると、このフィルタリングアクティビティを可視化できます。また、AWS CloudFormation では、サブスクリプションフィルタポリシーを、自動化されたセキュアな方法でデプロイできます。
仕組み
-
Pub/Sub
-
SMS
-
モバイルプッシュ
-
Pub/Sub
-
-
SMS
-
-
モバイルプッシュ
-
導入事例
PlayOn! Sports は、米国トップの高校スポーツメディア企業のひとつです。この会社は、包括的なテクノロジープラットフォームを運営し、ライブスポーツイベントの高品質かつ低コストな製作を可能にしています。そのサーバーレス動画処理パイプラインは、ファンアウトメッセージングパターン、そして Amazon SNS と AWS Lambda を使用してそれをサーバーレスアーキテクチャに組み入れるオプションを説明する良い例になっています。
NASA Image and Video Library は、広大な未知の世界を探検することにおける NASA の半世紀以上に及ぶ実績を記録した 140,000 を超える静止画像、音声記録、および動画への簡単なアクセスを提供します。アーキテクチャには、新しいコンテンツで更新されたときの処理パイプラインをトリガーする Amazon SNS と、受信されたジョブをパイプラインプロセッサから分離する Amazon SQS が含まれます。
Change Healthcare は、HIPAA を含むヘルスケア産業規制に対する完全な準拠を維持しながら、クライアントからの何百万もの機密トランザクションを毎日処理するために、Amazon EC2、Amazon S3、Amazon SQS、および Amazon SNS などの AWS のサービスを使用しています。
FC バルセロナのウェブプラットフォームには 6,000 を超えるページと、12,000 枚を超えるデジタル化された写真があります。このサイトは 6 つの言語で利用でき、5 つのエリートプロチームに関する最新情報を一か所にまとめています。そのソリューションは、数個のプラットフォーム通知のために Amazon SNS を利用しています。
注目のブログ記事


Amazon SNS、Amazon SQS、AWS Lambda 用の DLQ を使用した耐久性のあるサーバーレスアプリの設計
Rachel Richardson および Otavio Ferreira
2019 年 11 月 15 日

AWS Event Fork Pipelines によるイベント駆動型アーキテクチャの拡充
Rachel Richardson および Otavio Ferreira
2019 年 3 月 25 日

Amazon SNS の最新情報
AWS の開始方法
Amazon SNS についての詳細