トピックのタイプ

標準トピック 

標準トピックは、1 回以上受信され順番付けされていないメッセージをアプリケーションが処理できるのであれば、多くのシナリオで使用することができます。たとえば、メディアエンコーディングへのメッセージの振り分け、不正検出、税額計算、検索インデックス、さらに重要なアラートアプリケーションなどに活用できます。

最大スループット: 標準トピックでは、1 秒間に、ほぼ上限のないメッセージ数をサポートできます。

ベストエフォート型の順序付け: メッセージは、公開されたものと異なる順序で配信される可能性があります。

FIFO トピック

FIFO トピックは、オペレーションやイベントの順番が重要であったり、重複を許容しないようなアプリケーション間で行うメッセージングを、強化するために設計されています。適用例としては、銀行取引のログ、株価のモニタリング、フライトトラッキング、在庫管理、および最新価格表示アプリケーションなどへの、メッセージの振り分けが考えられます。

高スループット: FIFO トピックでは、毎秒最大で 300 件のメッセージ、もしくは、FIFO トピックあたりで毎秒 10 MB に (先に発生した方優先で) 対応しています。

厳密な順序付け: メッセージを公開または配信した順序 (例、先入れ先出し) が、厳密に維持されます。

ベストエフォート型の重複防止: メッセージは少なくとも 1 回は確実に配信されますが、複数のメッセージのコピーが配信されることもあります。

複数の購読タイプ: メッセージは、アプリケーション対アプリケーション (A2A) のエンドポイント (Amazon SQS、Amazon Kinesis Data Firehose、AWS Lambda、HTTPS) だけでなく、アプリケーション対個人 (A2P) のエンドポイント (SMS、モバイルプッシュ、E メール) にも配信できます。

メッセージのファンアウト: 1 つのアカウントで、10 万件の標準トピックをサポートしており、各トピックは、最大 1,250 万件のサブスクリプションに対応しています。

厳密な重複防止: メッセージが重複することはありません。重複防止は、メッセージの公開時間以降、5 分間のインターバルで実行されます。

SQS サブスクリプション: Amazon SQS キューにメッセージを配信することができます。

メッセージのファンアウト: 1 つのアカウントで、1,000 件の FIFO トピックをサポートしており、各トピックは、最大 100 件のサブスクリプションに対応しています。

イベントの送信元と送信先

イベント駆動型コンピューティングとは、サブスクライバーサービスが発行者のサービスによって駆動されたイベントに反応して、自動的に作業を実行するモデルのことです。この枠組みは、集合的かつ独立的に機能しているサービスを分離する間にワークフローの自動化に適用して、これらのワークフローを実行することを可能にします。Amazon SNS は、さまざまな AWS イベントソースおよびイベント送信先とネイティブに統合されたイベントドリブンのハブです。

メッセージの公開とバッチ処理

メッセージの公開は、メッセージ形式でデータを Amazon SNS トピックに送信し、トピックにサブスクライブしているアプリケーションに非同期でメッセージを配信することができます。API リクエストごとに 1~10 個のメッセージを公開できます。Amazon SNS のコストを削減するために、メッセージをまとめてバッチ処理することを選択できます。各メッセージには、最大 256 KB のデータを含めることができます。ユースケースでより大きなデータペイロードが必要な場合、Amazon SNS 拡張クライアントライブラリは、ペイロード (最大 2 GB) を Amazon S3 バケットに格納し、格納された Amazon S3 オブジェクトの参照を Amazon SNS トピックにパブリッシュします。

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

メッセージフィルタリングは、サブスクライバーアプリケーションがフィルタポリシーを作成することを可能にし、トピックにパブリッシュされたすべてのメッセージを受信するのではなく、関心のある通知のみを受信できるようにします。これにより、サブスクライバーアプリケーションからメッセージフィルタリングロジックを、発行者アプリケーションからメッセージルーティングロジックをオフロードすることで、アーキテクチャを簡素化することができます。

メッセージのファンアウトと配信

メッセージをトピックにパブリッシュすると、Amazon SNS は、トピックにサブスクライブしたアプリケーションにメッセージを複製して配信します。Amazon SNS は、アプリケーション対アプリケーション (A2A) およびアプリケーション対個人 (A2P) のメッセージ配信をサポートします。また、Amazon SNS は、Amazon CloudWatch によるメッセージ配信ステータスのログに加えて、クロスリージョンおよびクロスアカウントのメッセージ配信をサポートします。

メッセージの耐久性

Amazon SNS は、メッセージの耐久性を提供するためにいくつかの連携メカニズムを使用しています。まず、パブリッシュされたメッセージは、地理的に分離された複数のサーバーとデータセンターで保存されます。サブスクライブされたエンドポイントが利用できない場合、Amazon SNS はメッセージ配信再試行ポリシーを実行します。配信再試行ポリシーが終了する前に配信されなかったメッセージを保持するために、Amazon SQS によるデッドレターキューを使用することができます。さらに、Amazon Kinesis Data Firehose 配信ストリームを Amazon SNS トピックにサブスクライブすることができます。これにより、Amazon S3 バケットや Amazon Redshift テーブルなどの永続的なエンドポイントにメッセージを送信することができます。

