Amazon Simple Notification Service(Amazon SNS)は、クラウドからの通知のセットアップ、作業、送信を簡単にするウェブサービスです。これは開発者に拡張性が高く、柔軟で、費用対効果の高い機能を提供し、アプリケーションからメッセージを発行して、それらを直ちに受信者またはその他のアプリケーションに伝達することができます。そして、ウェブスケールな処理能力を開発者が簡単に利用できるよう設計されています。
Amazon SNS はシンプルなウェブサービス インターフェイスおよびブラウザベースの管理コンソールを提供し、これらを使用して、アプリケーション(または人々)に通知したいトピックの作成、これらのトピックのクライアント登録、メッセージの発行、クライアントが選択するプロトコル(例: HTTP、Eメール、SMS など)でこれらのメッセージの伝達を行うことができます。Amazon SNS は、「プッシュ」メカニズムを用いてクライアントに通知を行います。これは新しい情報や更新の定期的な確認または「調査」を必要としません。Amazon SNS は、信頼性が高く、イベント駆動型のワークフローやメッセージングアプリケーションを構築するために利用できます。複雑なミドルウェアやアプリケーション管理は必要ありません。その他、Amazon SNS の利用が考えられるものには、アプリケーション、ワークフローシステム、タイミングが鍵となる情報の更新、モバイルアプリケーション等のモニタリングへの適用があります。他のすべての Amazon Web Services と同様に、初期費用は発生しません。お客様が使用した分に対してのみの支払いで利用可能です。
Amazon SNS は、アプリケーション内でイベント駆動型のニーズを有する開発者やビジネス向けに設計されており、シームレスに拡張可能で、柔軟性と信頼性の高い、費用対効果の高いメッセージングソリューションを提供します。Amazon SNS は、幅広いアプリケーションニーズを満たすことができるように、開発者が高度にカスタマイズすることが可能です。
Amazon SNS を使用するには、簡単な手順をいくつかふむだけです。
Amazon SNS を利用することで、カスタマイズされたメッセージングソリューションを開発したり、オンサイトの維持管理を必要とするシステムのためにソフトウェアのライセンスを支払うよりも、多くのメリットを得ることができます。
高い信頼性: Amazon SNS は Amazon の実績あるネットワーク インフラストラクチャ内で稼動しています。ですので、アプリケーションがトピックを必要とする時はいつでも利用可能です。メッセージが紛失するのを防ぐため、Amazon SNS に対して発行される全メッセージは、複数のサーバーとデータセンターで冗長的に格納されます。
高い拡張性: Amazon SNS は規模が大きく、要件の厳しいアプリケーションのニーズにも対応するよう設計されています。これにより、アプリケーションはいつでも、必要なだけのメッセージを発行することができます。
シンプル: ほとんどの場合、開発者はたった3つの API: CreateTopic、Subscribe、および Publish のみを用いて、Amazon SNS の使用を開始することができます。またその他の API を利用して、高度な機能を提供することもできます。
高い柔軟性: Amazon SNS を使用すれば、異なるデバイスを利用したアプリケーションやエンドユーザーでも、HTTP/HTTPS、Email/Email-JSON、SMS、または Amazon Simple Queue Service (SQS) キュー経由で、通知を受け取ることができます。将来的にはさらに多くのプロトコルが追加される予定です。
高い安全性: Amazon SNS はアクセスコントロールメカニズムを提供し、トピックとメッセージが、許可のないアクセスから保護されるようにします。トピックの所有者はトピック用のポリシーを設定して、トピックの発行者または受信者を制限することができます。さらに、トピックの所有者は、配信メカニズムが HTTPS を必要とするよう指定することにより、通知の暗号化を行うことができます。
低コスト: Amazon SNS のお客様は、初期費用や契約がない、従量制の価格設定の恩恵を受けることができます。Amazon SNS を使用してメッセージを送信するための唯一の費用は、リクエスト、配信通知ごとの小額の手数料とデータ転送料です。
他の Amazon Web Services との親和性: Amazon SNS は今日、Amazon SQS や EC2 といった他の AWS サービスと連携しています。例えば、EC2 を実行中のアプリケーションは、Amazon SNS に対してイベント/情報の更新を発行して、それらを直ちに他のアプリケーションまたはエンドユーザーに配信することができます。さらに、受信者は Amazon SQS を配信プロトコルとして選択し、Amazon SQS キューに通知の送信を行って、配信の保証と、メッセージの保持を行うことができます。今後、Amazon SNS は、Amazon S3 や SimpleDB といった他のAWSサービスと統合される予定です。Amazon SNS はすべての AWS リージョンでサポートされていますが、SMS 通知は米国東部リージョンのみでサポートされています。今後数ヵ月で、他の AWS リージョンおよび国でも SMS 通知をサポートできるようにする予定です。
Pay only for what you use. There is no minimum fee. Estimate your monthly bill using the AWS Simple Monthly Calculator.
The pricing below is based on data transferred “in” and “out” of Amazon SNS.
Data transfer “in” and “out” refers to transfer into and out of Amazon SNS. Data transferred between Amazon SNS and Amazon EC2 within a single region is free of charge (i.e., $0.00 per GB). Data transferred between Amazon SNS and Amazon EC2 in different regions will be charged at Internet Data Transfer rates on both sides of the transfer.
* Your free usage is calculated each month across all regions and automatically applied to your bill – free usage does not accumulate.** As part of AWS’s Free Usage Tier, new AWS customers will receive free 15 GB of data transfer out each month aggregated across all AWS services for one year.*** Data transfer out rate tiers aggregate outbound data transfer across Amazon EC2, Amazon S3, Amazon RDS, Amazon SimpleDB, Amazon SQS, Amazon SNS, Amazon DynamoDB, AWS Storage Gateway, and Amazon VPC.Amazon SNS は AWS Management Console から簡単にアクセスできます。ユーザーは、ポイント・アンド・クリックのウェブベースのインターフェイスで Amazon SNS を設定・管理できます。
Amazon SNS は、使いやすく柔軟性の高い、シンプルな API のセットを提供します。利用可能な Amazon SNS API の完全なリストについては、Amazon SNS API レファレンスガイドをご参照ください。最も一般的に使用される API とそれらの機能をいくつか以下に記載しています。
CreateTopic: カスタマーが提供するトピック名でトピックを作成します。この1つの API が、受信者が通知の登録を行い、発行者がメッセージを送信できるようにアクセスポイントを確立するために必要なものすべてを含みます。
Subscribe: トピックに対する新しい受信者を登録します。API 呼び出しの一部として、クライアント(受信者またはトピックの所有者)は、通知が伝達されるようにするために、トピック、転送プロトコル(HTTP/HTTPS、Email/Email-JSON、SMS、SQS)およびエンドポイント(URL、Eメールアドレス、電話番号、SQS キュー)を指定する必要があります。Amazon SNS は受信者が明示的に特定のトピックからの通知を受け取る意志を表明しない限り、いかなる通知も行うことはありません。
Publish: トピックに対するメッセージを発行します。つまりそのメッセージをそのトピックに対する全受信者に配信します。API 呼び出しの一環として、発行者はトピックを指定してメッセージのコンテンツを提供する必要があります。Amazon SNS は現在、最大で32KBまでのメッセージ発行を許可しています。
アプリケーション統合: Amazon SNS は、分散型コンピュータアプリケーション間でイベントを中継、データストア間でデータを移動、またはビジネスシステム内の記録を更新するためのワークフローシステムで使用することができます。例えば、アプリケーションを処理するために、通知メッセージをトランザクションが発生するたびに送信することができます。カスタマーが発注を行い、トランザクションが支払い処理者へ承認のために転送され、注文の確認メッセージが Amazon SNS トピックに対して発行されます。この場合トピックは、出品者、カスタマー、サプライチェーンパートナーといった様々なEメールの受信者を有しています。そしてそのトピックについて Amazon SNS に送信される通知は、支払い処理が完了したことを彼らすべてに直ちに伝えることができます。また通知は、より堅牢な注文処理システムを構成するために利用することができます。このシステムでは、HTTP 経由で送信された通知が、在庫システムまたは発送サービスといった関連コンポーネント内で、リアルタイムの処理を開始させることができます。例えば、在庫管理システムは、注文が受理された際に通知を受けることができます。また発送サービスは、注文が発送センターに届き、発送準備ができた際に通知を受けることができます。Amazon SNS は、検証、承認、在庫変更および発送ステータスに関してプログラム的な通知を送信するために使用できます。そのため関連システムコンポーネントとエンドユーザーは、変更が発生するたびに直ちに確認することができます。
タイミングが重要な情報の更新: 別の利用例としては、ビジネス、ソーシャルネットワーク、またはその他の組織の情報配信ニーズをサポートすることがあります。通知は、興味深いイベントについて受信者に連絡するために使用することができます。それらを異なるデバイス上で、通知として受け取ることを選択できます。例えば、特定のソーシャルコミュニティが、あるスポーツまたはチームを熱心に応援しているような場合、点数、スケジュール、選手に関する情報の更新、イベントやチケットの空席状況などを、関心のあるメンバーに簡単に配信することができます。Amazon SNS は、幅広い利用者と即時にやり取りを行い、必要に応じて機能を拡張できる、柔軟で、低額の手段を提供します。
モバイルアプリケーション: Amazon SNS は、タイミングの重要なアプリケーションイベントをモバイルアプリケーションやデバイスに中継するために使用できます。モバイルアプリケーションは、天気予報、交通情報、株式、スポーツ、そして時には多人数参加型ゲームなど、様々なソースから、リアルタイムの情報を配信して統合するようになっています。Amazon SNS は信頼性と拡張性が極めて高いため、リアルタイムイベントが欠かせないアプリケーションを開発する開発者にとって、これが大きな利点となっています。今日開発者は、モバイルアプリケーションを Amazon SNS に容易に組み込んで、HTTP やEメール経由でメッセージを送信したり通知を受け取ったりすることができます。SMS 経由での通知の配信など、Amazon SNS に対する今後の拡張によって、モバイルアプリケーションの開発者にさらなるプロトコルオプションや一層の柔軟性が提供されることでしょう。
Amazon Simple Queue Service(SQS)および Amazon SNS は共に AWS 内のメッセージングサービスですが、開発者にそれぞれ異なった利点を提供します。Amazon SNS を利用すれば、アプリケーションは「プッシュ」メカニズムを使用して、複数の受信者にタイミングが重要なメッセージを送信することができます。そのため更新を定期的に確認または「ポーリング」する必要性がなくなります。Amazon SQS は、分散型アプリケーションが使用するメッセージキューサービスであり、ポーリングモデルを通じてメッセージを交換し、コンポーネントの送受信を切り離すために使用することができます。Amazon SQS はアプリケーションの分散型コンポーネントに対して柔軟性を提供し、同時に利用可能な各コンポーネントを必要とすることなくメッセージの送受信を行うことができます。Amazon SNS と Amazon SQS を共に使用することで、イベントの即時通知を必要とするアプリケーションに対してメッセージを配信できるだけでなく、Amazon SQS キュー内でメッセージを保持し、後に他のアプリケーションのために処理を行うことが可能となります。
Amazon SNS ベータ版では、現在以下の制限が実施されています。
*各 AWS アカウントに付き、100トピック
この制限を超えて使用したい場合は、こちらから当社までお問い合わせください。