Q: Amazon Simple Notification Service (Amazon SNS) とは何ですか?

Amazon Simple Notification Service(Amazon SNS)は、クラウドからのメッセージ通知のセットアップ、作業、送信を簡単にするウェブサービスです。アプリケーションからメッセージを発行し、登録者や他のアプリケーションに迅速に配信するための、スケーラブルかつ柔軟で、費用対効果の高い機能を備えています。また、ウェブスケールのコンピューティングを開発者が簡単に利用できるよう設計されています。Amazon SNS では、「publish-subscribe (pub-sub)」メッセージングパラダイムに従っています。ここでは「プッシュ」メカニズムを用いて通知が配信されるため、新しい情報や更新のために定期的に確認または「ポーリング」を行う必要がありません。事前の最小限度の開発努力を必要とするシンプルな API のおかげで、メンテナンスまたは管理諸経費がかからず、またその従量制の価格設定により、Amazon SNS は開発者に、彼らのアプリケーションに強力な通知システムを簡単に統合するためのしくみを提供します。

Q: Amazon SNS の使用はどのように開始できますか?

10 分間のチュートリアルで、Amazon SNS トピックを作成し、数ステップだけでメッセージを公開できるようになります。ファンアウト通知の送信

詳細については、Amazon SNS 開発者ガイド、およびリソースセンターにあるサンプルコードを参照してください。

Q: Amazon SNS によるメッセージ通知の使用例にはどんなものがありますか?

Amazon SNS サービスでは、イベント通知、アプリケーションのモニタリング、ワークフローシステム、タイミングの重要な情報更新、モバイルアプリケーション、そして通知を必要とするその他あらゆるアプリケーションなど、幅広く多様なニーズがサポートされます。例えばAmazon SNS は、分散型コンピューターアプリケーション間でイベントを中継、データストア間でデータを移動、またはビジネスシステム内の記録を更新するためのワークフローシステムで使用することができます。検証、承認、在庫変更、発送ステータスに関するイベント更新と通知は、エンドユーザーだけでなく、関連するシステムコンポーネントにも直ちに配信されます。一般的なパターンは、SNS を使用して Amazon SQS メッセージキューに対してメッセージを発行し、メッセージを 1 つまたは複数のシステムコンポーネントに非同期で確実に送信するというものです。Amazon SNS の別の使用例は、タイミングの重要なイベントをモバイルアプリケーションやデバイスにリレーすることです。Amazon SNS は信頼性が高くスケーラブルなため、リアルタイムイベントが欠かせないアプリケーションを開発する開発者にとって、これが大きな利点となっています。

Q: Amazon SNS を使用することの利点は何ですか?

Amazon SNS は、疎結合な分散型アプリケーションを構築して統合するための多彩なオプションを提供します。

  • 即時性がある、プッシュベースの配信(ポーリングなし)。
  • シンプルな API とアプリケーションとの容易な統合。
  • 複数のトランスポートプロトコルに対応する柔軟性のあるメッセージ配信。
  • 安価で、前払いのない従量課金制。
  • ウェブベースの AWS Management Console は、シンプルなポイント・アンド・クリック インターフェイスを提供。

Q: Amazon SNS はどのように機能するのですか?

Amazon SNS を使い始めるのは非常に簡単です。メッセージを発行してカスタマーが通知を受信できるようになるためには、特定のサブジェクトやイベントタイプを確認するアクセスポイントとなるトピックを、開発者が最初に作成する必要があります。一旦トピックが作成されると、トピックの所有者はそのポリシーを設定することができます。これには例えば、メッセージの発行者または通知の受信者を制限したり、どの通知プロトコルがサポートされるのか(例: HTTP/HTTPS、Eメール、SMS)を指定したりすることが挙げられます。受信者(サブスクライバー)は、興味を抱くトピックから通知を受け取ることに関心があるカスタマーです。彼ら、またはトピックの所有者がトピックを受信できます。受信者はプロトコルとエンドポイント(URL、Eメールアドレス等)を通知を受け取るために指定します。発行者が受信者に通知すべき情報または更新情報を保有している場合、彼らはトピックに対するメッセージを発行できます。これによって Amazon SNS から、該当する全受信者に対して直ちにメッセージが配信されます。

Q: Amazon SNS と Amazon SQS の違いは何ですか?

Amazon Simple Queue Service(SQS)および Amazon SNS は共に AWS 内のメッセージングサービスですが、開発者にそれぞれ異なった利点を提供します。Amazon SNS を利用すれば、アプリケーションは「プッシュ」メカニズムを使用して、複数の受信者にタイミングが重要なメッセージを送信することができます。そのため更新を定期的に確認または「ポーリング」する必要性がなくなります。Amazon SQS は、分散型アプリケーションが使用するメッセージキューサービスであり、ポーリングモデルを通じてメッセージを交換し、コンポーネントの送受信を切り離すために使用することができます。Amazon SQS ではアプリケーションの分散型コンポーネントに対して柔軟性が提供され、同時に利用可能な各コンポーネントを必要とすることなくメッセージの送受信を行うことができます。

一般的なパターンは、SNS を使用して Amazon SQS キューに対してメッセージを発行し、メッセージを 1 つまたは複数のシステムコンポーネントに非同期で確実に送信するというものです。

Q: Amazon SNS と Amazon MQ の違いは何ですか?

Amazon MQ、Amazon SQS、Amazon SNS は起業したての方からエンタープライズまで、誰にでも適切なメッセージサービスです。既存のアプリケーションをお使いで、メッセージをクラウドに手早く簡単に移したい場合、Amazon MQ をご検討ください。これは業界標準の API とプロトコルを使いますので、標準に基づいたメッセージブローカーならばどれからでも Amazon MQ に、アプリケーション内のメッセージコードを書き換えることなく切り替えられます。クラウド上で全く新しいアプリケーションを構築される場合は、Amazon SQS と Amazon SNS のご検討をお勧めします。Amazon SQS と SNS は軽量で、完全に管理されたメッセージキュー・トピックサービスで、ほとんど無制限にスケールでき、簡単で使いやすい API を提供します。Amazon SQS と SNS を用いて、マイクロサービス、分散型システム、サーバーなしのアプリケーションを切り離して、信頼性を向上できます。

Q: Amazon SNS の使用はどのように開始できますか?

Amazon SNS にサインアップするには、Amazon SNS 詳細ページの [Amazon SNS にサインアップ] ボタンをクリックします。このサービスにアクセスするには、Amazon Web Services アカウントが必要です。まだアカウントをお持ちでない場合、Amazon SNS のサインアップ プロセスを始めた時にアカウントを作成するよう要求されます。サインアップ後、Amazon SNS ドキュメントと入門ガイドを閲覧して、Amazon SNS の使用を開始してください。AWS Management Console を使うと、簡単にトピックの作成、受信者の追加、通知の送信、トピック ポリシーの編集などの作業がすべてブラウザで行えます。

Q: Amazon SNS は AWS マネジメントコンソールでサポートされていますか ?

Amazon SNS は、AWS マネジメントコンソールでサポートされています。ユーザーは、ポイント・アンド・クリックするウェブベースのインターフェイスで Amazon SNS にアクセスしたり、管理したりできます。AWS Management Console を使うと、ユーザーは、トピックの作成、受信者の追加、通知の送信などの操作をすべてブラウザで行えます。また、AWS マネジメントコンソールを使えば、簡単に選択したエンドポイント (HTTP、SQS、Lambda、モバイルプッシュ、E メール、SMS) にメッセージを発行し、トピックポリシーを編集して発行者および受信者のアクセスを制御することができます。

Q: 各リージョンの Amazon SNS サービスアクセスポイントを教えてください。

すべての Amazon SNS サービスアクセスポイントの最新リストについては、AWS ドキュメントの「AWS のリージョンとエンドポイント」セクションを参照してください。

Q: セキュリティ分析や運営のトラブルシューティングのためにアカウントで呼び出した SNS API の履歴を取得できますか?

はい。SNS は、AWS CloudTrail をサポートします。このウェブサービスでは、自分のアカウントの AWS API 呼び出しを記録し、ログファイルを取得できます。CloudTrail を利用することで、API 発信者の ID、API 呼び出しの時間、API 発信者のソース IP アドレス、リクエストパラメータ、SNS から返される応答要素といった情報の履歴を取得できます。

SNS は現在、認証された呼び出しでのみ CloudTrail 監査をサポートします。未認証の ConfirmSubscription および Unsubscribe 呼び出しの CloudTrail Audit ロゴは現在使用できません。詳しくは、SNS 開発者ガイドの CloudTrail セクションを参照してください。

自分のアカウントで呼び出した SNS API の履歴を取得するには、AWS マネジメントコンソールで AWS CloudTrail を有効にします。AWS CloudTrail の詳細については、ここをクリックしてください。


Q: Amazon SNS の費用はいくらですか?

Amazon SNS には、最低料金はありません。使用した分に応じてお支払いください。お支払いいただくのは、Amazon SNS リクエスト 100 万件につき 0.50 USD、HTTP 経由での通知配信 10 万件につき 0.06 USD、E メール経由での通知配信 10 万件につき 2.00 USD となっています。SMS メッセージングでは 100 件の通知配信を無料で送信でき、それ以降のメッセージの料金は配信先の国によって変わります。

また、Amazon SNS には無料利用枠があり、ユーザーは Amazon SNS を無料で始めることができます。毎月、Amazon SNS リクエスト 100 万件までは無料、HTTP 経由での通知 10 万件までは無料、SMS 経由での通知 100 件までは無料、E メール経由での通知 1,000 件までは無料です。

価格設定とデータ転送費用の詳細については、Amazon SNS 詳細ページをご覧ください。

Q: Amazon SNS を利用すると、どのように課金され、請求されますか?

