Amazon Cognito がアプリのユーザーに MFA のテキストメッセージを配信しません。この解決方法を教えてください。
最終更新日: 2021 年 7 月 20 日
Amazon Cognito のユーザープールのユーザーがアプリにサインインした場合に、ワンタイムパスワードと共に送信されるはずの多要素認証 (MFA) のテキストメッセージが送信されません。これらのメッセージ配信失敗のトラブルシューティング方法を教えてください。
簡単な説明
Amazon Cognito の MFA SMS (テキスト) メッセージは、Amazon Simple Notification Service (Amazon SNS) で送信されます。Amazon SNS からの SMS メッセージが意図したとおりに配信されない場合、Amazon CloudWatch Logs を使用して配信失敗の原因に対処することができます。
配信の失敗は、通常、AWS アカウントが SMS 使用量の月間サービスクォータに達したときに発生します。アカウントがそのサービスクォータに達した場合は、サービスクォータの引き上げをリクエストする方法を参照し、アカウントの SMS 使用量のモニタリングを開始してください。
解決方法
まだ実施していない場合は、SMS メッセージの CloudWatch Logs を有効にします。その後、以下の指示に従います。
CloudWatch を使用して配信ログを確認する
CloudWatch コンソールで、SMS 配信のプロバイダーレスポンスログを確認します。各配信ステータスログの providerResponse 属性には、配信の成功または失敗の原因が含まれています。
注意: SMS メッセージの CloudWatch Logs を有効にしたばかりの場合は、ロギングを有効にする前のアカウントの SMS 使用状況ログは表示されません。
テストとして、Amazon SNS を使用して、自分の携帯電話に SMS メッセージを送信できます。テストメッセージが届かない場合は、プロバイダーレスポンスのログを確認します。
直近 1 か月間の SMS の使用量を表示する
アカウントの Amazon SNS メトリクスを調べて、直近 1 か月間の SMS の使用量 (SMSMonthToDateSpentUSD) を確認します。
- CloudWatch コンソールを開きます。
- 左ナビゲーションペインで、[Metrics] をクリックします。
- [All metrics] で [SNS] を選択し、次に [Metrics with no dimensions] を選択します。
- [Metric Name] で [SMSMonthToDateSpentUSD] を展開し、[Graph this metric only] を選択します。
注意: [グラフ化されたメトリクス] タブで、[統計] が [最大] に設定されていることを確認します。 - グラフでは、メトリクスの値に注意します。
詳細については、「メトリクスのグラフ化」を参照してください。
SMS 使用量の月次サービスクォータを確認する
SMS 使用量について、アカウントの Amazon SNS の月次サービスクォータを確認します。アカウントの直近 1 か月間の SMS 使用量と比較して、月間クォータに達したかどうかを判断します。
- Amazon SNS コンソールを開きます。
- 左のナビゲーションペインで、[テキストメッセージング (SMS)] をクリックします。
- [テキストメッセージングの優先設定] で [アカウント使用制限] の値を確認します。
詳細については、「SMS メッセージプリファレンスの設定」および「Amazon Simple Notification Service エンドポイントとクォータ」を参照してください。
(オプション) SMS の使用量に対するサービスクォータの引き上げをリクエストする
SMS 使用量について、アカウントが Amazon SNS の月間サービスクォータに達したときに、さらに SMS メッセージを送信することを希望する場合は、サービスクォータの引き上げをリクエストしてください。毎月の SMS の使用量が変わらない (または増加する) と予想される場合は、サービスクォータの引き上げにより、問題が再度発生するのを防ぐこともできます。
アラームを設定し、SMS の使用状況をモニタリングする
サービスクォータの引き上げに加えて、アカウントの SMS アクティビティを常に把握しておくことで、月間サービスクォータに達するのを回避できます。以下のいずれかを実行します。
- SMSMonthToDateSpentUSD メトリクスに対して CloudWatch アラームを作成する。SMS 使用量クォータに達する前に通知するように、アラームを設定します。
- CloudWatch を使用してアカウントの SMS メトリクスとログをモニタリングし、アカウントの使用状況を把握し、コストを予測する。
- SMS 配信統計を確認し、Amazon SNS から毎日の SMS 使用状況レポートをサブスクライブする。