メッセージの暗号化

Amazon SNS は、ユーザーのメッセージを権限のない匿名アクセスから保護するために暗号化されたトピックを提供します。メッセージを暗号化されたトピックにパブリッシュすると、Amazon SNS によってすぐにメッセージが暗号化されます。この暗号化は、256 ビット AES-GCM アルゴリズムと AWS Key Management Service (KMS) が発行したカスタマーマスターキー (CMK) を使用してサーバーで行われます。 メッセージは暗号化された形式で保存され、Amazon SQS キュー、Amazon Kinesis Data Firehose ストリーミング、AWS Lambda 関数、HTTP/S エンドポイント、電話番号、モバイルアプリケーション、E メールアドレスなど、サブスクライブしているエンドポイントに送信されると復号化されます。

メッセージのプライバシー

Amazon SNS は、AWS PrivateLink を介して VPC Endpoints (VPCE) をサポートしています。VPC Endpoints を使うと、パブリックインターネットを経由することなく、Amazon Virtual Private Cloud (VPC) から Amazon SNS のトピックに、メッセージをプライベートにパブリッシュできます。この機能はセキュリティを強化し、データのプライバシー向上に寄与し、保証プログラムと連携します。AWS PrivateLink を使えば、Internet Gateway (IGW)、Network Address Translation (NAT) デバイス、または Virtual Private Network (VPN) 接続をセットアップする必要がなくなります。パブリック IP アドレスも不要です。

メッセージのデータ保護

Amazon SNS メッセージデータ保護は、トピックの所有者がデータ保護ポリシーを定義し、トピック経由で送信される機密データを検出および保護できるようにします。これにより、データ保護ロジックをアプリケーションからオフロードしてアーキテクチャを簡素化することができ、例えば、医療保険の携行性と責任に関する法律 (HIPAA、Health Insurance Portability and Accountability Act)、一般データ保護規則 (GDPR、General Data Privacy Regulation)、ペイメントカード業界コンプライアンス (PCI、Payment Card Industry Compliance)、および連邦政府リスクおよび認証管理プログラム (FedRAMP、Federal Risk and Authorization Management Program) などの規制に対するコンプライアンス目標をサポートします。 トピックに受信されるメッセージを監査して、どの程度の機密データが含まれているかを判断したり、ブロッキングによって下流の購読者に配信されないようにしたり、リダクションやマスキングによってペイロードの特定データを非識別化したりすることができます。

メッセージのアーカイブ、再生、分析

標準トピックの場合、Amazon SNS は、Amazon Kinesis Data Firehose への直接接続を提供し、Amazon S3Amazon RedshiftAmazon OpenSearch Service、および MongoDB などのサービスへのメッセージ保存を可能にします。この機能は、Datadog、New Relic、Splunk などの分析サービスへのメッセージ保存も可能にします。FIFO トピックの場合、Amazon SNS にはメッセージを保存して再生するインプレースオプションがあり、アーカイブリソースを別途プロビジョニングする必要はありません。これにより、イベント駆動型アプリケーションの耐久性が向上し、ダウンストリームの障害シナリオからの回復に役立ちます。

 

SMS テキストメッセージ

Amazon SNS は、複数の SMS プロバイダー全体における冗長性を備えた堅牢な高可用性サービスを使用して、200 を越える国々に SMS テキストメッセージを大規模に送信する機能をサポートしています。Amazon SNS を使用することにより、送信者 ID、ロングコードまたはショートコードを使用して、送信元アイデンティティを制御することができます。さらに、Amazon SNS サンドボックスを使用して、SMS ワークロードを本番に移行する前に検証することができます。

モバイルプッシュ通知

Amazon SNS のモバイル通知では、iOS、Android、Fire、Windows、および Baidu デバイスに対するモバイルプッシュ通知のファンアウトを簡単かつコスト効率良く行うことができます。モバイル通知は、ユーザー主導のアクションやビジネスロジックからトリガーされます。Amazon SNS は、Amazon Device Messaging (ADM)、Apple Push Notification service (APNs)、Baidu Cloud Push (Baidu)、Firebase Cloud Messaging (FCM)、Microsoft Push Notification Service for Windows Phone (MPNS)、Windows Push Notification Services (WNS) を介して、モバイルプッシュ通知を配信しています。

メール通知

Amazon SNS は、トピックにサブスクライブした E メールアドレスへの通知の配信をサポートします。この機能は、さまざまなユースケースをサポートします。例えば、Amazon SNS を使用して、アプリケーションアラートをメール通知として受信し、DevOps ワークフローに可視性を持たせることができます。このように、Amazon EC2 Auto Scaling グループへの特定の変更、Amazon S3 バケットへの新しいファイルのアップロード、Amazon CloudWatch でのメトリクス閾値の超過などのイベントが発生したときに、直ちに通知を受けることができます。

Amazon SNS の料金に関する詳細

料金ページにアクセスする
構築準備が整いましたか?
Amazon SNS の使用を開始する
ご不明な点がおありですか?
お問い合わせ