サービスの使用を始めるためのセットアップ料金はありません。月末に、その月の料金が自動的にお客様のクレジットカードに請求されます。現在の請求期間の料金はいつでも、アマゾン ウェブ サービスのウェブサイトで確認できます。アマゾン ウェブ サービスのアカウントにログインして、「お客様のウェブ サービス アカウント」の下の「アカウント アクティビティ」をクリックしてください。

Q: Amazon SNS の使用に対する請求期間はいつ始まっていつ終わるのですか?

Amazon SNS の請求サイクルは各月の初日に始まり、末日に終わります。月間料金の合計は、各月末に計算されます。

Q: 料金は税込み価格ですか?

別途記載がない限り、表示される料金には VAT、売上税その他取引に対して適用される一切の税金等および関税は含まれません。日本の居住者であるお客様が AWS のサービスをご利用になった場合には、料金とあわせて別途消費税をご請求させていただきます。詳細はこちらをご覧ください


Q: Amazon SNS のトピックフォーマットはどのようなものですか?

トピック名は256文字に制限されています。英数字、ハイフン(-)および下線(_)を使用できます。トピック名は AWS アカウント内で一意である必要があります。トピックを削除した後で、そのトピック名を再使用できます。トピックが作成される際、Amazon SNS は、ユニークは ARN(Amazon Resource Name: Amazon リソース名)をトピックに割り当てます。これにはサービス名(SNS)、リージョン、ユーザーの AWS ID、およびトピック名が含まれています。ARNは、トピックを作成するための API 呼び出しの一部として返されます。発行者または受信者が、トピックについてのアクションを実行する必要が生じるたびに、彼らは一意のトピック ARN を参照します。

以下は AWS アカウントID「123456789012」を有し、米国東部リージョンでホストされているユーザーによって作成された、「mytopic」というトピック名の ARN です。

arn:aws:sns:us-east-1:1234567890123456:mytopic 注: ユーザーは、独立したコンポーネントからトピック ARN を構築することはできません。必ず、API コールから返される名前を使用して、トピックを作成してください。

Q: Amazon SNS で実行可能な操作はどのようなもので、これらは誰が実行できるのですか?

Amazon SNS はシンプルな API のセットを提供して、トピックの所有者、受信者、発行者がイベント通知を行えるようにします。

所有者が可能な作業:

  • CreateTopic – 新規トピックを作成します。
  • DeleteTopic – 以前作成されたトピックを削除します。
  • ListTopics – 特定のユーザー(AWS ID)に所有されたトピックを一覧します。
  • ListSubscriptionsByTopic – 特定のトピックに対する受信登録リストです。
  • SetTopicAttributes – 発行者/受信者権限の設定や変更、サポートされるトランスポートなど、トピックの属性を設定/変更します。
  • GetTopicAttributes – トピックの既存の属性を取得/閲覧します。
  • AddPermission – 特定のアクションについて、選択されたユーザーにアクセス権を付与します。
  • RemovePermission – 特定のアクションについて、選択されたユーザーの権限を削除します。

受信者が可能な作業:

  • Subscribe – 特定のトピックについて新しい受信を登録します。これを行うと Amazon SNS から確認メッセージが生成されます。
  • ConfirmSubscription – 受信確認メッセージに応答します。受信リクエストを確認して、受信するトピックから通知を受けます。
  • UnSubscribe – 登録されていた受信登録を解除します。
  • ListSubscriptions – 特定のユーザー(AWS ID)が所有する受信登録をリストアップします。

発行者が可能な作業:

  • Publish: トピックに対する新規メッセージを発行します。

Q: 受信登録をリストアップするのに 2 つの異なる API が存在するのはなぜですか?

受信登録をリストアップするための 2 つの API では、異なる機能が実行され、異なる結果が返されます。

  • ListSubscriptionsByTopic API は、トピックの所有者が、自らトピックに登録した受信者の一覧を閲覧できるようにします。
  • ListSubscriptions API を使用すると、(1つ以上のトピックに対して)ユーザーが彼らのアクティブな全受信登録の一覧を取得することができます。

Q: 通知を受け取るための、別の配信フォーマット/トランスポートとは何ですか?

配信メカニズムにおいてお客様により幅広い柔軟性を提供するために、Amazon SNS では複数のトランスポートプロトコルでの通知をサポートしています。お客様は、受信登録の一部として、以下のトランスポートの中から1つを選択できます。

  • 「HTTP」、「HTTPS」 – 受信者は受信登録の一部として URL を指定します。HTTP POST を通じて、通知が指定された URL に届けられます。
  • 「Email」、「Email-JSON」 – メッセージがEメールとして、登録されたアドレスに送信されます。Email-JSON は、JSON オブジェクトとして通知を送信します。一方Eメールは、テキストベースのEメールを送信します。
  • 「SQS」 – ユーザーは、SQS 標準キューをエンドポイントとして指定できます。Amazon SNS は、指定されたキューに通知メッセージを投入します (これは ReceiveMessage、DeleteMessage などの SQS API を使用して、受信者が処理できます)。現在、FIFO キューはサポートされていません。
  • 「SMS」 – メッセージは、SMS テキストメッセージとして、登録された電話番号に送信されます。

Q: トピックの所有者は、彼らが作成/所有するトピックについて許可されるトランスポートをコントロールできますか?

トピックの所有者はアクセスコントロールポリシーを通じて適切な権限を設定することにより、自身のトピックに対する特定のトランスポートを設定できます。

Q: 所有者は、アクセスコントロールポリシーをどのように設定するのですか?

アクセスコントロールポリシーの設定の概要については、Amazon SNS 入門ガイドをご覧ください。

Q: 単一のトピックで、複数のプロトコル/トランスポート上での受信をサポートできますか?

Amazon SNS トピックの受信者は、トピックがサポートする任意のトランスポートで通知を受け取ることができます。1 つのトピックで、複数のトランスポートでの受信と通知配信をサポートすることができます。

Q: 受信者は、特定のトピックに対して発行されたメッセージのサブセットのみを選択的に受信できますか?

はい。Amazon Simple Notification Service (SNS) ではメッセージのフィルタリングが使用でき、よりシンプルで効率化された pub/sub アーキテクチャを構築できます。メッセージのフィルタリングにより、Amazon SNS トピックの受信者は、トピックに対して発行されたすべてのメッセージを受信するのではなく、関心があるメッセージのサブセットのみを選択して受信できます。SNS サブスクリプションのフィルターポリシーの使用をモニタするには、自動的に収集される Amazon CloudWatch メトリクスを使います。詳細は、10 分間のチュートリアル、トピックに対して発行されたメッセージのフィルタリング、またはドキュメントをご覧ください。

Q: Amazon SNS は他の AWS サービスと共に使用できますか?

Amazon SNS は、Amazon SQS、Amazon EC2、Amazon S3 といった他のAWSサービスと共に使用することができます。下記は、発注処理ワークフローシステムが、Amazon SNS を Amazon EC2、SQS、SimpleDB と共にどのように使用するかの例です。このワークフローシステムでは、トランザクションが発生したときや注文の処理が次の段階に進んだときに、アプリケーションのコンポーネント間でメッセージが送信されます。お客様が最初に注文を行うと、まずトランザクションが Amazon SimpleDB に記録されます。そして Amazon EC2 を実行するアプリケーションが注文リクエストを支払い処理システムに転送します。これがお客様のクレジットカードまたは銀行の口座から引き落としを行います。一旦承認されると、注文の確認メッセージが Amazon SNS のトピックに対して発行されます。この場合トピックは、Eメール/HTTP経由でマーチャント、カスタマー、サプライチェーンパートナーといった様々な受信者を有しています。そしてそのトピックについて Amazon SNS が送信する通知は、支払い処理が完了したことを彼らすべてに直ちに伝えることができます。また通知は、EC2 で実行中の注文処理システムを構成するために使用することができます。このシステムでは、HTTP 経由で送信された通知が、在庫システムまたは発送サービスといった関連コンポーネント内で、リアルタイムの処理を開始させることができます。Amazon SNS を Amazon SQS と統合することによって、配信される全通知が、Amazon SQS 内でも保持されます。ここでは、後に監査アプリケーションによって、それらが処理されます。

Q: Amazon SNS は、AWS サービスが利用可能な全リージョンで利用できますか?

Amazon SNS の可用性に関する最新情報については、AWS ドキュメントの「AWS のリージョンとエンドポイント」セクションを参照してください。

Q: 以前使用されたトピック名でカスタマーがトピックを再作成可能となるにはどれくらいの期間を要しますか?

一般的には同名の以前のトピックが削除されてから、約 30~60 秒後にその名前のトピック名が再使用可能となります。正確な時間は、トピック上でアクティブになっている受信者数によって異なります。受信者の少ないトピックはすぐに再使用可能となりますが、受信者の多いトピックはより多くの時間を要します。


Q: 通知が E メール経由で配信されるようにするには、ユーザーはどのように受信登録すればよいですか?

特定のトピックで E メール通知を受けるには、受信者はプロトコルに「Email」または「Email-JSON」を指定して、エンドポイントに有効な E メールアドレスを設定します。これは、AWS マネジメントコンソールを使う、または Amazon SNS API を直接呼び出して行います。その後 Amazon SNS は確認のためのリンクのついたEメールを指定されたEメールアドレスに送信します。またEメールアドレスをモニタリングするユーザーに対し、特定のトピックについてのEメール通知を受け取ることを明示的に選択するよう求めます。提供されるリンクをクリックすることによりユーザーが受信希望を確認すると、トピックに対して発行された全メッセージが、そのEメールアドレスに配信されます。

Q: E メール経由で通知を受け取るのに、Amazon SNS が 2 つの異なるトランスポートを提供するのはなぜですか?

2 つの明確に異なるタイプのために、2 つの E メールトランスポートが提供されています。「Email-JSON」は、JSON オブジェクトとして通知を送信します。つまりアプリケーションがプログラム的にEメールを処理します。「Email」トランスポートは、エンドユーザー/消費者のためにあり、通知は通常の、テキストベースのメッセージで、簡単に判読可能です。

