「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」
Amazon SNS とは何ですか?
Amazon Simple Notification Service(Amazon SNS) は、発行者からサブスクライバー (プロデューサーおよびコンシューマーとも呼ばれます) へのメッセージ配信を提供するマネージド型サービスです。発行者は、論理アクセスポイントおよび通信チャネルであるトピックにメッセージを送信することによって、受信者と非同期的に通信します。クライアントは、SNS トピックにサブスクライブし、サポートされているプロトコル ( Amazon SQS 、 AWS Lambda 、HTTP、E メール、モバイルプッシュ通知、モバイルテキストメッセージ (SMS) など) を使用して、発行されたメッセージを受信できます。

特徴と機能
Amazon SNS には、次の特徴と機能があります。
-
アプリケーション間メッセージング
アプリケーション間メッセージングは、AWS Lambda関数、Amazon SQSキュー、HTTP/S エンドポイント、AWS Event Fork パイプラインなどのサブスクライバーをサポートします。詳細については、使用 Amazon SNS アプリケーション間(A2A)メッセージング用 を参照してください。
-
アプリケーションから人物への通知
アプリケーションへの通知では、モバイルアプリケーション、携帯電話番号、E メールアドレスなどの受信者にユーザー通知を送信します。詳細については、を使ったアプリケーション間 (A2P) メッセージングAmazon SNS を参照してください。
-
標準および FIFO トピック
FIFO トピックを使用して、厳密なメッセージ順序を確認し、メッセージグループを定義して、メッセージの重複を回避します。Amazon SQSFIFO キューのみが FIFO トピックにサブスクライブできます。
メッセージの配信順およびメッセージの重複の可能性が重要ではない場合は、標準トピックを使用します。サポートされているすべての配信プロトコルは、標準トピックにサブスクライブできます。詳細については、Amazon SNSメッセージの順序付け (FIFO トピック) を参照してください。
-
メッセージ配信の再試行
Amazon SNSは、各配信プロトコルの配信ポリシーを指定します。配信ポリシーは、サーバー側のエラーが発生したときに がメッセージの配信を再試行する方法を定義します。Amazon SNS詳細については、Amazon SNSメッセージ配信の再試行 を参照してください。
-
デッドレターキュー
デッドレターキューは、クライアントエラーまたはサーバーエラーのために正常に配信できないメッセージの Amazon SQS キューです。再試行の試行回数を設定可能な後は、配信不能メッセージがデッドレターキューに保持されて、詳細な分析や再処理が行われます。詳細については、Amazon SNSデッドレターキュー (DLQ) を参照してください。
-
メッセージ属性
メッセージ属性により、メッセージに関する任意のメタデータを提供できます。Amazon SNS メッセージ属性
-
メッセージのフィルタ処理
デフォルトでは、各受信者はトピックに対して発行されたすべてのメッセージを受信します。メッセージのサブセットを受信する場合、受信者はトピックのサブスクリプションにフィルタポリシーを割り当てる必要があります。受信メッセージ属性がフィルタポリシー属性と一致すると、メッセージはサブスクライブされたエンドポイントに配信されます。それ以外の場合、メッセージは除外されます。詳細については、Amazon SNS メッセージのフィルタ処理 を参照してください。
-
メッセージのセキュリティ
サーバー側の暗号化では、 によって提供される暗号化キーを使用して、 Amazon SNS トピックに保存されているメッセージの内容を保護しますAWS KMS。詳細については、保管時の暗号化 を参照してください。
Amazon SNSと Virtual Private Cloud (VPC) との間でプライベート接続を確立することもできます。詳細については、「」を参照してくださいインターネットトラフィックのプライバシー。
-
メッセージの耐久性
Amazon SNS は、受け取ったすべてのメッセージの耐久性の高いストレージを提供します。にメッセージを発行すると、 サービスはメッセージの複数のコピーをディスクに保存します。Amazon SNSAmazon SNS がお客様に対してリクエストの受け取りを確認する前に、複数の独立した場所にメッセージを保存します。この場所はアベイラビリティーゾーンと呼ばれます。メッセージが保存されているアベイラビリティーゾーンは、選択した AWS リージョン内 ( など) にあります米国東部 (バージニア北部) リージョン。1 つのアベイラビリティーゾーンで障害が発生した場合でも (非常にまれです)、Amazon SNS は引き続き動作し、メッセージの耐久性が維持されます。
関連サービス
Amazon SNS では、次のサービスを使用できます。
-
Amazon SQSは、分散されたソフトウェアシステムとコンポーネントを統合および分離することができる、安全で耐久性があり、利用可能なホストされたキューを提供します。 Amazon SQSはAmazon SNS次のような方法で に関連しています。
-
Amazon SNSは、配信不能メッセージに対して を使用するAmazon SQSデッドレターキューを提供します。
-
Amazon SQSFIFO キューを Amazon SNSFIFO トピックにサブスクライブして、メッセージを順番に受け取り、重複は発生しません。
-
-
AWS Lambda により、新規情報に迅速に対応するアプリケーションを構築できます。可用性の高いコンピューティングインフラストラクチャのLambda関数でアプリケーションコードを実行します。詳細については、AWS Lambda Developer Guide を参照してください。関数を SNS トピックにLambdaサブスクライブできます。
-
AWS Identity and Access Management (IAM) は、ユーザーのために AWS リソースへのアクセスを安全にコントロールする際に役立ちます。により、IAMトピックを使用できるユーザー (認証)、使用できるトピック、トピックの使用方法 (承認) を制御できます。Amazon SNS詳細については、Amazon SNS でのアイデンティティベースのポリシーの使用 を参照してください。
-
AWS CloudFormation では、AWS リソースのモデリングと設定を行うことができます。AWSトピックやサブスクリプションなど、必要なAmazon SNSリソースを記述するテンプレートを作成します。 AWS CloudFormation は、これらのリソースのプロビジョニングと設定を行います。詳細については、AWS CloudFormation ユーザーガイド を参照してください。
Amazon SNS へのアクセス
Amazon SNSコンソール、コマンドラインツール、または を使用して、SNS トピックとサブスクリプションを設定および管理できますAWSSDKs。
-
Amazon SNSコンソールには、トピックやサブスクリプションの作成、メッセージの送受信、イベントやログのモニタリングのための便利なユーザーインターフェイス
があります。 -
AWS Command Line Interface(AWS CLI) を使用すると、詳細設定と自動化のユースケースのための Amazon SNS API に直接アクセスできます。詳細については、「 での Amazon SNSの使用」を参照してくださいAWS CLI。
-
AWSはさまざまなSDKs言語で用意されています。詳細については、「」SDKsおよびツールキットを参照してください
。
Amazon SNS の料金
Amazon SNSには初期費用がかかりません。発行するメッセージの数、配信する通知の数、およびトピックとサブスクリプションを管理するための追加の API コールに基づいて料金が発生します。配信料金はエンドポイントタイプによって異なります。無料利用枠を使って無料で開始できます。Amazon SNS
詳細については、「Amazon SNS の料金表
一般的な Amazon SNS シナリオ
アプリケーション統合
ファンアウトシナリオは、SNS トピックに発行されたメッセージがレプリケートされ、Amazon SQSキュー、HTTP(S) エンドポイント、 Lambda 関数などの複数のエンドポイントにプッシュされるときです。これで並列非同期処理が可能になります。
たとえば、ある製品が注文されるたびに SNS トピックにメッセージを発行するアプリケーションを開発できます。次に、SNS トピックにサブスクライブされた SQS キューは、新しい注文に関する同一の通知を受け取ります。SQS キューの 1 つにアタッチされた Amazon Elastic Compute Cloud (Amazon EC2) サーバーインスタンスは、注文の処理または受理を処理できます。また、別のAmazon EC2サーバーインスタンスをデータウェアハウスにアタッチして、受信したすべての注文を分析することができます。

