sns(simple notification service)で、sms(short message service)を利用してみる

sns(simple notification service)で、sms(short message service)を利用したことがなかったので、調べた時のメモです。公式マニュアルはこちらです。

Amazon SNS の SMS メッセージを送信 - Amazon Simple Notification Service

プリファレンスの設定


まずはプリリファレンスを設定します。snsのページにて、左ペインの Text Messaging(SMS) をクリックし、 Manage text messaging preferences をクリック。プリファレンスの設定ページにて、以下の項目に適当な値を入力します。

f:id:goodbyegangster:20181116032956p:plain

Default message type

利用するメッセージタイプを指定。以下の2種類があります。

  • Promotional
    • マーケティングメッセージなどの非クリティカルなメッセージ
    • 最も低いコストが発生するように、メッセージ配信が最適化される
  • Transactional
    • Multi-Factor Authentication のワンタイムパスコードなど、顧客のトランザクションをサポートするクリティカルメッセージ
    • 最も高い信頼性の実現されるように、メッセージ配信が最適化される

発生コストは、 Transactional のほうが若干高くなっています。

Account spend limit

SMSメッセージ利用料の上限額を設定します。デフォルトでは1.00USDに設定されており、この値を上回った場合、SMSメッセージの配信が停止されます。コンソールからは変更できず、AWSサポートに連絡することで上限額を変更できます。

運用する場合、絶対に超過しないだろう値に設定しておきたいです。

IAM role for CloudWatch Logs access

CloudwatchLogsにログを吐いてくれるので、snsがCloudwatchLogsにアクセスするためのIAMロールを設定します。 Create IAM role をクリックすると、デフォルトのIAMロールが作成されます。CloudwatchLogsに出力されるログには、送信先の電話番号がログとして残ることになるので、個人情報を気になる場合には、IAMによるアクセス権限の徹底やログの暗号化を実施しましょう。

CloudwatchLogs暗号化の手順はこちらです。

を使用した でのログデータの暗号化 - Amazon CloudWatch Logs

Default percentage of success to sample

CloudwatchLogsにログを書き込むパーセンテージを指定。以下のイメージです。

  • 0
    • 失敗した配信のみログに書き込む
  • 10
    • 失敗した配信のほか、正常配信の10%をログに書き込む
  • 100
    • 失敗した配信のほか、全ての正常配信をログに書き込む

Default sender ID

デフォルトの送信者IDを指定します。送信者IDとは、SMSを受け取った時に、送信者情報として記載される値ですね。国により送信者IDの利用可否があるのですが、日本の場合、独自の送信者IDを利用できます。送信者IDを指定しない場合、日本では、 NOTICE: という文字列が表示されることになります。

Reports storage

SMSの毎日の仕様状況をレポートで受け取れます。受信先となるS3バケットを指定します。指定したS3バケットには、snsにたいする権限をバケットポリシーにて与えて置く必要があります。

以下の公式サイトに、設定すべきポリシー例を記載してくれています。ここも電話番号ががっつり記載されることになるので、気になる場合、S3 Bucketを暗号化しておきましょう。

SMS の毎日の使用状況レポートの表示 - Amazon Simple Notification Service

SMSの発送


実際にSMSを送ってみます。 Send a text message (SMS) をクリックして、必要情報を入力します。

f:id:goodbyegangster:20181116033512p:plain

Sender ID に値を入れた場合、上のプリファレンスで設定した情報は上書きさて、送信されます。

その他、用語について


SMSを扱うのが初めてであり、よく分からない点多かったので、その時に調べた内容をメモしておきます。

ショートコード

結論から言うと、日本では利用できない機能なので、気にしなくてOKです。どんな機能なのかと言うと、こんな感じみたいです。

ユーザーはコンテンツがほしければ、事業者宛てにSMSを送信する。海外ではコンテンツプロバイダが、『ショートコード』と呼ばれる4~5桁の事業者番号を取得している。このショートコード宛にSMSを送信するわけだ。

もちろん、その事業者が提供する「どのコンテンツが欲しいか」を別途指定する必要がある。このためSMSの本文欄には、コンテンツを指定するためのユニークなID(数字列)を記載する。

SMSで流通する携帯コンテンツ - ITmedia Mobile

事業者は通信事業者に対して、自分の企業で利用したいショートコードを登録します。一般利用者がそのショートコードに定められたショートメッセージを送信すると、何かしらの返信を受けとれる、というサービスなのでしょうか。

オプトイン/オプトアウトについて

下記サイトの説明がすごくわかりやすかったので、抜粋します。

オプトイン、オプトアウトって何ですか? : 迷惑メール対策委員会

「オプトイン」と「オプトアウト」は、それぞれ英語の“opt in”と“opt out”を語源としています。“opt”とは(自)動詞で、“選ぶ”とか“決める”という意味があります。そして、“in”と“out”は、その名の通り“入る”とか“出る”という意味があります。

つまり、「オプトイン」とは、活動や団体に対して“参加する”とか“加入する”という意味合いを持つ言葉です。それに対して「オプトアウト」は、“不参加”とか“脱退する”という意味合いになります。

これがダイレクトメール等の、利用ルールに関係してきます。

オプトアウト方式では、受信者が出来ることは受信拒否手続きなどに限定されていましたが、オプトイン方式では受信者がメールを受信するにあたり事前にその趣旨や内容を吟味できることになります。極端な話、受信者が「メールを送っていいですよ」と言わなければメールが届くことはありません。また、身に覚えのないメールに対して苦情が言いやすくなっています。

日本国内では、平成20年12月1日に施行されたた迷惑メール対策関連の改正法により、広告・宣伝メールなどの送信が、それまでのオプトアウト方式からオプトイン方式に変更されました。

ふむふむ。