Q: Email/Email-JSON 経由で送信される通知のために、ユーザーが件名と表示名を変更することができますか?

Amazon SNS は、ユーザーが E メールの件名欄を、公開 API 呼び出しに対して受け渡されるパラメータとして指定することを許可しており、これは発行されるメッセージごとに異なる可能性があります。トピックの表示名は、SetTopicAttributes API を用いて設定できます。この名前は、このトピックから送信されるすべての E メールに対して適用されます。

Q: Amazon SNS からの通知を受け取るために、受信者が彼らの E メール設定を特別に設定する必要がありますか?

ほとんどの場合、ユーザーは特別な設定を行うことなく、Amazon SNS から受信の確認と通知を受け取ることができるはずです。ただし、Eメールのプロバイダのデフォルト設定または他のユーザー固有の設定により、Eメールが誤って迷惑メールフォルダに転送される場合があります。Amazon SNS から送信される確認メッセージや通知を確実に閲覧できるようにするには、no-reply@sns.amazonaws.com を連絡先リストに追加したり、Amazon SNS からのメッセージが迷惑フォルダに入っていないかどうかを確認したりします。

Q: エンドポイントとして SQS キューを通過する場合、受信登録前にユーザーがキューを作成する必要はありますか? そのキューにはどのような許可が必要ですか?

SQS キューでトピックをサブスクライブする前に、ユーザーは SQS コンソールを使用してキューを作成する必要があります。このキューをコンソールで選択し、メニューバーの [Queue Actions] のドロップダウンリストから [Subscribe Queue to SNS Topic] を選択します。サブスクライブのダイアログボックスで、[Choose a Topic] ドロップダウンリストからトピックを選択し、[Subscribe] ボタンをクリックします。詳しい手順については、Amazon SQS のドキュメントをご覧ください。

Q: Amazon SQS FIFO キューは、Amazon Simple Notification Service (SNS) と互換性がありますか?

Amazon SNS は現在 Amazon SQS FIFO キューへのメッセージ転送をサポートしていません。SNS を使用して標準キューにメッセージを転送することはできます。

Q: Amazon SNS の通知を受け取るために、開発者は Amazon SQS のキューをどのようにセットアップするのですか?

Amazon SNS が SQS キューへ通知を送信できるようにするために、開発者は、「SQS」をトランスポートとして、また有効な SQS 標準キューをエンドポイントとして指定するトピックを受信 (サブスクライブ) すべきです。SQS キューで Amazon SNS からの通知を受信できるようにするには、SQS キューの所有者がその SQS キューで Amazon SNS のトピックをサブスクライブし、メッセージがキューに送信されるように設定する必要があります。

ユーザーが受信する Amazon SNS トピックと、通知を受け取るSQSキューの両方を所有していれば、他には何も必要ありません。トピックに対して発行されるどのようなメッセージも、自動的に指定された SQS キューへ送信されます。SQS キューを所有するユーザーがトピックの所有者でない場合、Amazon SNS は、受信リクエストに対する明示的な確認を求めます。

SQS キューでトピックをサブスクライブする方法や、SQS キュー用のアクセスコントロールポリシーを設定する方法の詳細については、Amazon SNS のドキュメントをご参照ください。

Q: 複数の SQS キューに同一のメッセージを同時に送信するにはどのようにすればよいですか?

まず、SNS を使用して SNS トピックを作成します。次に、複数の SQS 標準キューを作成し、SNS トピックに登録します。そうすると、メッセージを SNS トピックに送信するたびにメッセージが複数の SQS キューへ同時に送信されます。つまり、トピックに登録しているすべての SQS キューに、SNS からメッセージが届きます。

Q: Amazon SNS が送信する構造化通知メッセージのフォーマットは何ですか?

HTTP、HTTPS、Email-JSON、および SQS トランスポートプロトコル経由の配信のために Amazon SNS が送信する通知メッセージは、シンプルな JSON オブジェクトで、以下の情報が含まれます。

  • MessageId: 共通のユニークな識別子。発行される各通知で一意です。
  • Timestamp: 通知が発行された時刻(GMT)。
  • TopicArn: このメッセージが発行されたトピック。
  • Type: 通知配信用「通知」に設定された、配信メッセージの種類。
  • UnsubscribeURL: このトピックからエンドポイントの登録を解除するためのリンク。これ以上通知を受け取らないようにします。
  • メッセージ: 発行者が受信するメッセージのペイロード(本体)。
  • Subject: 件名欄 – オプションのパラメータとして公開APIに含まれる場合、メッセージと共に呼び出します。
  • Signature: メッセージ、メッセージID、件名(存在する場合)、タイプ、タイムスタンプ、トピック値のBase64-エンコード 「SHA1withRSA」署名。
  • SignatureVersion: 使用される Amazon SNS 署名のバージョン。

「Eメール」トランスポート経由で送信される通知メッセージには、発行者に受領されるペイロード(本体)のみが含まれます。

Q: SMS 経由で配信される通知を、ユーザーはどのように受信するのですか?

下記の「SMS 関連の質問」セクションをご参照ください。


Q: トピックに送信されるメッセージのセキュリティをユーザーはどのように確保できますか?

Amazon SNS 宛のすべての API 呼び出しは、ユーザーの AWS ID および署名に対して検証されます。さらに当社は、ユーザーが当社の安全な SSL エンドポイントに接続することによって、通信回線上でのデータの安全を確保するようお勧めしています。

Q: トピックを作成できるのは誰ですか?

Amazon SNS にサインアップした、有効な AWS ID を持つユーザーのみが、トピックを作成することができます。トピックを簡単に作成する方法は、AWS Management Console を使う方法です。CreateTopic API からも作成できます。AWS マネジメントコンソールは http://aws.amazon.com/console からご利用いただけます。

Q: 複数のユーザーが単一のトピックを発行できますか?

トピックの所有者は、(有効な AWS ID を持つ)2 人以上のユーザーがトピックを発行できる権限を、明示的に設定できます。デフォルトでは、トピックの所有者のみがトピックを発行できる権限を持つよう設定されています。

Q: トピックの発行または受信権限を、所有者はどのように付与/削除できるのですか?

AddPermission および RemovePermission API が、開発者にシンプルなインターフェイスを提供して、彼らがトピックに対する権限の追加や削除を行えるようにしています。ただし、条件付きのアクセスやより高度な使用を行う場合には、ユーザーがアクセスコントロールポリシーを使用して、権限を管理すべきです。権限を管理する簡単な方法は、AWS Management Console を使う方法です。AWS マネジメントコンソールは http://aws.amazon.com/console からご利用いただけます

Q: トピックの所有者は、受信者に対してどのようにアクセスを提供するのですか? 受信者は有効な AWS ID を保有する必要がありますか?

Amazon SNS を使えば、AWS ID の有無に関わらず、通知を受け取ることは簡単です。トピックの所有者は、アクセスコントロールポリシーを使用して、トピックに対する適切な権限を設定することにより、受信者のアクセスの付与や制限を行うことができます。ユーザーは、2通りのやり方で Amazon SNS から通知を受けることができます。

  • AWS ID を有するユーザー: 有効な AWS ID (AWS ID 取得の詳細については、このリンクをご覧ください) を有する受信者は、トピックの所有者が許可していれば、任意のトピックを直接受信することができます。AWS ID は、受信登録をする際に認証されます。
  • それ以外のユーザー: トピックの所有者は、AWS ID を持たないユーザーのために、エンドポイントの受信登録を行うことができます。

いずれの場合でも、受信登録エンドポイントの所有者は、Amazon SNS が送信する確認メッセージに返信することによって、受信希望を明示的に選択し、確認する必要があります。

Q: Amazon SNS は、API 呼び出しをどのように認証するのですか?

Amazon SNS に対する API 呼び出しはすべて、リクエストが AWS ID アカウントの秘密キーで署名されるよう要求し、その署名がリクエスト中に含まれることを確認することによって、認証されます。

Q: 通知がスパムとしてユーザーに送信されないようにするために、Amazon SNS はどのように受信リクエストを検証するのですか?

受信登録の一環として、Amazon SNS は、通知が有効な、登録済みの受信者/エンドポイントのみに送信されるようにしています。スパムを防ぎ、受信エンドポイントが特定のトピックからの通知の受信を望んでいることを確実にするために、Amazon SNS では、2要素ハンドシェイクを用いて、受信者からの明示的なオプトインが必要となっています。

i. ユーザーが最初に SubscribeAPI を呼び出してエンドポイントを登録する場合、Amazon SNS は指定されたエンドポイントに確認メッセージを送信します。

ii.エンドポイントで確認メッセージを受け取る際、受信者は有効な応答を送信することによって、受信リクエストを確認する必要があります。その場合に限り、Amazon SNS は受信リクエストが有効であるとみなします。問い合わせに対する応答がない場合、Amazon SNS はそのエンドポイントに対していかなる通知も送信しません。受信登録確認の正確なメカニズムは、選択されるトランスポートプロトコルによって異なります。

  • HTTP/HTTPS 通知では、Amazon SNS は確認メッセージ(トークンを含む)を指定された URL に POST します。URL をモニタリングしているアプリケーションは、含まれるトークンと共に、ConfirmSubscription API を呼び出す必要があります。
  • Email および Email-JSON 通知の場合、Amazon SNS は埋め込まれたリンクを含む指定されたアドレスに、Eメールを送信します。ユーザーは埋め込まれたリンクをクリックし、受信リクエストを確認する必要があります。
  • SQS 通知の場合、Amazon SNS はトークンを含むチャレンジメッセージを指定されたキューに投入します。キューをモニタリングしているアプリケーションでは、トークンと共に ConfirmSubscription API を呼び出す必要があります。

