COLUMN
Amazon SNSとは ~手早く、安価なメッセージ通知プラットフォームの特徴~
NTT東日本がお届けする、クラウドの情報満載のメールマガジンはこちらからご登録ください。
今日、サービスを効率的にスケールしていくためにはユーザーとのコミュニケーションは欠かせません。しかし、ユーザーへの通知方法としてスマートフォン、Eメール、SMSなど多様化する配信先を網羅しつつ自前で配信サービスを構築するにはコストが問題になります。それだけでなく、想定負荷を超えた場合にはシステムスケーラビリティの問題も出てきます。Amazon SNSはこれらの問題を一気に解決し、通知の仕組みづくりをスピーディに実現するAWSサービスです。今回は、Amazon SNSの特徴と基本的な仕組み、活用方法などをご紹介していきます。
Amazon SNSとは
Amazon SNS(Simple Notification Service)はそのためだけにサーバーを用意しなくてもアプリケーションからの通知を可能にするサービスです。ユーザーが何かを行ったタイミングで通知する「イベントドリブン」なメッセージングを手軽に実現できます。
通知の例としては、商品が発送されたタイミングでの発送完了通知や、フリマアプリで出品していた商品が購入されたときのプッシュ通知などがあります。これらはすべてあるイベントを起点にして発行されるメッセージです。またそれだけでなく、登録しているユーザーに対してイベント告知を一斉に行いたい、といった用途も考えられます。
こうした機能を持つオンプレミスシステムを自前で組み上げるとなるとかなりの開発コストがかかるだけでなく、サービスがスケールしていくにつれ、メンテナンスやサーバーの増強などに要する管理コストの問題が顕著になります。そこで利用を考えたいのがAmazon SNSです。
Amazon SNSを使えばサーバーレスで通知機能が実装でき、スケーラビリティについては考慮する必要がありません。これにより開発者はサービスを充実することに注力できるのです。これがAmazon SNSの大きな魅力といえます。
次にAmazon SNSにはどのような特徴があるのか、詳しくみていきましょう。
Amazon SNSの特徴
イベントドリブンのメッセージ通知を実現
ユーザーアクションをトリガーにしたメッセージ通知が行えます。商品の購入、アカウント情報の変更、コンテンツ更新の通知などさまざまな用途で利用可能です。
モバイルのプッシュ通知にも対応
iOS、Androidなどのスマートフォンに対してプッシュ通知が行えます。メールと違ったアプローチが可能となり、高いエンゲージメントが期待できるといわれています。
セキュアなメッセージプッシュ
特定のトピックについて対象を絞った(制限した)通知ができます。HTTPS APIによる通信のセキュアな状態を保つことが可能です。
前払い料金・最低料金なし
Amazon SNSは完全な従量課金制で使った分しか支払う必要がありません。前払い料金や最低料金といったものもありません。
導入・開発をサポートする強力なSDKとIDE
導入・開発のための豊富なバリエーションのSDKが用意されています。そのため、プログラミング言語が導入の障害になることは少ないでしょう。また、Eclipse、Visual StudioなどメジャーなIDEが利用できます。
Amazon SQS、SESとの違い
AWSにはAmazon SNSのほかにもSQS(Simple Queue Service)やSES(Simple Email Service)といったサービスがあります。これらの違いは以下のようにまとめられます。
- Amazon SNS:プッシュ型の通知が得意で、EメールのほかにもSMS、スマートフォンへの通知が可能です。しかし、容量制限があるためEメールで長文コンテンツを届ける用途には向きません。
- Amazon SES:Eメールの送信が得意で、Eメールで充実したコンテンツを届けたい場合に利用できますが、Eメール以外の通知手段は選択できません。
- Amazon SQS:プル型のメッセージ処理が得意で、非同期処理で受け取ったメッセージ(キュー)を処理できます。メッセージを送信するというよりも、受け取ったメッセージ(キュー)を処理するサービスです。
注意点
Amazon SNSにはいくつか注意点があります。
- 決まった時間に送信するといったスケジュール配信ができない
- メールの開封率やA/Bテストといった解析機能がついていない
いわゆるメールマーケティングやメールマガジン(メルマガ)のような使い方はできないですが、その代わりにマーケティング用メール配信ツールと比べて一般的に安いという特徴があります(料金については後述)。
Amazon SNSの機能
主な機能
Amazon SNSは以下の機能で構成されています。
- モバイルPUSH通知
- Pub / Subメッセージング
それぞれみていきましょう。
モバイルPUSH通知
モバイルPUSH通知は、スマートフォンに対して通知ができる機能です。待受中や利用中のユーザーのモバイル端末などに直接通知を送ることができます。Eメールと比べてもエンゲージメント率が高いと言われ、効果的な通知が可能です。
Pub / Subメッセージング
「Pub / Subメッセージング」とは、「パブリッシャー(Publisher)」がメッセージを発行し、「サブスクライバー(Subscriber)」がメッセージを受信することで通知する方式です。「トピック」を定義することで、送信先をグルーピングした一斉配信も可能になります。
トピックを利用すれば、1リクエストでトピックに紐付けられたサブスクライバー全員に送信できるので、複数の送信先に通知するときに有効な方法といえるでしょう。もちろん「エンドポイント」(個別のサブスクライバーのこと)に対して個別に通知を送ることも可能です。
なお、「MQTT」と呼ばれるプロトコルを利用すればPub / Subメッセージングサービスを実現できますが、これを1から構築するのはやはり相応のコストがかかってしまうことでしょう。
Pub / Subメッセージングの概念
その他の機能
対応プロトコル
対応しているプロトコルは多岐に渡ります。モバイルPUSH通知だけでなく、EメールやSMSなど、プロトコルに縛られずに通知できるので、幅広い用途での活用が検討できます。また、Amazon SQSやLambdaと連携すると、より複雑な要件にも対応できるでしょう。
- HTTP
- SMS
- HTTPS
- Email-JSON
- Amazon SQS
- AWS Lambda
- Application
料金
価格は100万件の通知で0.5ドルと、圧倒的な低価格で利用できます。また、最初の100万件は無料で利用可能です。これは運営側としても嬉しいポイントになるでしょう。
なお、最新の料金や料金詳細については公式サイトにてご確認ください。
https://aws.amazon.com/jp/sns/pricing/
通知のモニタリング
Amazon SNS自体には配信状況を確認する機能はありませんが、Amazon CloudWatchを利用することで配信状況のモニタリングが可能です。ただし、先にも述べたようにメールマーケティングやメルマガなどの用途を想定したサービスではないため、開封率を調べるなどの分析はできません。
NTT東日本がお届けする、クラウドの情報満載のメールマガジンはこちらからご登録ください。
具体的な用途・導入例
大量のユーザーを抱えるスマートフォンアプリ
一番イメージが湧きやすい用途がスマートフォンアプリでの一斉通知でしょう。多ければ数百万人のユーザーを抱えるスマートフォンアプリでは、素早く、確実に通知できることが求められます。そういう場合にAmazon SNSを導入すれば、手軽にモバイルPUSH通知が実装できるでしょう。
オペレーションをリアルタイム監視するシステム
物流管理システムでは常に商品がどこにあるのかをトラッキングできる必要があります。Amazon SNSなら検品・引当・承認などのオペレーションごとに通知を行うなど、リアルタイムでの管理が可能です。
世界中にファンを持つスポーツクラブ
世界中にファンを持つスポーツクラブでは、多言語かつ複数のプラットフォームに対しての通知が必須になります。Amazon SNSはSMSだけでも200カ国に対応しているので、ワールドワイドな通知サービスを安価に構築できるでしょう。
より高度な活用方法も
Amazon SQSとの連携
Amazon SNSをAmazon SQSと連携させることで、分散アプリケーションの統合用途でも活用が可能です。Amazon SQSはシステム間の連携通知で利用されるサービスですが通常は1対1で通知(キューへの通知)が行われます。Amazon SNSとAmazon SQSとを組み合わせることにより、1対Nの連携が可能となり、また、疎結合な構成での並列処理が実現可能となります。
たとえば、サーバーに画像がアップロードされたら、画像サイズを変更して、オリジナルの画像データはバックアップデータとして別のサーバーに保存したい場合には、「画像変更」「バックアップ」という処理の通知(命令)を個別に行うことになりますが、これを並列処理できるようになります。
Amazon SQSと連携することで分散アプリケーションの並列処理を実現できる
Amazon Lambdaとの連携
Amazon Lambdaはサーバーレスで処理を実行できるサービスです。Amazon SNSとAmazon Lambdaを組み合わせることで、より高度なメッセージのカスタマイズ、SNS標準のサポート外のプロトコルへの変換など、Amazon SNSの機能だけでは実現できない要件にも対応できるようになります。
シンプルな要求から高度な処理まで
Amazon SNSは、通知サービスとしてトラッキングやA/Bテストなど苦手な部分はあるものの、シンプルであるがゆえに拡張性も高いことが特徴です。機能が豊富すぎる通知サービスを選択した場合、扱いきれない高度な機能が盛り込まれていて高額なコストが発生してしまうこともあります。複数のプロトコルや多言語などに対応しているAmazon SNSで必要最低限の要件対応を検討し、システム連携など複雑な機能要件については他のAWSサービスとの連携で対応するといったことが可能です。また、長期的な成長戦略を描く場合において、スケーラビリティを気にせずサービスに注力できるという点も見逃せないでしょう。
クラウド導入をご検討の方は、NTT東日本へお気軽にお問い合わせください。
RECOMMEND
その他のコラム
無料ダウンロード
自社のクラウド導入に必要な知識、ポイントを
この1冊に総まとめ!
あなたはクラウド化の
何の情報を知りたいですか?
- そもそも自社は本当にクラウド化すべき?オンプレとクラウドの違いは?
- 【AWS・Azure・Google Cloud】
どれが自社に最もマッチするの? - 情シス担当者の負荷を減らしてコストを軽減するクラウド化のポイントは?
- 自社のクラウド導入を実現するまでの具体的な流れ・検討する順番は?
初めての自社クラウド導入、
わからないことが多く困ってしまいますよね。
NTT東日本では
そんなあなたにクラウド導入に必要な情報を
1冊の冊子にまとめました!
クラウド化のポイントを知らずに導入を進めると、以下のような事になってしまうことも・・・
- システムインフラの維持にかかるトータルコストがあまり変わらない。。
- 情シス担当者の負担が減らない。。
- セキュリティ性・速度など、クラウド期待する効果を十分に享受できない。。
理想的なクラウド環境を実現するためにも、
最低限の4つのポイントを
抑えておきたいところです。
-
そもそも”クラウド化”とは?
その本質的なメリット・デメリット - 自社にとって
最適なクラウド環境構築のポイント - コストを抑えるための
具体的なコツ - 既存環境からスムーズにクラウド化を
実現するためのロードマップ
など、この1冊だけで自社のクラウド化のポイントが簡単に理解できます。
またNTT東日本でクラウド化を実現し
問題を解決した事例や、
導入サポートサービスも掲載しているので、
ぜひダウンロードして読んでみてください。
面倒でお困りのあなたへ
クラウドのご相談できます!
無料オンライン相談窓口
NTT東日本なら貴社のクラウド導入設計から
ネットワーク環境構築・セキュリティ・運用まで
”ワンストップ支援”が可能です!
NTT東日本が選ばれる5つの理由
- クラウド導入を
0からワンストップでサポート可能! - 全体最適におけるコスト効率・業務効率の改善を
中立的にご提案 - クラウド環境に問題がないか、
第3者目線でチェック
してもらいたい - 安心の24時間・365日の対応・保守
- NTT東日本が保有する豊富なサービスの組み合わせで
”課題解決”と”コスト軽減”を両立
特に以下に当てはまる方はお気軽に
ご相談ください。
- さまざまな種類やクラウド提供事業者があってどれが自社に適切かわからない
- オンプレミスのままがよいのか、クラウド移行すべきなのか、迷っている
- オンプレミスとクラウド移行した際のコスト比較を行いたい
- AWSとAzure、どちらのクラウドが自社に適切かわからない
- クラウド環境に問題がないか、第3者目線でチェックしてもらいたい
- クラウド利用中、ネットワークの速度が遅くて業務に支障がでている
クラウドを熟知するプロが、クラウド導入におけるお客さまのLAN 環境や接続ネットワーク、
クラウドサービスまでトータルにお客さまのお悩みや課題の解決をサポートします。
相談無料!プロが中立的にアドバイスいたします
クラウド・AWS・Azureでお困りの方はお気軽にご相談ください。