BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Amazon Simple Notification Service (SNS)で全世界配信が可能に

Amazon Simple Notification Service (SNS)で全世界配信が可能に

原文(投稿日:2016/08/31)へのリンク

AmazonのSimple Notification Service (SNS)は、近頃、全世界でSMSの配信ができるようになった。また、5つのAmazon Web Services (AWS)リージョンで使えるようになり、いくつかの新しい機能も追加された。オプトアウト管理やダイレクトパブリッシング、配信ステータス監視、利用上限などだ。

AWSはAmazon SNSを"高速で、柔軟で完全に管理されたプッシュ型お通内サービスであり、大量の受信者にたいして、個別のメッセージや一斉配信メッセージを送信できる"と説明している。AppleやGoogle、Fire OS、Windows端末に対するモバイルプッシュ配信やHTTPのエンドポイントへの配信、メールへの配信、Amazon SQSやAWS Lambdaへの配信ができる。

最近まで、SNSはアメリカベースの電話番号向けにしか配信できず、機能も限定されていたため、ユースケースが限定され、AWSの全世界の顧客への訴求力も限られていた。今回の改善によって200を超えるをサポートし、新しい機能も追加された。Amazonは、"単一のサービスで全世界にSMSを配信でき、複数のメッセージアグリゲータと統合したり、電話番号の管理も必要ない"と主張している。

Amazon SNS Text Messaging Preferences

新しいSNSを紹介するブログ記事では、以前のSMSと今回の新しいSMSを比較している。注目すべき変更は以下の通りだ。

  • 200ヵ国の電話番号をサポート
  • us-east-1以外の5つのリージョンをサポート
  • SMSが使えるデバイスへの直接配信
  • オプトインの排除とオプトアウト管理
  • 配信ステータス監視
  • 利用上限の明示的な強制

また、デバイスをSNSトピックに登録し受信者の同意を待つことなく、SMSが利用できる端末に直接メッセージを送ることができるようになった。複数の電話番号にSMSメッセージを送る購読ベースの送信もオプトインからオプトアウトへ電話番号を管理する方法が変わった。

地域の法律や規則(例えばアメリカやカナダ)の要求に従って、SMSの受信者は Amazon SNSがメッセージとともに送信する長コードまたは短いコードにたいしてSTOPまたはARRET(フランス語)を返すことでオプトアウトできます。オプトアウトした後は、その電話番号でオプトインしない限り、その受信者は二度とあなたのAWSアカウントから送られたメッセージは受信しません。

ユーザはどの電話番号がオプトアウトしており、オプトインできるかを確認できる。しかし、この確認ができるのは30日に一度だけだ。

Amazon SNSはAWSのサービスの中でもっとも早くアカウントレベルの設定による利用上限を強制するのを実現したサービスだ。月単位の利用上限を上回るコストが発生すると、SMSメッセージの配信時に数分、送信が停止する(ユーザはAWS全体の利用とコストをアカウントレベルの予算支払いの警告で確認できる)。

また、環境設定では日時の利用レポートをCSVファイルで受け取るAmazon S3バケットや既定の送信者ID、次のふたつの新しいメッセージモードの規定値を設定できる。

  • プロモーショナル – コストに最適化されている。"致命的でないメッセージ、例えばマーケティングメッセージ"向け。
  • トランザクショナル – 信頼性に最適化されている。"顧客のトランザクションをサポートするような致命的なメッセージ、例えば、多要素認証のためのワンタイムのパスコード"向け。

また、CloudWatch MetricsとSMS配信のログを使ってSMSの動きを監視することもできる。CloudWatchのアラームを作成して配信の失敗数でアラートが上がるようにできる。対応するCloudWatchのログのレコードを分析することもできる。

{
    "notification": {
        "messageId": "34d9b400-c6dd-5444-820d-fbeb0f1f54cf",
        "timestamp": "2016-06-28 00:40:34.558"
    },
    "delivery": {
        "phoneCarrier": "My Phone Carrier",
        "mnc": 270,
        "destination": "+1XXX5550100”,
        "priceInUSD": 0.00645,
        "smsType": "Transactional",
        "mcc": 310,
        "providerResponse": "Message has been accepted by phone carrier",
        "dwellTimeMs": 599,
        "dwellTimeMsUntilDeviceAck": 1344
    },
    "status": "SUCCESS"
}

ログ出力された滞留時間はメッセージをSNSに発行したときから送信先のキャリアに送達されたときまでの時間と受信者のキャリアからのメッセージ送達確認までの時間だ。プロバイダーの応答の属性にはSMS配信の失敗理由のひとつがある場合もある。

現時点でAzureのNotification HubsもGoogle Cloud PlatformのCloud Pub/SubもSMSメッセージをサポートしていない。しかし、両者はTwilioとの統合をサポートしており、MicrosoftやLogic AppsのGoogle’s App Engineのような高いレベルのアプリケーションサービスで利用できる。

Amazon SNSのドキュメントには 開発者ガイドがあり、SMSメッセージ送信APIリファレンスについて書いてある。別にFAQもある。国ごとのSMSの価格、キャリアネットワーク別の価格もある。Amazonによれば、“透明性のあるアプローチでコストの利点を最大限享受できる”そうだ。サポートはAmazon SNSのフォーラムで受け付けている。

 
 

Rate this Article

Relevance
Style
 
 

この記事に星をつける

おすすめ度
スタイル

BT