注: 上記で説明された明示的な「オプトイン」手順は、お客様が Amazon SQS キューを Amazon SNS トピックに登録し、両者が同一の AWS アカウントで「所有」されているという特殊な場合には、必要ありません。

Q: 確認のために待機する間、受信リクエストはどれくらいの期間保留中となるのですか?

受信リクエスト時にエンドポイントに送信される確認メッセージに含まれるトークンの有効期限は 3 日間です。

Q: トピックに対する権限を変更するのは誰ですか?

トピックの所有者のみが、そのトピックに対する権限を変更できます。

Q: 通知メッセージが Amazon SNS から送信されることを、ユーザーはどのように検証するのですか?

通知の正当性を確保するために、Amazon SNS は、暗号上安全な、非対称的メカニズム (証明書を基にした秘密/公開キーペア) を用いて、配信される全通知に署名を添付しています。Amazon SNS は、その証明書をよく知られた場所(例: 米国東部リージョンの場合、http://sns.us-east-1.amazonaws.com/SimpleNotificationService.pem)に対して発行し、その証明書の秘密キーで、メッセージに署名しています。開発者/アプリケーションは、証明書を取得して証明書の公開鍵で通知の署名を認証し、通知が実際に Amazon SNS から送信されたものであることを確認します。証明書の場所の詳細については、Amazon SNS の詳細ページをご参照ください。

Q: 発行者もメッセージに署名する必要がありますか?

Amazon SNS は、AWS ID を有する発行者に、彼らの秘密キーでメッセージに署名を添付することによって、彼らのメッセージを有効にするよう求めます。その後署名は Amazon SNS によって認証されます。

Q: 発行者/受信者が SSL を使用して、メッセージのセキュリティを確保することができますか?

はい。発行者も受信者も、SSLを使用してチャンネルの安全性を確保し、メッセージの送信、受信を行うことができます。発行者は HTTPS 経由で Amazon SNS に接続し、SSL チャネル経由でメッセージを発行できます。受信者は、受信開始登録の過程において、SSL が有効になっているエンドポイントを登録すべきです。その後通知は、SSL チャネルを経由して、そのエンドポイントへ配信されます。

Q: Amazon SNS が登録されたエンドポイントに通知を送信できるようにするには、受信者にどのような許可が必要ですか?

通知を受け取るエンドポイントの所有者は、Amazon SNS に対して、そのエンドポイントへメッセージを送信する権限を付与する必要があります。

Q: 受信登録の取り消しはどのように行えますか?

トピックの所有者、受信登録の所有者、または他者が受信者の受信登録を取り消すことができます。これは受信リクエストを確認するために使用したメカニズムによって異なります。

  • ConfirmSubscription API 呼び出しで、 AuthenticateOnUnsubscribe フラグが True に設定されていることが確認された受信登録に限り、トピックの所有者または受信登録の所有者が受信登録の取り消しを行うことができます。
  • 受信登録が、AuthenticateOnUnsubscribe フラグが True に設定されることなく匿名で確認された場合は、匿名で受信登録を取り消すことができます。

受信登録の所有者によって受信登録が取り消される場合を除き、すべてのケースで、最終のキャンセル確認メッセージが、エンドポイントに送信されます。これによって、エンドポイントの所有者は、(受信設定の取り消しが意図せざるものである、またはエラーである場合)トピックの再受信を簡単に行うことができます。ConfirmSubscription API の詳細は、Amazon SNS ドキュメントをご参照ください。


Q: Amazon SNS は HIPAA に適合していますか?

はい。AWS HIPAA コンプライアンスプログラムは、Amazon SNS を HIPAA 対応サービスとして追加しました。AWS と事業提携契約 (BAA) を締結している場合は、Amazon SNS を使用して、HIPAA 準拠アプリケーションを構築できるようになりました。BAA を締結していない場合、またはお使いの HIPAA 準拠アプリケーションへの AWS の使用に関してご質問がある場合は、詳細についてお問い合わせください。

詳細については、以下のリソースを参照してください。

コンプライアンスプログラムの対象範囲に含まれる Amazon SNS の現在のリストについては、コンプライアンスプログラムによる AWS 対象範囲内のサービスを参照してください。

Q: Amazon SNS は他に何に適合していますか?

SNS および AWS のその他のサービスに関する最新情報については、コンプライアンスプログラムによる AWS 対象範囲内のサービスをご覧ください。


Q: Amazon SNS に公開されたデータの耐久性どれくらいですか?

SNS では、受け取るすべてのメッセージに対応する耐久性の高いストレージを提供しています。公開リクエストを受け取ると、SNS は送信者にリクエストの受信確認を送る前に、メッセージの複数の (ディスクへの) コピーを複数のアベイラビリティーゾーンに保存します。各 AWS リージョンには、複数の独立したロケーションがあり、このロケーションをアベイラビリティーゾーンといいます。あるゾーンで障害が発生しても (発生は稀ですが)、SNS の機能とメッセージの耐久性は途絶えることなく継続されます。

Q: 通知には 2 つ以上のメッセージが含まれますか?

いいえ。すべての通知メッセージには、単一の発行済みメッセージが含まれます。

Q: 受信者は、各メッセージを何回受信しますか?

ほとんどの場合各メッセージはお客様のアプリケーションに対して1度のみ配信されますが、Amazon SNS の分散型の特質と転送ネットワークの状況により、場合によっては受信者側で二重にメッセージを受け取る可能性があります。開発者は、メッセージの受信の重複によってエラーや不整合が生じないように、彼らのアプリケーションを設計する必要があります。

Q: メッセージはそれらが発行された正確な順序で配信されますか?

Amazon SNS サービスは、トピックに対して発行された順序で、発行者からのメッセージを配信しようと試みます。ただしネットワーク上の問題により、結果的に受信者側にメッセージの順番が入れ替わって届く可能性もあります。

Q: 発行後にメッセージを削除できますか?

いいえ。トピックに対してメッセージが一旦正常に発行されると、取り消すことはできません。

Q: Amazon SNS では、必ずサブスクライブされたエンドポイントにメッセージが配信されますか?

トピックに対するメッセージが発行されると、Amazon SNS はそのトピックについて登録した全受信者に対して通知の配信を試みます。インターネット上の問題やEメール配信の制約が原因で、時として通知が HTTP またはEメールのエンドポイントに到達しないことがあります。HTTP の場合は、SNS 配信ポリシーを使用して再試行パターン(線形、幾何学的、指数的バックオフ)、再試行遅延の最大値/最小値などのパラメータを制御することができます。発行されるメッセージすべてが正常に処理されることが必要不可欠である場合は、通知が SQS キューにも配信されるように設計してください。

Q: 受信登録しているエンドポイントが利用できない場合、Amazon SNS メッセージはどうなりますか?

SNS に送信されたすべてのメッセージは、直ちに処理されて配信されます。1 回目の試行でメッセージが正常に配信されない場合、SNS では 4 段階の再試行ポリシーに従った処理が行われます: (1) 遅延なしの再試行、(2) 最小遅延間隔での再試行、(3) バックオフモデル (線形または指数的) を使用した再試行、および (4) 最大遅延間隔での再試行。 

ポリシーはエンドポイントによって、以下のように異なります。

  • SQS: SQS キューが利用できない場合、SNS では直ちに 10 回、続いて 20 秒間隔で 100,000 回の再試行が行われます。つまり 23 日あまりで合計 100,010 回の再試行が行われます。この再試行後に配信されないメッセージは SNS から破棄されます。
  • Lambda: Lambda が利用できない場合、SNS では 1 秒間隔で 2 回、続いて 1 秒から 20 分までの指数的バックオフで 10 回、最後に 20 分間隔で 38 回の再試行が行われます。つまり、13 時間あまりで合計 50 回の再試行が行われます。この再試行後に配信されないメッセージは SNS から破棄されます。 
  • HTTP/S: 特定のトピックに関連付けられた HTTP/S エンドポイントに対して、それぞれ配信ポリシーを設定できます。それぞれの配信ポリシーには、再試行ポリシーとスロットルポリシーが含まれます。例えば、再試行ポリシーでは、再試行の最小/最大遅延間隔、遅延ありの前に行う再試行の回数、および再試行で使用するバックオフ方式 (線形、指数、または算術) を指定できます。  再試行が指定した回数に達すると、メッセージは SNS から破棄されます。スロットルポリシーは、サブスクリプションごとの、1 秒あたりの最大配信試行回数を定義するものです。  詳細は、HTTP/HTTPS エンドポイントに対する Amazon SNS 配信再試行ポリシーの設定を参照してください。
  • E メール: E メールエンドポイントが利用できない場合、SNS では直ちに 1 回、10 秒置いて 1 回、10 秒から 5 分までの線形バックオフで 10 回、最後に 5 分間隔で 90 回の再試行が行われます。つまり、7 時間あまりで合計 102 回の再試行が行われます。この再試行後に配信されないメッセージは SNS から破棄されます。
  • モバイルプッシュ: モバイルエンドポイントが利用できない場合、SNS では直ちに 2 回、20 秒間隔で 5 回、続いて 20 秒から 20 分までの指数的バックオフで 31 回、最後に 20 秒間隔で 12 回の再試行が行われます。つまり 4 時間あまりで 50 回の再試行が行われます。この再試行後に配信されないメッセージは SNS から破棄されます。
  • SMS: SMS エンドポイントが利用できない場合、SNS では 1 秒間隔で 2 回、その後 1 秒から 10 分までの指数的バックオフで 10 回、最後に 10 分間隔で 38 回の再試行が行われます。つまり、6 時間あまりで合計 50 回の再試行が行われます。この再試行後に配信されないメッセージは SNS から破棄されます。

Q: 新しいワールドワイド SMS 機能にはどのような特徴がありますか?

Amazon SNS を使用して、SMS (テキスト) を 200 以上の国に配信できます。また、これまでのように受取人が明示的にオプトインする必要はありません。電話番号に SMS メッセージを送信する場合、その土地の法律と規制により求められているのであれば、受取人から事前に許可を得ておく必要があります。加えて、確実な配信のためにトランザクションとしてマークすることも、コスト節減のためにプロモーションとしてマークすることもできるようになりました。さらに、不注意により限度を超えてしまわないよう、アカウントレベルやメッセージレベルの支出限度を設定することもできます。

Q: どのような場合に SMS メッセージをトランザクションとしてマークすればよいですか?

ビジネス的な優先度の高い SMS メッセージをトランザクションとしてマークします。こうすることにより、ワンタイムパスワード (OTP) や PIN といった内容のメッセージを、最高度の配信信頼性を持つルートを経由して配信させることができます。米国以外の国では、これらのルートの料金はプロモーションメッセージングに比べて高くなる傾向があります。マーケティング用のメッセージをトランザクションとしてマークすることはしないでください。一部の国では現地の規制ポリシーに違反する可能性があり、不正利用としてマークされてアカウントが停止される場合があります。

Q: どのような場合に SMS メッセージをプロモーションとしてマークすればよいですか?

マーケティング用メッセージングの SMS メッセージはプロモーションとしてマークします。Amazon SNS では、合理的な配信信頼性を有しながらも、最も信頼性の高いルートに比較すると大幅に安価なルートによってそのようなメッセージが送信されるようにします。これにより、Amazon SNS では土地の法律と規制を遵守しながらメッセージを処理し、配信することができます。

Q: アカウントレベルおよびメッセージレベルの支出限度とは何ですか? また、どのように機能しますか?

支出限度は AWS アカウントに対して、および個別のメッセージに対して指定でき、SMS メッセージの送信コストにのみ適用されます。

アカウントあたりの支出制限はデフォルトで (指定されていない場合) 1.00 USD/月です。制限の引き上げをご希望の場合は、SNS 制限の引き上げのケースを送信してください。[New limit value] には、ご希望の毎月の支出限度を入力してください。[Use Case Description] 欄に、SMS の毎月の支出制限引き上げのリクエストであることを記載してください。

Amazon SNS では、SMS トラフィックにより発生する暦月のコスト合計が支出制限以下である間、お客様の発行する SMS が送信されます。支出制限を超過すると、支出制限が引き上げられるか、新しい暦月の開始まで、Amazon SNS からメッセージが配信されなくなります。同様に、個別のメッセージに対して支出制限を指定することもできます。コストが制限以下である場合にのみ、Amazon SNS からメッセージが送信されます。アカウントレベルの支出制限が超過した場合、メッセージレベルの支出制限が超過したかどうかにかかわらず、Amazon SNS から SMS メッセージが送信されなくなります。

Q: 双方向 SMS はサポートされていますか?

土地の規制により要求されている場合のオプトアウトを除き、現時点で Amazon SNS は双方向 SMS をサポートしていません。

Q: SMS メッセージを送信する前にその電話番号を SNS トピックにサブスクライブする必要がありますか?

メッセージの送信先となる電話番号を Amazon SNS トピックにサブスクライブする必要はなくなりました。Amazon SNS コンソール、または Amazon SNS API の Publish リクエストを使用して、電話番号に直接メッセージを発行することが可能になりました。

Q: AWS では、購入用のショートコードを発行していますか?

はい。ご使用のアカウントに割り当てられ、お客様のみが使用できる専用ショートコードを予約できます。

ショートコードを予約するには、AWS サポートセンターでケースを作成します。詳しくは、Amazon SNS 開発者ガイドReserving a Dedicated Short Code for SMS Messaging を参照してください。

料金について、Worldwide SMS Pricing を参照してください。

Q: AWS では、購入用のロングコードを発行していますか?

いいえ。現時点で、AWS では購入用のロングコードを発行していません。

Q: SMS 通知は特定のショートコードまたはロングコードから送信されますか?

Amazon SNS では、SMS 通知の送出にロングコードまたはショートコードのプールが使用されます。複数の番号から SMS 通知が送信される可能性はありますが、Amazon SNS では、1 つの AWS アカウントから特定の電話番号に送られるメッセージは、常に同一のロングコードまたはショートコードから送信されるようになっています。これは "スティッキー送信者 ID" と呼ばれます。

専用ショートコードを予約して、Amazon SNS から送信するすべての SMS メッセージに永続的なショートコードを使用することができます。ショートコードを予約することで、利用者はお客様の企業からのメッセージを簡単に見分けられるようになります。詳しくは、Amazon SNS 開発者ガイドReserving a Dedicated Short Code for SMS Messaging を参照してください。

Q: Amazon SNS のワールドワイド SMS ではどの国がサポートされていますか?

Amazon SNS では 200 を超える国がサポートされており、その範囲は拡大を続けています。呼び出し先としてサポートされている国の包括的なリストについては、SMS がサポートされている国のリストを参照してください。

Q: ワールドワイド SMS はどの AWS リージョンでサポートされていますか?

1) 米国東部 1 (バージニア)、2) 米国西部 2 (オレゴン)、3) 欧州西部 1 (ダブリン)、4) アジアパシフィック (東京)、5) アジアパシフィック (シンガポール)、および 6) アジアパシフィック (シドニー)。