また、ファンアウトを使用して、本番稼働用環境に送信されるデータを、テスト環境を使用してレプリケートすることもできます。前の例を拡張して、新しい受注用に別の SQS キューを同じ SNS トピックにサブスクライブできます。次に、この新しい SQS キューをテスト環境にアタッチすることで、本番環境から受け取ったデータを使用してアプリケーションの改善とテストを継続することができます。
本番稼働用データをテスト環境に送信する前に、データのプライバシーとセキュリティを考慮してください。
詳細については、以下のリソースを参照してください。
アプリケーションアラート
アプリケーションおよびシステムアラートは、事前定義されたしきい値によってトリガーされる通知です。 Amazon SNSは、指定したユーザーに SMS および E メールで送信できます。たとえば、Amazon EC2 Auto Scalingグループへの特定の変更、 Amazon S3バケットにアップロードされた新しいファイル、 でメトリクスのしきい値を超過したなど、イベントが発生したときに即座に通知を受け取ることができますAmazon CloudWatch。詳細については、次のガイドAmazon SNSの「通知の設定」を参照してくださいAmazon CloudWatch ユーザーガイド。
ユーザー通知
Amazon SNSは、プッシュ E メールメッセージとテキストメッセージ (SMS メッセージ) を個人またはグループに送信できます。たとえば、e コマースの注文確認をユーザー通知として送信できます。を使用して SMS メッセージを送信Amazon SNSする方法の詳細については、「」を参照してくださいモバイルテキストメッセージ(SMS)。
モバイルプッシュ通知
モバイルプッシュ通知を使用すると、モバイルアプリケーションに直接メッセージを送信できます。たとえば、 Amazon SNS を使用して、アプリに更新通知を送信できます。通知メッセージには、更新をダウンロードおよびインストールするためのリンクを含めることができます。を使用してプッシュ通知メッセージを送信Amazon SNSする方法の詳細については、「」を参照してくださいモバイルプッシュ通知。