わずか1時間で完了!初心者向けAmazon SNSを使ったSMS送信入門ガイド

わずか1時間で完了!初心者向けAmazon SNSを使ったSMS送信入門ガイド プログラミング

テクノロジーの進化は日々加速しています。
そして、私たちのコミュニケーション方法も大きく変わりつつあります。

特に、SMS(ショートメッセージサービス)の利用は、個人からビジネスまで幅広く活用されています。
しかし、多くの人にとって、クラウドサービスを使ったSMS送信は未知の領域かもしれません。

そこで、この記事では、Amazon Simple Notification Service(Amazon SNS)を使って、
誰でも簡単にSMSを送信する方法をご紹介します。

初心者の方でもわずか1時間で学べる内容となっています。
この記事を読み終える頃には、自信を持ってSMS送信を行えるようになっているでしょう。

Amazon SNSとは?

Amazon SNSとは、Amazon Simple Notification Serviceのことです。
Amazon SNSは、フルマネージド型のパブリッシュ/サブスクライブ(Pub/Sub)メッセージングサービスです。

SNSと言うと、「ソーシャル・ネットワーキング・サービス」を思い浮かべます。
でも、それとは全然関係ありません。

Amazon SNS、主にメッセージ配信を可能にするサービスです。

  • アラート通知
  • モバイルプッシュ通知
  • メールまたはSMS通知
  • システム間通信

今回は、SMS通知を最速で試すための方法を説明します。
Lambdaに慣れていれば、30分もかからないでしょう。

実際に動くモノを目にするだけでも、技術者としては非常に安心できます。
理屈だけだと、どうしても不安が残ってしまいます。

送信先電話番号の登録

コンソールからAmazon SNSを利用します。

「電話番号を追加」ボタンをクリックして、電話番号を登録します。

とりあえず、ここでは自分の携帯電話番号で良いでしょう。
日本の国番号「+81」から始まる番号を登録します。

「090-1234-5678」であれば、初めの「0」は省略します。
そして、「+819012345678」を登録することになります。

ここまで出来たら、Amazon SNS側での処理は完了です。
と言っても、あくまで開発環境(サンドボックス)の話になります。

Lambda関数の登録

コードは、以下。

import boto3
from botocore.exceptions import ClientError

def lambda_handler(event, context):
    sns_client = boto3.client('sns')

    try:
        response = sns_client.publish(
            PhoneNumber="+819012345678",  # 送信先の電話番号
            Message="Lambda関数の検証です。",  # 送信するメッセージ
        )
        return response
    except ClientError as e:
        print(e.response['Error']['Message'])
        return None

サンドボックスのため、先ほど登録した検証済みの電話番号を設定します。
これだけでOKです。

ただ、関数を作っただけではダメです。
登録した関数に権限を割り当てる必要があります。

今回は、「my_test004」という名前により、次の条件で関数を作成しています。

そうすると、IAMの画面でその関数のロールを確認できます。

このロールに、「AmazonSNSFullAccess」のポリシーをアタッチします。

これにより、作成した関数からAmazon SNSの機能を利用できるようになります。

そして、関数を実行するとスマホにSMSが届きます。
Lambdaを利用すると、たったこれだけで済みます。

タイトルとURLをコピーしました