Q: AWS 側の電話番号は変わりますか?

はい。Amazon SNS では、SMS 通知の送出にロングコードまたはショートコードのプールが使用されます。そのため、SMS 通知が複数の番号から届く可能性はありますが、Amazon SNS ではある AWS アカウントから特定の電話番号には常時同一のロングコードまたはショートコードからメッセージが送信されるようになっています。これは "スティッキー送信者 ID" と呼ばれます。

Q: 同じキャリアのデバイスでも異なる電話番号からメッセージが届く場合があるのはなぜですか?

Amazon SNS では、SMS 通知の送出にロングコードまたはショートコードのプールが使用されます。そのため、SMS 通知が複数の番号から届く可能性はありますが、Amazon SNS ではある AWS アカウントから特定の電話番号には常時同一のロングコードまたはショートコードからメッセージが送信されるようになっています。これは "スティッキー送信者 ID" と呼ばれます。

Q: 他の国にメッセージを送信する場合の電話番号はどのような形式になりますか?

AWS では、"to" および "from" フィールドの両方 (該当する場合) で、すべて E.164 番号フォーマットを使用することを強く推奨します。 呼び出し先としてサポートされている国の包括的なリストについては、SMS がサポートされている国のリストを参照してください。

Q: Amazon SNS では、送信先番号が携帯電話、固定電話、または VoIP であるかどうかが判定されますか?

いいえ。現時点で、Amazon SNS において送信先番号が携帯電話、固定電話、または VoIP であるかどうかは検出されません。

Q: SMS メッセージの時間ベース配信またはスケジュール配信はサポートされていますか?

いいえ。Amazon SNS において、時間ベース配信やスケジュール配信はサポートされていません。

Q: SMS メッセージの配信ステータスはどのように追跡できますか?

Amazon SNS で配信ステータス機能を有効にすることで、各メッセージについて MessageID、Time Sent、Destination Phone Number、Disposition、Disposition Reason (該当する場合)、Price および Dwell Time についての情報が取得できます。

Q: MMS はサポートされていますか?

いいえ。現時点で、Amazon SNS で MMS メッセージはサポートされていません。

Q: Amazon SNS からの SMS メッセージを受信するにはどれくらいのコストがかかりますか?

SMS メッセージ受信のコストは、受取人側の無線/モバイルキャリアのデータおよびメッセージングに関するプランによって異なります。

Q: 受取人は、AWS からの SMS メッセージ受信をどのようにしてオプトアウトするのですか?

受取人は、以下のいずれかでメッセージに返信することで、自分のデバイスを使用してオプトアウトできます。

  • ARRET (フランス語)
  • CANCEL
  • END
  • OPT-OUT
  • OPTOUT
  • QUIT
  • REMOVE
  • STOP
  • TD
  • UNSUBSCRIBE
オプトアウトするには、受取人は Amazon SNS でメッセージ配信に使用されたのと同じロングコードまたはショートコードに返信する必要があります。オプトアウト後、電話番号をオプトインしない限り、受取人は AWS アカウントから配信される SMS メッセージを受信しなくなります。

Q: 受取人のデバイスがグローバル SMS をオプトアウトしたことは、どのようにしてわかりますか?

アカウントについてオプトアウトした番号のリストが SNS コンソールに表示されます。加えて、Amazon SNS API にはオプトアウトした番号をリストする ListPhoneNumbersOptedOut リクエストが用意されています。

Q: ユーザーがオプトアウトした場合、その番号の SNS トピックの受信登録も自動的に解除されますか?

いいえ。オプトアウトはある番号について Amazon SNS トピックから受信登録を解除するのではなく、サブスクリプションを無効にします。また、電話番号をオプトインする場合に、その番号のトピックへの受信登録を再実行する必要もありません。

Q: エンドユーザーに届く SMS メッセージはどのようにして確認できますか?

配信ステータス機能を使用して、SMS メッセージの最終処理状況についての情報を取得できます。この機能についての情報と使用方法については、ドキュメントを参照してください。

Q: Amazon SNS に SMS メッセージの配信確認機能はありますか?

AWS の配信ステータス機能では、宛先キャリアから受信した配信確認に基づく情報を利用できます。配信ステータスについての情報と使用方法については、ドキュメントを参照してください。

Q: Google Voice や Hangouts などの VoIP サービスへの配信はサポートされていますか?

はい。Amazon SNS では、SMS メッセージを受信可能な VoIP サービスへの配信がサポートされています。


Q: SMS メッセージの送信料金はいくらですか?

SMS メッセージの送信料金は受信者の国やリージョンによって異なるほか、受信者のモバイルキャリアによっても異なります。最新の料金は、SMS 料金ページでご覧いただけます。

Q: SMS メッセージの送信料金が、同じ宛先国やキャリアでも変わるのはなぜですか?

