当我的 Amazon Cognito 用户池中的用户登录到我的应用程序时,他们未按预期方式使用一次性密码 (OTP) 收到 Multi-Factor Authentication (MFA) 文本消息。我该如何排查此类消息传输失败问题?
Amazon Cognito 的 MFA SMS(文本)消息通过 Amazon Simple Notification Service (Amazon SNS) 发送。当不按预期方式从 Amazon SNS 发送 SMS 消息时,您可以使用 Amazon CloudWatch Logs 排查传输故障原因。
传输失败问题通常由 AWS 账户达到它的 SMS 支出每月服务配额所导致。如果您的账户达到该服务配额,了解如何申请提高服务配额,然后开始监控您的账户的 SMS 使用情况。
如果您还没有这么做,为您的 SMS 消息启用 CloudWatch Logs。然后,按照以下说明操作。
在 CloudWatch 控制台 中检查 SMS 传输的提供方响应日志。在每个传输状态日志中,providerResponse 属性包含传输成功或失败的原因。
**注意:**如果您现在为 SMS 消息启用 CloudWatch Logs,您将不会看到您的账户在启用日志记录之前的过往 SMS 使用日志。
作为测试,您可以通过 Amazon SNS 将 SMS 消息发送到您自己的手机。如果测试消息未到达,则检查日志的提供方响应。
查看您的账户的 Amazon SNS 指标以了解当月至今的 SMS 支出 (SMSMonthToDateSpentUSD)。
如需更多信息,请参阅绘制指标的图表。
查看账户 SMS 支出的每月 Amazon SNS 服务配额。将其与您的账户的当月至今 SMS 支出进行比较,以确定它是否达到每月配额**。**
如需更多信息,见设置发送 SMS 消息的首选项和 Amazon Simple Notification Service 终端节点和配额。
如果账户达到 SMS 支出的每月 Amazon SNS 服务配额,但您想要发送更多 SMS 消息,请申请提高服务配额。如果您预计自己的每月 SMS 使用量将继续保持不变(或增加),则提高服务配额还能避免此问题再次发生。
除了提高服务配额,随时了解您的账户的 SMS 活动也有助于您避免达到每月的服务配额。请执行以下任意一项操作:
Amazon SNS 常见问题
以美元计的 SMS 消息支出 (Service Quotas 控制台)
使用 CloudWatch 监控 Amazon SNS 主题
向用户池添加 Multi-Factor Authentication (MFA)
向用户池添加高级安全