Amazon SNS でのモバイルテキストメッセージ (SMS) の問題をトラブルシューティングするにはどうすればよいですか?

所要時間2分
0

モバイルテキストメッセージ (SMS メッセージ) が Amazon Simple Notification Service (Amazon SNS) 経由で送信されません。

解決策

SMS メッセージに対して CloudWatch Logs を有効にして表示する

詳細については、「SMS 配信用の Amazon CloudWatch のメトリクスおよびログを表示する」を参照してください。また、「How do I access Amazon SNS topic delivery logs for SMS messages?」を参照してください。

毎月の SMS 使用クォータ制限の上限を超えていないかどうかを確認する

1.    配信状態ログで、失敗した SMS メッセージ配信 ("status": "FAILURE") を確認します。

2.    失敗となった SMS 配信ログで、**"providerResponse": "No Quota left for account"**という値を確認します。失敗した SMS 配信ログにこの値が表示されている場合は、毎月の SMS 使用クォータ制限を超えています。

失敗した SMS メッセージ配信 CloudWatch ログイベントの例

{
    "notification": {
        "messageId": "efgh9a7-c68f-abcd-bdbe-21ada245e18f",
        "timestamp": "2020-10-21 16:32:10.981"
    },
    "delivery": {
        "destination": "+1234567890",
        "smsType": "Transactional",
        "providerResponse": "No quota left for account",
        "dwellTimeMs": 145
    },
    "status": "FAILURE"
}

注: また、CloudWatch メトリクスの SMSMonthToDateSpentUSD メトリクスをチェックして、毎月の SMS 使用クォータ制限を超えたかどうかを確認することもできます。

3.    毎月の SMS 使用クォータ制限を超えた場合は、Amazon SNS で SMS メッセージの使用制限の引き上げをリクエストすることができます。詳細については、「Requesting a spending limit increase for SMS messages in Amazon SNS」を参照してください。

**重要: ** SMS 使用クォータが引き上げられたら、Amazon SNS コンソール内で、アカウントの使用クォータを調整する必要があります。Amazon SNS コンソールで SMS 設定を更新しない場合、SMS の使用クォータが引き上げられることはありません。

AWS SDK を使用して、SMS メッセージを送信する場合は、メッセージ料金の上限金額を超えていないどうかを確認してください。

1.    配信状態ログで、失敗した SMS メッセージ配信 ("status": "FAILURE") を確認します。

2.    失敗となった SMS 配信ログで、"providerResponse": "delivery would exceed maxprice" という値がないかどうかを確認します。失敗した SMS 配信ログに、この値が表示されている場合は、AWS.SNS.SMS.MaxPrice message attribute 内に設定された価格制限を超えています。

注: CloudWatch メトリクスの PublishSize メトリクスをチェックして、メッセージサイズの制限を超えたかどうかの確認もしてください。メッセージ送信用に設定された最大料金を超えるコストが発生すると Amazon SNS が判断した場合は、メッセージを送信できません。

3.    メッセージの上限を超えた場合は、AWS.SNS.SMS.MaxPrice の値を増やすか、SMS メッセージのサイズを小さくします。詳しくは、「Publishing to a mobile phone」を参照してください。

アカウントが SMS メッセージの送信を承認されていることを確認する

1.    配信状態ログで、失敗した SMS メッセージ配信 ("status": "FAILURE") を確認します。

2.    失敗となった SMS 配信ログで、"providerResponse": "Your account requires additional review prior to being able to send SMS messages" という値がないかどうかを確認します。この値は、お客様のアカウントが SMS メッセージを送信できるようにするうえで必要となる情報を Amazon SNS チームが持っていないことを意味します。
注: Amazon SNS では、不正使用を防ぐために、使用量の上限と使用例を承認するよう SMS メッセージを送信する前にお客様にリクエストします。

3.    アカウントに SMS メッセージの送信承認がない場合は、AWS サポートセンターService limit increase ケースを新規作成します。

発信元の ID がリージョンでサポートされていることを確認する

メッセージの宛先の国または AWS リージョンで、使用する発信元 ID がサポートされていることが必要となります。

例えば、米国の宛先電話番号にメッセージを送信するには、リージョンでサポートされている米国の発信元番号 (TFN/10DLC/ShortCode) であることが必要です。別の例では、カナダの宛先電話番号にメッセージを送信するには、リージョンでサポートされているカナダの発信元番号 (LongCode/ShortCode) であることが必要です。

それぞれの発信元 ID をサポートする国とサポートしない国に関する完全なリストについては、Supported Regions and countries を参照してください。

AWS公式
AWS公式更新しました 1年前