異なる国やリージョンへの SMS メッセージの送信に関連する費用は (その国やリージョン内の別のキャリア宛ての送信の場合でも)、ほぼ通知なし (またはまったく通知なしで) 頻繁に変わる可能性があります。キャリアのポリシーや技術的変更に加え、地理的な問題までもが、SMS メッセージの送信料金が変わる原因となる場合があります。

SMS 料金ページに現在の SMS 送信料金を公開することで、料金の透明性を保つよう努めています。

Q: SMS メッセージが配信されなくても課金されますか?

無効な電話番号へのメッセージ送信が試行されたと宛先キャリアから報告された場合、配信が失敗していても課金されます。電話番号が無効になる理由はいくつかあります。電話番号が存在しない、受信者の口座に十分な残金がない、宛先の番号が固定電話の番号である、などです。

Q: メッセージの長さは支払う料金に影響しますか?

はい。1 つの SMS メッセージには、最大 140 バイトの情報を含めることができます。メッセージに 140 バイトを超える情報が含まれている場合、Amazon SNS では自動的に複数のメッセージに分割されます。Amazon SNS で長いメッセージが複数の短いメッセージに分割された場合には、それぞれのメッセージに対して料金が発生します。

1 つのメッセージに含められる最大文字数は、文字のエンコード方法によって異なります。GSM-7 (GSM 03.38 とも呼ばれる) エンコーディングを使用してエンコードされた文字を含むメッセージには、160 文字含めることができます。ASCII エンコーディングを使用するメッセージには、最大 140 文字含めることができます。UCS-2 エンコーディングを使用するメッセージには、最大 70 文字含めることができます。Amazon SNS を使用して SMS メッセージを送信する場合、そのメッセージ内のすべての文字をサポートする最もコンパクトなエンコーディングが自動的に選択されます。

SMS メッセージ送信の詳細については、Amazon Simple Notification Service 開発者ガイドSMS メッセージの送信を参照してください。

Q: SMS メッセージ送信用の AWS 無料利用枠はありますか?

はい。毎月米国内の宛先に送信される最初の 100 SMS メッセージが AWS 無料利用枠に含まれます。この利用枠には有効期限はありません。この意味で、「メッセージ」は、以前の質問の回答で説明したように、140 バイト以下の情報を含む 1 つの送信を指します。

米国内で複数の宛先に 100 を超えるメッセージを送信する場合、または米国外の宛先にメッセージを送信する場合には、現在の料金に基づいて送信する各メッセージに課金されます。最新の料金は、SMS 料金ページでご覧いただけます。


Q: トピック数または 1 トピックあたりの受信者数に制限はありますか?

SNS では、デフォルトでトピックあたり 1,000 万のサブスクリプション、アカウントあたり 100,000 のトピックが利用できます。制限の引き上げのご要望は、サポートにお問い合わせください。

Q: メッセージでは、どのような種類のデータを送信できますか? また、送信できる最大容量は 1 件あたりどのくらいですか?

SMS メッセージを除いて、Amazon SNS のメッセージとして送信できるのは、最大 256 KB のテキストデータ (XML、JSON、未フォーマットのテキストなど) です。

以下の Unicode 文字を使用できます。

#x9 | #xA | #xD | [#x20~#xD7FF] | [#xE000~#xFFFD] | [#x10000~#x10FFFF]

http://www.w3.org/TR/REC-xml/#charsets による)。

発行されるデータの 64 KB のチャンクが、1 つのリクエストとして課金されます。例えば、256 KB のペイロードを持つ単一の API コールは、4 つのリクエストとして課金されます。

SMS メッセージ

各 SMS メッセージとして送信できるのは最大 140 バイトで、文字制限はエンコードスキームによって異なります。例えば、1 通の SMS として以下を送信できます。

  • 160 GSM 文字
  • 140 ASCII 文字
  • 70 UCS-2 文字

サイズ制限を超えるメッセージを発行した場合、Amazon SNS では複数のメッセージとして送信され、それぞれがサイズ制限内に合わせて調整されます。メッセージは単語の途中ではなく、全単語の境界で切り離されます。1 つの SMS 発行アクションの合計サイズ制限は 1600 バイトです。

Q: トピックに適用できるメッセージフィルターの数はいくつですか?

デフォルトでは、各リージョンでアカウントごとに 100 のフィルターポリシーをトピックに適用できます。詳細についてはお問い合わせください。

Q: SNS と EC2 の間のリージョン間通信に使用すべき TCP ポートはありますか? 

はい。SNS と EC2 のリージョン間通信は、80/443/4080/8443 以外のポートは使用しないでください。動作が保証されていません。


Q: raw メッセージの配信とは何ですか?

オプトインして、raw 形式で配信されたメッセージを取得できます。つまり、発行されたとおりの正確なメッセージを取得できます。デフォルトでは、JSON 形式でエンコードされたメッセージが配信されます。JSON 形式では、メッセージおよびトピックに関するメタデータが提供されます。サブスクリプションに「RawMessageDelivery」プロパティを設定することで、raw メッセージの配信が可能になります。このプロパティを設定するには、AWS マネジメントコンソールか API SetSubscriptionAttributes を使用します。

Q: 受信登録に raw メッセージの配信プロパティが設定されていない場合、デフォルトの動作はどのようになりますか?

デフォルトでは、このプロパティが設定されていない場合、JSON 形式のメッセージが配信されます。これが現在の動作です。これにより、既存のアプリケーションが期待どおりに動作し続けます。

Q: raw メッセージの配信は、どの種類のエンドポイントでサポートされていますか?

raw メッセージの配信は、SQS および HTTP(S) のエンドポイントでサポートされています。Lambda、E メール、SMS のエンドポイントへの配信は、「RawMessageDelivery」プロパティと関係なくこれまでどおりに機能します。

Q: raw メッセージは、HTTP エンドポイントにどのように配信されますか?

raw 形式のメッセージが HTTP(S) エンドポイントに配信される時は、HTTP POST の本文にメッセージ本文が含まれます。


Q: SNS モバイルプッシュとは何ですか?

SNS モバイルプッシュは、Simple Notification Service(SNS)を使用してプッシュ通知を Apple、Google、Fire OS、Windows のデバイスに配信するサービスです。中国国内の Android デバイスには、Baidu Cloud Push を使用して配信します。プッシュ通知を使用すると、インストールされているモバイルアプリケーションからユーザーに、イベントなどの通知をアプリケーションを開くことなく瞬時にポップ表示することができます。例えば、スポーツアプリをインストールしていてプッシュ通知を有効にしている場合、アプリを実行していない時でもお気に入りのチームの最新のスコアが通知されるようになります。通知はデバイスに表示され、ユーザーが確認するとアプリケーションが起動して詳細な情報が表示されます。ユーザーエクスペリエンスは SMS の受信に似ていますが、さらに機能が向上し、かかる費用もわずかです。

Q: プッシュ通知の送信を開始する方法

プッシュ通知はアプリがインストールされているデバイス、および通知を受信するよう選択しているユーザーにのみ送信できます。SNS モバイルプッシュではプッシュ通知の送信を明示的に選択する必要はありませんが、iOS、Android、Kindle Fire オペレーティングシステムでは選択する必要があります。SNS でプッシュ通知を送信するには、アプリケーションおよびインストールされている各デバイスを SNS に登録する必要があります。詳細は、Amazon SNS モバイルプッシュ通知の使用を参照してください。

Q: サポートされているプッシュ通知プラットフォームは何ですか?

現在、次のプッシュ通知プラットフォームがサポートされています。

  • Amazon Device Messaging(ADM)
  • Apple Push Notification Service(APNS)
  • Google クラウド メッセージング(GCM)
  • Windows プッシュ通知サービス(WNS): Windows 8 以降と Windows Phone 8.1 以降が対象
  • Microsoft プッシュ通知サービス(MPNS): Windows Phone 7 以降が対象
  • Baidu Cloud Push: 中国国内の Android デバイスが対象

Q: SNS 無料利用枠で送信できるプッシュ通知の数はいくつですか?

SNS 無料利用枠には 100 万件の発行と 100 万件のモバイルプッシュ配信が含まれます。したがって、毎月 100 万件までのプッシュ通知を無料で送信できます。すべてのモバイルプッシュエンドポイントへの通知が、この無料のモバイルプッシュ配信 100 万件に含まれます。

Q: プッシュ通知を有効にする際に SNS モバイルプッシュで特別な確認は必要ですか?

いいえ、必要ありません。SNS がプッシュ通知を配信してもしなくても、エンドユーザーは初めてアプリケーションを実行した時にプッシュ通知を受信するよう選択します。

Q: SNS モバイルプッシュを使用するためにクライアントアプリに変更を加える必要はありますか?

SNS を使用するためにクライアントアプリに変更を加える必要はありません。Baidu Cloud Push が正しく動作するには、Baidu 固有のコンポーネントがクライアントコードに追加されている必要があります。これは、SNS を使用するかどうかとは無関係に必要です。

Q: SNS トピックとモバイルプッシュの動作の仕組みを教えてください。

SNS トピックにはすべてのサポートされているプッシュ通知プラットフォームと、SMS や E メールなどの他のすべてのエンドポイントの受信者が含まれます。トピックに通知を発行すると、SNS がそのメッセージの同一コピーをトピックにサブスクライブしている各エンドポイントに送信します。各プッシュプラットフォームに送信された正確なペイロードを定義するためプラットフォーム固有のペイロードを使用している場合は、該当するプッシュ通知プラットフォームで課されたペイロードの最大サイズを超えると発行は失敗します。

Q: 各種ターゲットプラットフォームでサポートされているペイロードサイズはどれくらいですか?

SNS では基盤となるネイティブプラットフォームでサポートされている最大ペイロードサイズがサポートされます。JSON オブジェクトを使用するとプラットフォーム固有のメッセージを送信できます。詳細は、「SNS モバイルプッシュ API の使用」をご覧ください。

