【新機能】 AWS End User Messaging Notify で電話番号の登録なしに OTP を送信できるようになりました

【新機能】 AWS End User Messaging Notify で電話番号の登録なしに OTP を送信できるようになりました

OTP
2026.04.01

ウィスキー、シガー、パイプをこよなく愛する大栗です。

AWS End User Messaging に、OTP(ワンタイムパスワード)を SMS や音声通話で送信するための新機能 Notify がリリースされました。電話番号の調達やキャリアへの登録が不要で、数分でセットアップが完了します。

AWS End User Messaging Notify とは

AWS End User Messaging Notify は、ワンタイムパスワード(OTP)などの認証コードを SMS や音声通話で送信するためのマネージドサービスです。

従来、AWS で SMS を送信するには電話番号の調達やキャリアへの登録が必要で、利用開始まで数日から数週間かかることがありました。Notify では AWS が管理する電話番号と送信者 ID を使用するため、これらの手続きが不要になり、数分で OTP の送信を開始できます。

従来の Standard SMS との比較

項目 Standard SMS Notify
電話番号のプロビジョニング 必要 必要でない
番号登録 利用者が実施 AWS マネージド
最初のメッセージ送信までの時間 数日〜数週間 数分
メッセージテンプレート 利用者が管理 事前承認、AWS マネージド
不正防止 オプション 必須
ID 管理 利用者が管理 AWS マネージド
ルーティングロジック 利用者が管理 AWS マネージド

対応チャネル

Notify は以下の2つのチャネルに対応しています。

  • SMS: テキストメッセージでの OTP 送信
  • Voice(音声通話): 音声でのOTP読み上げ

サービスティア

Notify には Basic と Advanced の2つのティアがあります。

項目 Basic Advanced
アクセス 設定の作成後すぐに ティアアップグレード検証後
1日のメッセージ送信制限 200 メッセージ 無制限
1秒あたりのトランザクション数(TPS) 1 25
対応国 事前に承認された低リスク国 30 カ国 全てのサポートされた国
アイデンティティの種類 ロングコード、フリーダイヤル、送信者ID ショートコード、ロングコード、フリーダイヤル、送信者ID
SMS プロテクト 必須項目(無効不可) 必須
国別構成 固定(事前承認リストのみ) 設定可能な許可/ブロックルール
デフォルトの支出限度額 通知支出制限を参照 通知支出制限を参照
顧客所有のIDサポート はい(任意の関連プール) はい(任意の関連プール)

Advanced へアップグレードするには、以下のものを提供する必要があります。

  • オプトイン方式:エンドユーザーから同意を取る方法を選択
    • 口頭による同意:電話による同意
    • デジタル方式:Webサインアップフォームやモバイルアプリのアカウント作成、チェックアウトのチェックボックス、または利用規約への同意など
  • オプトインの証明:同意取得プロセスの証拠を提示
    • 口頭による同意の場合:同意が取得される箇所を示す通話スクリプトまたは IVR フロー
    • デジタルオプトインの場合:ユーザーが同意を与えたフォームまたはページのスクリーンショットまたは URL
  • ビジネスドキュメント
    • 事業内容とユースケースについての説明

Basic ティアはすぐに利用開始できるため、まずは検証用途で始めて、本番運用時に Advanced へアップグレードするという流れが良いかと思います。

Notify の仕組み

AWS マネージド ID による送信

従来の Standard SMS では、利用者が電話番号を調達し、キャリアへの登録手続きを行う必要がありました。Notify では、AWS が管理する共有電話番号プールから、送信先の国とチャネルに応じて最適な電話番号や Sender ID が自動的に選択されます。利用者が電話番号のライフサイクルを管理する必要はありません。

事前承認済みテンプレート

メッセージの本文は、AWS が事前に各国のキャリアに対して承認を取得したテンプレートを使用します。現在は CODE_VERIFICATION(認証コード送信)タイプのテンプレートが提供されており、多言語に対応しています。テンプレートには {{code}} のような変数プレースホルダーが含まれており、送信時に実際の値に置き換えられます。

なお、テンプレートの本文を利用者が作成・変更することはできません。カスタムメッセージを送信したい場合は、Standard SMS を使用する必要があります。

SMS Protect による不正防止

全ての API コールに対して、SMS Protect による不正防止が標準で組み込まれています。追加費用なしで以下の保護が提供されます。

  • 人工的にトラフィックを膨らませる攻撃(AIT)のフィルタリング
  • SMS Pumping 攻撃のブロック
  • 国レベルの制限の適用

この保護は必須であり、利用者が無効にすることはできません。セキュリティが標準で担保されている点は安心です。

