この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
困っていた内容
Amazon SNS を用いて SMS の送信テストを行っていました。
しかし、一定の量を送信した後、送信エラーが発生しました。
対処法を教えてください。
どう対応すればいいの?
Amazon SNS にて SMS メッセージを送る場合、デフォルトでは 1 ドルの使用制限があります。
使用当初は 1 ドルに満たないため送信することは可能ですが、1 ドルの使用量を超えると送信エラーとなります。
送信エラーとなった場合は、クォータ制限の上限緩和を AWS サポートへご依頼ください。
クォータ制限に達していることをどのように確認できますか?
使用制限に達して送信に失敗している場合は「No quota left for account」というエラーメッセージが CloudWatch Logs に記録されます。
例
{
"notification": {
"messageId": "SAMPLE01-0123-4567-89abcd-SAMPLEef0123",
"timestamp": "YYYY-MM-DD HH:mm:ss.ddd"
},
"delivery": {
"destination": "+81**********",
"smsType": "Promotional",
"providerResponse": "No quota left for account",
"dwellTimeMs": 123
},
"status": "FAILURE"
}
CloudWatch Logs へ記録する場合は以下の手順を実行します。
- Amazon SNS コンソールの左ペインから「テキストメッセージング (SMS)」を選択
- 「テキストメッセージングの優先設定」の項目の「編集」ボタンを押下
- 配信ステータスのログ記録にて、CloudWatch Logs へログを記録するために用いるサービスロールを作成
上限緩和はどのように行えばいいですか?
AWS のサポートセンターへ上限緩和申請を行ってください。上限緩和の際は参考資料「Amazon SNS で SMS メッセージの使用制限の引き上げをリクエストする」に記載の情報が必要となります。
参考資料
SMS 配信用の Amazon CloudWatch のメトリクスおよびログを表示する - Amazon Simple Notification Service