Q: プラットフォーム固有のペイロードの仕組みを教えてください

トピックへ発行する時、異なるプッシュ通知プラットフォームのエンドポイントにカスタマイズしたメッセージを送信する場合は、[Publish] ダイアログボックスで [Use different message body for different protocols] オプションを選択してメッセージを更新する必要があります。プラットフォーム固有のペイロードを使用して、各プッシュ通知サービスへリレーされる正確な API 文字列を指定できます。例えば、プラットフォーム固有のペイロードを使用して、APNS 経由で iOS アプリのバッジカウントを操作できます。詳細は、Amazon SNS モバイルプッシュ通知の使用を参照してください。

Q: 1 つのトークンで複数のトピックにサブスクライブできますか?

はい。1 つのトークンで SNS トピックに無制限にサブスクライブできます。

Q: 直接アドレス指定とは何ですか? どのような仕組みですか?

直接アドレス指定では、同一のメッセージをトピックのすべての受信者へ送信するのではなく、1 つのエンドポイントへ通知を直接送信できます。これは、正確にターゲットを絞ったメッセージを各受信者へ送信する場合に便利です。デバイストークンを SNS に登録すると、SNS がそのトークンに対応するエンドポイントを作成します。トピックへ発行するのと同じように、トークンエンドポイントに発行できます。通知のテキストまたはアプリケーションのバッジカウントの更新などプラットフォーム固有の機能を利用できるプラットフォーム固有のペイロードを直接発行できます。直接アドレス指定は現在プッシュ通知のエンドポイントでのみ利用可能です。

Q: SNS では SMS や E メールの直接アドレス指定がサポートされていますか?

現時点では、直接アドレス指定がサポートされているのは、モバイルプッシュエンドポイント (APNS、GCM、ADM、WNS、MPNS、Baidu) と SMS のみです。E メールによるメッセージングでは、トピックを使用する必要があります。

Q: SNS モバイルプッシュでは、通知サービスからのトークンフィードバックがどのように処理されますか?

APNS や GCM などのプッシュ通知サービスからは、期限切れの可能性のあるトークンや新しいトークンに置き換えられた可能性のあるトークンに関するフィードバックが提供されます。APNS や GCM で特定のトークンが期限切れまたは無効になったと報告された場合、そのトークンに関連したアプリケーションエンドポイントは SNS により自動的に "無効化" され、この変更がイベントで通知されます。この際、特に GCM では、トークンが無効であると表示されるのみではなく、SNS への応答として、アプリケーションエンドポイントに関連付けられた新しいトークンも提供されます。この場合、SNS では、関連付けられたエンドポイントが新しいトークンの値に自動的に更新され、エンドポイントが有効なままとなります。その後、この変更がイベントで通知されます。

Q: 既存のアプリケーションを SNS モバイルプッシュに移行できますか?

はい。コンソールインターフェイスまたは API 経由で既存のデバイス トークンを Amazon SNS へバルクアップロードできます。また、関連するプッシュ通知サービスのクレデンシャルをアップロードしてアプリを SNS に登録し、プロキシやアプリを構成して今後の新しいトークンを SNS に登録します。

Q: Amazon CloudWatch 経由で自分のプッシュ通知をモニターできますか?

はい。SNS では 発行したメッセージ数、通知に成功した数、通知に失敗した数、フィルターで除外された通知数、発行したデータサイズの Cloudwatch メトリクスを発行します。メトリクスはアプリケーションごとに利用可能です。CloudWatch メトリクスは、AWS マネジメントコンソールまたは CloudWatch API 経由でアクセスできます。

Q: Amazon SNS がサポートしているのは、どのような種類の Windows プッシュ通知ですか?

SNS では、Microsoft WNS と MPNS のすべての種類のプッシュ通知がサポートされます。つまり、トースト、タイル、バッジ、直接などの通知です。どの種類の通知を使用するかは、TYPE メッセージ属性で指定します。デフォルトのペイロードを使用して同じメッセージをすべてのモバイルプラットフォームに送信するときは、特に指定しない限り、Windows プラットフォームに対してはトースト通知が選択されます。プラットフォーム固有のペイロードを使用するときは、Windows プラットフォームの通知の種類を指定する必要があります。

Q: SNS は、Windows の直接プッシュ通知をサポートしていますか?

はい。直接通知を SNS 経由で送信するには、通知ペイロードをテキストとしてエンコードする必要があります。

Q: Baidu Cloud Push とは何ですか?

Baidu Cloud Push とは、Android デバイスのための、サードパーティによる代替プッシュ通知中継サービスです。Baidu Cloud Push を使用すると、中国国内の Android ユーザーに通知を配信できるようになります。開発したアプリをユーザーがどの Android アプリストアからダウンロードするかを問いません。Baidu Cloud Push の詳細については、http://developer.baidu.com/cloud/push をご覧ください。

Q: Baidu 通知は、どのパブリック AWS リージョンからでも発行できますか?

はい。SNS は、すべてのパブリック AWS リージョンからの Baidu プッシュ通知をサポートしています。

Q: Baidu 通知は、どの Android アプリストアに対しても使用できますか?

はい。Baidu プッシュ通知は、どの Android アプリストアからインストールされたアプリに対しても動作します。

Q: メッセージ属性とは何ですか?

メッセージ属性を使用すると、メッセージに関する構造化メタデータ項目(タイムスタンプ、地理空間データ、署名、識別子など)を指定することができます。メッセージ属性は必須ではなく、メッセージ本文とは分かれていますが、本文とともに送信されます。この情報は、受信者がそのメッセージをどのように扱うかを、メッセージ本文を処理する前に判断するのに役立ちます。

SNS メッセージ属性は、SQS やモバイルプッシュのエンドポイントとともに使用できます。メッセージ属性の詳細については、SNS 入門ガイドを参照してください。

Q: SNS ではどのようなメッセージ属性がサポートされていますか?

SNS でサポートされるメッセージ属性は、エンドポイントのタイプごとに異なります。これは、各エンドポイントタイプが何をサポートするかによって決まります。

  • SQS エンドポイントの場合は、名前-型-値の 3 つから成る属性を 1 メッセージにつき 10 個まで指定できます。サポートされるタイプには、文字列、バイナリおよび数値 (整数、浮動小数点およびダブルを含む) があります。
  • モバイルプッシュエンドポイントの場合は、各モバイルプラットフォームがサポートするメッセージ属性(通知の種類など)を利用できます。
Q: 存続時間(TTL)とは何ですか?
 
SNS で送信できるメッセージの中には、意味や価値を持つ時間が限られているものがあります。Amazon SNS では、メッセージごとに TTL(存続時間)の値を設定できるようになりました。あるメッセージが配信されず、エンドユーザーに読まれなかった場合は、TTL が経過するとそのメッセージは削除されます。TTL は秒単位で指定され、Publish 呼び出しが行われた時点を基準とします。
 
Q: メッセージの TTL はどのようにして指定するのですか?
 
TTL を使用するには、コンソールまたは API を使用します。TTL の指定はメッセージを発行するときに、次のメッセージ属性を使用して行います。プラットフォームごとに異なる属性があります。特定のプラットフォームに対して指定された属性は、そのプラットフォームへの通知配信のみに適用されます。
 
Q: デフォルト TTL とは何ですか?
 
SNS で使用されるデフォルトの存続時間(TTL)は、どのモバイルプラットフォームも 4 週間です。
 
Q: TTL メッセージ属性は、メッセージペイロード内で指定された TTL よりも優先されますか?
 
はい。Google GCM と Amazon ADM では、メッセージペイロード内で TTL を指定することが認められています。TTL がメッセージペイロード内とメッセージ属性内の両方で指定されている場合は、SNS ではメッセージ属性での指定が使用されます。
 
Q: TTL = 0 を指定するとどうなりますか?
 
プラットフォームによっては、TTL = 0 は特殊なケースとして扱われます。メッセージがすぐに配信されることもあれば、失効となることもあります。TTL = 0 を指定した場合は、メッセージは TTL = 0 のまま、SNS から該当するサービスに中継されます。これは、この特殊ケースに応じた処理が行われるようにするためです。
 
Q: どの SNS エンドポイントが TTL をサポートしていますか?
 
TTL を使用できるのは、APNS、APNS_Sandbox、GCM、ADM、Baidu、WNS のモバイルプッシュポイントです。Microsoft MPNS では、現時点では TTL はサポートされません。SQS、HTTP、メール、SMS のエンドポイントでも、TTL はサポートされていません。
 
Q: Amazon SNS の配信ステータス機能は何をするのですか?
 
配信ステータス機能を使用すると、サポートされているモバイル通知プラットフォームのプッシュ通知の成功率、失敗率、ドウェル時間に関する情報を収集できます。現在サポートされているプラットフォームには、Apple (APNS)、Google (GCM)、Windows (WNS and MPNS)、Amazon (ADM)、Baidu があります。ステータス情報は、ユーザーに代わって Amazon SNS が作成する Amazon CloudWatch ロググループにキャプチャされます。また、Amazon CloudWatch でアクション可能なメトリクスを作成し、興味のあるパターンに基づいてアラームをトリガーできます。
 
Q:Amazon SNS の配信ステータス機能は、モバイルプッシュ通知向けのみで使用可能な機能でしょうか? 他のエンドポイントタイプでこの機能をサポートする予定はありますか?
 
現時点では、配信ステータス機能はモバイルプッシュ通知と SMS で利用できます。お客様からのフィードバックに基づき、この機能を別のエンドポイントタイプにも拡張するかどうか検討させていただきます。
 
Q: 配信ステータス機能をアクティブ化する方法を教えてください。
 
配信ステータス機能は、 Amazon SNS コンソールからアクティブ化できます。アプリケーションの [Application Actions] ドロップダウンメニューで [Delivery Status] オプションを選択します。詳細については、 ドキュメントをご覧ください。
 
Q: Amazon SNS API から配信ステータス機能をアクティブ化できますか?
 
