こんにちは、アプリケーションサービス部の上田です。
先日、作業中にPinpoint SMSを使う機会があったのですが設定にちょっとまごつくことがありました。 というのもPinpoint SMSでは安全な開発運用とセキュリティの観点からはじめサンドボックス環境に作られるのですが、このサンドボックス環境では承認された電話番号にしかSMSを送信することができないため不特定多数と疎通を行うためには本番環境へのが必要です。
自分が初めて使うサービスということもありちょっとまごつく場面があったので備忘かねてサンドボックス環境の疎通確認と本番環境への移行申請についてつらつら書き記していきます。
Pinpoint SMSとは
SMS送信を行うことのできるAWSサービスで、直接的なユーザーエンゲージメントやマーケティングキャンペーンに適しています。 詳細な分析とターゲティングオプションが提供されておりAmazon SNSよりも細かな確認が可能です。
Pinpoint SMS: 直接的なユーザーエンゲージメントやマーケティングキャンペーン向け
SNS: システム間の通信やアプリケーション統合向け
のような使い分けですね。
サンドボックス環境での疎通確認
サンドボックス環境の疎通は基本的に概要画面に表示されているクイックスタートの内容に沿って設定していけば確認できます。 まずはPinpoint SMSから「ご利用開始」ボタンをクリックして概要ページでサンドボックス環境にあることを確認します。
ここからそれぞれの設定をしていきます。が、その前に下準備をしておきます。
準備:アカウントの発信者IDを設定する
左側のメニューから「送信者ID」を選択し、発信者用のIDを発行します。発信者用IDの他にシミュレーター用の電話番号も発行できるようですが、発信者用IDの方が取り回ししやすかったため自分はこちらを使用しました。
国の選択
ユースケースの設定
発信者タイプの選択
確認とリクエスト
作成後に左側のメニューから再度「送信者ID」をクリックして一覧を表示すると先ほど作成したIDが出てきます。
これで準備完了です。 それでは概要のクイックスタートに沿って設定を進めていきます。
ステップ1.電話プールを作成する
まずはプール名を設定し、発信者タイプを「送信者ID」にし、送信者IDを選択して「電話プールを作成」をクリック 先ほど作成した送信者IDを設定します。
ステップ2.設定セットを作成する
こちらの設定ですが、テスト確認するのみであればオプションのため設定しなくても疎通はできます。 作成することで送信時のログやイベントを作成することができます。
設定セット名とイベント送信先名を入力し、「作成」をクリック
詳細設定からIAMロールの設定やCloudWatchのロググループ設定できますがここでは疎通の確認が目的のため省略します。
ステップ3.保護設定を作成する
こちらもテストの疎通だけなら特に気にしないで問題ないですがセキュリティを考慮して設定しておくとベターだと思います。 今回は日本以外をブロックする設定にしています
アカウントのデフォルトにして「保護設定を作成」をクリック
ステップ4.SMS送信をテストする
送信者IDは先ほど作ったものを選択します。
冒頭に記述した通り、サンドボックス環境は認証した電話番号にしか送信ができないので「新しい電話番号を確認」をクリックし、電話番号情報を入力します。
あとはテストメッセージを入力して送信
こんな感じで送信が確認できればサンドボックス環境として使用することができます。
それでは次に本番環境への移行方法です。
本番環境への移行手順
サンドボックス環境では不特定多数のデバイスに配信できないため、実際に運用する場合には本番環境への移行をAWSサポートに申請します。
AWSサポートへの申請
サポートケースの起票画面で「サービスクォータの増加をお考えですか」のリンクをクリックする
Pinpoint SMSを使用するアプリケーションやオプトインプロセス(送信先の情報をどのように取得して使用するか)を記述する必要があります。
リクエストの部分で以下のように選択することで本番環境への移行(SMS Production Access)を申請できます。
問題なければAWSサポート側で申請が受理され、Pinpoint SMSがサンドボックスから移行します。 もし記述不足などの点があればAWSサポート側から指摘があるので対応を行なう必要があります(1敗)。
また、実際に使用する場合の注意点ですがPinpoint SMSではデフォルトで$1分しかメッセージを送れないように送信制限がついています。本番環境に移行する際にいくらか(自分の場合は$500)は緩和されるのですが、別途送信量を確認し上限緩和の申請を行なった方が良いです。
まとめ
というわけで今回は自分がPinpoint SMSを使用するために行った内容を書き起こしてみました。
初めて使うサービスで戸惑いもありましたが自分の携帯にSMSが届いたときにはおぉ!届いたぞ!と少し感動しました。 今後はLambda関数から呼んでみたりロググループの設定も試してみたいですね。
ここまでお読みくださりありがとうございました。