Amazon SNS で SMS を一定量送信後に、急に送信できなくなった時の対処法
困っていた内容
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