AWS SNSでSMS(ショートメッセージ)に通知する

目次

AWS SNSでSMS(ショートメッセージ)に通知する

AWS SNS(Simple Notification Service)では、多彩な通知先を選択できます。公式ドキュメントによると、SNSイベントの通知先は以下のように多数用意されています。

あわせて読みたい
Amazon SNSイベントの送信先 - Amazon Simple Notification Service Amazon SNSイベントの送信先について説明します。 Amazon が (A2A) メッセージングと application-to-application application-to-person (A2P) 通知に分類されたさまざま...

本記事では、SMS(ショートメッセージサービス)に通知する方法を確認します。SNSトピックを作成し、携帯電話の電話番号を登録してSMS通知を設定します。また、Lambda関数を使用してSNSトピックにメッセージを送信します。これにより、AWS SNSを活用してSMSで通知を受け取る仕組みを構築します。

構成

Diagram of specifying SMS (short message) as the destination for SNS notifications.
  • SNSトピックを作成し、通知先にSMSを指定します。
  • Lambda関数を作成し、SNSトピックにメッセージを送信します。

リソース

SNSトピック

Detail of SNS 01.

携帯電話の電話番号とSMSプロトコルを指定して、SNSトピックをサブスクライブします。

AWSアカウントがSMSサンドボックス内の場合の事前準備

動作確認の前に注意が必要です。デフォルトでは、AWSアカウントはSMSサンドボックス内にあります。AWS公式ドキュメントによると、SMSサンドボックスは以下のように説明されています。

Amazon SNS を使用して SMS メッセージを送信し始めると、AWS アカウントの所在地は SMS サンドボックス内になります。SMS サンドボックスは、SMS 送信者としての評判を損なうことなく、Amazon SNS 機能を試すための安全な環境を提供します。

SMS サンドボックス

また、SMSサンドボックス内にある場合、以下が重要です。

SMS メッセージは、認証済みの送信先電話番号にのみ送信できます。

SMS サンドボックス

そのため、動作確認の前に通知先の電話番号を登録する必要があります。

Detail of SNS 02.

「Add phone number」を押下します。

Detail of SNS 03.

登録する電話番号を入力後、「Add phone number」を押下します。

Detail of SNS 04.

指定した携帯電話のSMSアプリに認証用のワンタイムパスワードが送られてきました。

これを登録ページに入力します。

Detail of SNS 05.

ワンタイムパスワードを入力後、「Verify phone number」を押下します。

Detail of SNS 06.

電話番号が登録されました。これでこの番号にメッセージを通知することができます。

Lambda関数

Detail of Lambda 01.

この関数は、SNSにメッセージを送信する役割を持ちます。以下の設定でメッセージを通知します。

  • 件名:hogehoge
  • 本文:fugafuga

関数で実行する具体的なコードについては、以下のページをご参照ください。

あわせて読みたい
CFNでSNS入門 – email版 【CFNでSNS入門 - email版】 AWS SNSはメッセージングサービスです。 今回は入門編ということで、通知先にEmailを指定する方法をご紹介します。 【構築する環境】 2種類...

CloudFormationテンプレート

SNSトピック

Resources:
  Topic:
    Type: AWS::SNS::Topic
    Properties:
      FifoTopic: false
      Subscription: 
        - Endpoint: !Ref PhoneNumber
          Protocol: sms
      TopicName: !Sub "${Prefix}-sns-topic"
Code language: YAML (yaml)

テンプレート全体

GitHub
awstut-fa/159 at main · awstut-an-r/awstut-fa Contribute to awstut-an-r/awstut-fa development by creating an account on GitHub.

動作確認

Lambda関数を実行します。

Detail of Lambda 02.

関数が正常に実行され、SNSトピックにメッセージが送信されました。

携帯電話のSMSアプリを確認します。

Detail of SNS 07.

確かにメッセージ「fugafuga」が送られてきました。ただし、件名として指定した文字列「hogehoge」は無視されるようです。

まとめ

AWS SNSの通知先にSMSを指定する方法を確認しました。SNSトピックを作成し、Lambda関数からメッセージを送信することで、SMSでの通知を実現しました。これにより、重要な情報を迅速に受け取る仕組みを構築できます。

目次