Amazon SNSとは
フルマネージドのPub/Sub(発行・購読)メッセージングサービス。1つのトピックに発行したメッセージを、複数のサブスクライバー(Lambda・SQS・HTTP・メール・SMS等)に同時配信するファンアウトを実現する。
SNSフィルタリングポリシーで、サブスクライバーごとに受信するメッセージを属性でフィルタリングできる。FIFO SNSトピックでFIFO SQSへの順序保証ファンアウトも可能。
試験での問われ方
「1つのイベントを複数の処理系に同時配信したい」シナリオではSNSを選ぶ。代表的なファンアウト構成は、1つのSNSトピックに複数のSQSキューをサブスクライブさせ、各キューの先にそれぞれ別のLambdaやワーカーをぶら下げる形だ。キュー側でバッファリング・再試行・DLQができるため、処理系ごとに独立してスケール・リトライできるのが利点になる。
サブスクリプションごとにメッセージ属性で受信対象を絞るフィルタリングポリシーを使えば、1トピックから条件に合うサブスクライバーにだけ配信できる。順序保証・重複排除が必要ならSNS FIFOトピックを使い、配信先もFIFO SQSにする(FIFO同士でしか組めない)点を押さえる。
SNSは配信先がオフラインの場合メッセージを失う(永続化しない)という引っかけに注意。永続化が必要な場合はSQSをサブスクライバーにする設計で対応する。
このサービスが登場する演習問題(12問)
- 【CLF-C02】ある企業が、複数のAWSサービスのイベントを受信し、複数のサブスクライバー(Lambda・SQS・Emailなど)に同時…
- 【CLF-C02】ある企業が、Webアプリケーションのパフォーマンスを監視し、エラーレートが5%を超えた際に担当者にメール通知を送りたいと…
- 【SAA-C03】ある企業が、マイクロサービスアーキテクチャを採用して複数の API を Amazon API Gateway と AWS…
- 【SAA-C03】ある企業が、AWS Lambda を使ってイベント駆動のデータ処理パイプラインを構築している。Amazon SNS から…
- 【SAA-C03】ある企業が、Amazon SNS を使ってメッセージを複数の AWS Lambda 関数と Amazon SQS キュー…
- 【SAA-C03】ある企業が、AWS の予算管理を強化したい。特定のサービスコストが月次予算の 80% に達した時点でアラートを受け取り、…
- 【DVA-C02】あるIoTプラットフォームが、多数のデバイスからセンサーデータをSNSトピックで受信し、複数の下流サービスに配信している…
- 【DVA-C02】あるヘルスケア企業が、患者の検査結果ファイルがS3にアップロードされると自動で複数の処理(OCR変換・暗号化・通知メール…
- 【DVA-C02】あるチームがCloudWatch Logsのロググループに大量のログが蓄積されており、特定のエラーパターン("ERROR…
- 【DVA-C02】あるチームがX-Rayを使ってマルチサービスアーキテクチャをトレースしている。あるリクエストのX-Rayトレースを確認す…
- 【SAP-C02】ある企業が AWS 上で稼働する EC2 ベースの Web アプリケーションについて、ユーザーから「特定の地域でサイトに…
- 【SAP-C02】ある企業が大規模なモノリシック Java アプリケーション(Spring Boot)を段階的にマイクロサービス化する計画…