はい。関連するアプリケーションレベルの属性を Amazon SNS API に追加することで、配信ステータス機能をアクティブ化できます。 ドキュメントに、追加する必要のあるアプリケーションレベルの属性と、配信ステータス機能を有効化するために必要な具体的な API 呼び出しが記載されています。
 
Q: 配信ステータス機能の使用料を教えてください。
 
現時点では、配信ステータス機能をご利用いただいても Amazon SNS で追加料金が発生することはありません。ただし、この機能では Amazon CloudWatch ロググループが作成されるため、使用量によっては、CloudWatch の使用料が発生することがあります。CloudWatch の使用料と無料利用枠の詳細については、 料金表のページをご覧ください。
 
Q: 成功した配信のサンプリング率は選択できるのに、失敗した配信をサンプリングできないのはなぜですか?
 
お客様からのフィードバックにより、大半の開発者はアプリケーションで失敗した配信についてはそのすべてを把握しておきたいと思っており、成功した配信については、そのすべてではなく一部のみを保存しておくことを希望されていることが判明しました。
 
Q: 失敗メトリクスまたはドウェル時間メトリクスに基づいてアラームを設定する方法を教えてください。
 
配信ステータス機能をアクティブ化したら、 Amazon SNS がユーザーに代わって作成したロググループについて、 Amazon CloudWatch ログのログメトリクスフィルタを定義する必要があります。このメトリクスフィルタを定義することにより、失敗率やドウェル時間など、自分の関心のある情報を抽出できます。メトリクスフィルタを定義したら、フィルタを作成して、メトリクスを割り当てることができます。このメトリクスを使用することにより、定義したしきい値に基づいてアラームの設定や通知の送信を実行できます。詳細については、 ドキュメントまたは ブログをご覧ください。
 

Q: Amazon SNS における AWS Lambda エンドポイントのサポートとは何を意味しますか?

AWS Lambda 関数がサブスクライブされている Amazon SNS トピックにメッセージを発行することで、AWS Lambda 関数を呼び出すことができます。Amazon SNS はメッセージのファンアウトをサポートしているため、1 つのメッセージを発行するだけで異なる AWS Lambda 関数を呼び出すことができます。また、Lambda 関数を呼び出すだけでなく、サポートされている Amazon SNS の宛先 (モバイルプッシュ、HTTP エンドポイント、SQS、E メール、SMS など) に対して通知を配信することもできます。

Q: AWS Lambda とは何ですか?

AWS Lambda とは、イベント発生時にお客様のコードを実行し、コンピューティングリソースを自動的に管理するコンピューティングサービスで、新規情報に迅速に対応するアプリケーションを容易に構築できるようになります。AWS Lambda および AWS Lambda 関数の作成方法の詳細については、こちらをご覧ください。

Q: AWS Lambda 関数と Amazon SNS を組み合わせて何ができますか?

Amazon SNS トピックで AWS Lambda 関数をサブスクライブすることで、カスタムのメッセージ処理を実行できます。AWS Lambda 関数を呼び出してカスタムのメッセージ配信処理を実行できます。それには、最初に AWS Lambda 関数にメッセージを発行し、Lambda 関数でメッセージの修正(言語のローカライズなど)を行ってから、それらのメッセージをフィルタリングして、別のトピックおよびエンドポイントにルーティングします。Amazon SNS 通知をすでに送信しているアプリケーションやサービス(Amazon CloudWatch など)では、インフラストラクチャのプロビジョニングや管理を行うことなく、AWS Lambda をすぐに活用してカスタムのメッセージ処理を実行できます。また、他の AWS サービス(Amazon Kinesis や Amazon S3)にメッセージを発行する方法として、AWS Lambda 関数への配信を利用することもできます。AWS Lambda 関数を Amazon SNS トピックでサブスクライブして、その Lambda 関数で別のサービスにメッセージを送信することができます。

Q: Amazon SNS で AWS Lambda エンドポイントのサポートをアクティブ化するにはどうすればよいですか?

最初に、AWS アカウントと AWS Lambda コンソールを使用して AWS Lambda 関数を作成します。次に、その AWS Lambda 関数を、Amazon SNS コンソールまたは Amazon SNS API を使用して、トピックでサブスクライブします。この操作が完了すると、Lambda 関数がサブスクライブされている Amazon SNS トピックに対して発行されたメッセージはすべて、適切な Lambda 関数、およびそのトピックをサブスクライブしているその他すべての宛先に配信されます。

Q: Amazon SNS から AWS Lambda 関数にメッセージを配信するとどうなりますか?

Amazon SNS から AWS Lambda 関数にメッセージを配信すると、AWS Lambda 関数のインスタンスが作成され、配信されたメッセージを入力として、その Lambda 関数が呼び出されます。メッセージの形式の詳細については、Amazon SNS のドキュメントおよび AWS Lambda のドキュメントを参照してください。

Q: この機能を使用するにはいくらかかりますか?

Amazon SNS でメッセージを発行すると、100 万リクエストにつき 0.50 USD の料金が発生します。AWS サービスを使用することによって発生する料金を除き、AWS Lambda 関数にメッセージを配信することで追加料金が発生することはありません。Amazon SNS には、毎月 100 万リクエストの無料利用枠があります。詳細は、Amazon SNS 料金表を参照してください。AWS Lambda 関数の使用料は、関数に対するリクエスト数、コードの実行時間に基づいて算出されます。AWS Lambda では 1 か月間に 100 万件のリクエスト、および 40 万 GB-秒のコンピューティング時間が無料利用枠となっています。詳細は、AWS Lambda 料金表を参照してください。

Q: 他の誰かによって作成された AWS Lambda 関数を、自分が所有する Amazon SNS トピックでサブスクライブできますか?

現時点では、別のアカウントに属する AWS Lambda 関数をサブスクライブすることはできません。自分の AWS Lambda 関数を自分の Amazon SNS トピックでサブスクライブすることはできます。また、自分の AWS Lambda 関数を他のアカウントで作成された Amazon SNS トピックでサブスクライブすることもできます(ただし、その SNS トピックのトピックポリシーで許可されていることが条件)。

Q: 1 つの Amazon SNS トピックでサブスクライブできる AWS Lambda 関数の数に制限はありますか?

Amazon SNS では、AWS Lambda 関数を他の宛先と同様に扱います。SNS は、デフォルトで、1 トピックあたり 1 千万サブスクリプションを上限値として設定しています。制限の引き上げを要求するには、こちらからご連絡ください。

Q: AWS Lambda 関数には、どのようなデータを渡すことができますか?

Amazon SNS メッセージを送信した結果として呼び出された AWS Lambda 関数は、SNS イベントを介して、メッセージ ID、トピック ARN、メッセージペイロード、メッセージ属性などのデータを受け取ります。AWS Lambda 関数に渡されるイベント構造の詳細については、ブログを参照してください。

Q: AWS Lambda 関数に対するメッセージ配信のステータスを追跡することはできますか?

メッセージ配信の成功や失敗を追跡するには、Amazon SNS の配信ステータス機能をアクティブにする必要があります。この機能をアクティブにする方法の詳細については、ブログを参照してください。

Q: AWS Lambda は、どのリージョンで利用できますか?

AWS Regions and Endpoints のリストを参照してください。

Q: AWS Lambda 関数は、Amazon SNS で使用されているのと同じリージョンに存在する必要がありますか?

AWS Lambda 関数は、任意のリージョンの Amazon SNS トピックでサブスクライブできます。

Q: AWS Lambda 関数を呼び出すことによってデータ転送コストは発生しますか?

AWS Lambda 関数へのメッセージ配信にはデータ転送コストが発生します。詳細については、料金表を参照してください。

Q: AWS Lambda 関数の同時実行性に制限はありますか?

AWS Lambda では現在、AWS アカウントあたり 100 個までリクエストを同時実行できます。お客様が AWS Lambda に Amazon SNS メッセージを配信したことによってこの同時実行上限値を超えた場合、お客様の Amazon SNS メッセージ配信はスロットリング(調整)されます。Amazon SNS メッセージが AWS Lambda によってスロットリングされた場合、Amazon SNS はメッセージ配信を再試行します。AWS Lambda の同時実行制限に関する詳細については、AWS Lambda のドキュメントを参照してください。

Q: Amazon SNS は、ユーザーが他のサービス(たとえば、Amazon S3)で使用しているのと同じ AWS Lambda 関数を使用できますか?

Amazon SNS で、ユーザーが他のサービスで使用している AWS Lambda 関数を使用するには、その Lambda 関数が当該サービスのイベント形式だけでなく、Amazon SNS のイベント形式も解析できる必要があります。SNS イベント形式については、ブログをお読みください。

 

Q: iOS 向け VoIP プッシュ通知とは何ですか?
iOS 8 以降では、着信 VoIP コールがユーザーに届いた時に必要に応じて iOS でアプリケーションを起動または稼働させるように、voice-over-IP (VoIP) アプリケーションを VoIP リモート通知用に登録できます。VoIP 通知の登録手順は、iOS での通常のプッシュ通知の登録と同様です。詳細については、ドキュメントを参照してください。

Q: VoIP プッシュ通知と他のプッシュ通知を同じ iOS アプリケーションで使用できますか?
はい。iOS アプリケーションで両方の種類のプッシュ通知を受信するよう登録することができます。ただし、通常のプッシュ通知証明書の他に、VoIP プッシュ通知証明書を Apple から取得し、新しいプラットフォームアプリケーションを Amazon SNS で作成して、プラットフォームタイプに Apple VoIP プッシュを選択する必要があります。詳細については、ドキュメントを参照してください。

Q: Mac OS プッシュ通知とは何ですか?
Amazon SNS を使用して Mac OS X Lion (10.7) 以降搭載の Mac OS デスクトップにプッシュ通知を送信することができるようになりました。詳細については、ドキュメントを参照してください。