料金

Notify の料金は Notify 料金とチャネル料金の2つの要素で構成されます。

  • Notify 料金: 送信メッセージ1通あたり $0.045 から
    • 管理番号、テンプレート管理、ルート最適化、SMS プロテクトを含む
  • チャネル料金: チャネルと送信先国によって異なる
    • 標準のAWS End User Messagingチャネル料金と同様

Notify 料金 - ボリュームティア

ティア 月間取引量 メッセージごとの通知料金
Tier 1 最初の 25,000 件 $ 0.045
Tier 2 25,001~100,000 件 $ 0.040
Tier 3 100,001~250,000 件 $ 0.035
Tier 4 250,001 件以上 $ 0.030

チャネル料金

SMS

日本での AWS End User Messaging の通常の SMS 料金は以下になります。

  • Transactional SMS : $ 0.07451

※:OTP認証コードは Promotional SMS ではなく、Transactional SMS とみなされます。

音声

日本での AWS End User Messaging の通常の音声料金は以下になります。

国または地域 発信料金(1分あたり、米ドル)
日本 $ 0.047
日本 - モバイル $ 0.103
日本 - T東京 $ 0.079
日本 - VoIP $ 0.069

対応リージョン

Notify は AWS End User Messaging SMS が利用可能な全リージョンで提供されています。東京リージョン(ap-northeast-1)と大阪リージョン(ap-northeast-3)でも利用可能です。

やってみる

実際に AWS CLI を使って Notify の設定からメッセージ送信までを試してみます。

AWS Console で AWS End User Messaging の Notify 設定 を開き、設定を作成をクリックします。

スクリーンショット 2026-04-01 18.12.52のコピー

任意の表示名を入力します。『1~256 文字である必要があります。英字、数字、スペース、ハイフン、アンダースコアのみを使用できます。』と書かれていますが、16文字以上入力するとエラーになっているようです。修正されることを期待します。

アドバンストを開き、湯高になっているチャネルでVOICEを追加して、言語コードでJapanese (ja)を選択し、テンプレートスタイルで任意のテンプレート(ここでは notify-code-verification-japanese-001 を選択)を選択して設定を作成をクリックします。

スクリーンショット 2026-04-01 18.19.59のコピー

設定が作成されます。作成した設定をクリックします。

スクリーンショット 2026-04-01 18.24.52

テストタブを選択します。

スクリーンショット 2026-04-01 18.28.55

送信先の電話番号に E.164 形式の電話番号(日本であれば +81 で始まる番号)を入力して、チャネルを選択肢、テンプレートの言語設定でJapanese (ja)を選択してテンプレート(ここでは notify-code-verification-japanese-001)を選択し、code に送信するコードを入力して、テストメッセージを送信をクリックします。

notify-code-verification-japanese-001
{{brandName}}: 1回限りの認証コードは {{code}} です。このメッセージは共有しないでください。Notify から送信されました。

スクリーンショット 2026-04-01 18.36.13

この様にテンプレートの内容が反映されて通知されました。

Screenshot_20260401-183927

この様に電話番号を登録せずに SMS で送信できました。

同様に音声でも通知してみます。

スクリーンショット 2026-04-01 18.45.18のコピー

アメリカから電話がかかってきます。

Screenshot_20260401-184535

テンプレートの通りに以下のメッセージが読み上げられます。しかし「verification-1」が「ベリフィケイション マイナスイチ」と読まれたり、『654321』を連続して読むため聞き取りにくいといった状況であるため、音声の使用は考慮が必要そうです。

notify-code-verification-japanese-001
verification-1: 1回限りの認証コードは 654321 です。このメッセージは共有しないでください。Notify から送信されました。

さいごに

AWS End User Messaging Notify により、OTP 送信のハードルが大幅に下がりました。従来は電話番号の調達やキャリアへの登録で数日から数週間かかっていたセットアップが、数分で完了するようになっています。特に SMS 保護による不正防止が標準で組み込まれている点は重要なポイントです。SMS Pumping 攻撃などの対策を別途検討する必要がなく、セキュリティがデフォルトで担保されます。

なお、Amazon Pinpoint のサービス終了が発表されており、SMS 送信機能は AWS End User Messaging に移行されています。今回の Notify はその後継サービスの中でも、OTP 送信に特化した使いやすい機能として位置づけられています。認証には MFA デバイスやパスキーの利用が推奨されますが、一般コンシューマーへの強制も難しいので SMS による OTP がどうしても必要となります、まずは Basic ティアで検証を行い、本番利用時に Advanced ティアへアップグレードする流れで使用していくと良いと思います。

この記事をシェアする

関連記事