メニュー
Amazon Simple Notification Service
開発者ガイド (API バージョン 2010-03-31)

SMS 配信用の Amazon CloudWatch のメトリクスおよびログを表示する

Amazon CloudWatch および Amazon CloudWatch Logs を使用して、SMS のメッセージ配信を監視できます。

Amazon CloudWatch メトリクスの表示

Amazon SNS は、自動的に SMS メッセージ配信に関するメトリクスを収集し、これらを Amazon CloudWatch にプッシュします。 CloudWatch を使用してこれらのメトリクスを監視し、そのメトリクスがしきい値を超えたときに警告するようにアラームを作成できます。 たとえば、CloudWatch メトリクスをモニタリングして、SMS 配信率と今月の始めから今日までの SMS 料金を知ることができます。

CloudWatch メトリクスのモニタリング、CloudWatch アラームの設定、利用可能なメトリクスの種類についての詳細は、「CloudWatch による Amazon SNS のモニタリング」を参照してください。

CloudWatch Logs の表示

Amazon SNS の Amazon CloudWatch Logs への書き込みを有効化することにより、正常な、および失敗した SMS メッセージ配信の情報を収集できます。 送信した各 SMS メッセージに対して、Amazon SNS は、メッセージの価格、成功または失敗のステータス、失敗の理由 (メッセージが失敗した場合)、メッセージのドウェル時間、その他の情報を含むログを書き込みます。

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

  1. AWS マネジメントコンソールにサインインした後、Amazon SNS コンソール (https://console.aws.amazon.com/sns/v2/home) を開きます。

  2. コンソールメニューで、SMS メッセージングをサポートしているリージョンにリージョンセレクタを設定します。

  3. ナビゲーションペインで、[Text messaging (SMS)] を選択します。

  4. [Text messaging (SMS)] ページで、[Manage text messaging preferences] を選択します。

  5. [テキストメッセージプリファレンス] ページで、CloudWatch ログアクセスの IAM ロールに対して、CloudWatch Logs に SMS 配信のために Amazon SNS がログに書き込めるようにする IAM ロールを作成します。

    1. [Create IAM role] を選択します。

    2. [SNS is requesting permission to use resources in your account] ページで [Allow] を選択します。

  6. [Default percentage of success to sample] で、Amazon SNS が CloudWatch Logs でログを書き込む、正常な SMS 配信の割合を指定します。 たとえば、失敗した配信にのみログを書き込むには、この値を 0 に設定します。 正常な配信の 10% に対してログを書き込むには、10 に設定します。 割合を指定しないなら、Amazon SNS は、すべての正常配信に対してログを書き込みます。

  7. [Update preferences] を選択します。

[テキストメッセージプリファレンス] ページの他のオプションについては、「プリファレンスの設定 (コンソール) 」を参照してください。

正常な SMS 配信のログの例

正常な SMS 配信の配信ステータスのログは次の例のようになります。

{ "notification": { "messageId": "34d9b400-c6dd-5444-820d-fbeb0f1f54cf", "timestamp": "2016-06-28 00:40:34.558" }, "delivery": { "phoneCarrier": "My Phone Carrier", "mnc": 270, "destination": "+1XXX5550100”, "priceInUSD": 0.00645, "smsType": "Transactional", "mcc": 310, "providerResponse": "Message has been accepted by phone carrier", "dwellTimeMs": 599, "dwellTimeMsUntilDeviceAck": 1344 }, "status": "SUCCESS" }

失敗した SMS 配信のログの例

失敗した SMS 配信の配信ステータスのログは次の例のようになります。

{ "notification": { "messageId": "1077257a-92f3-5ca3-bc97-6a915b310625", "timestamp": "2016-06-28 00:40:34.559" }, "delivery": { "mnc": 0, "destination": "+1XXX5550100”, "priceInUSD": 0.00645, "smsType": "Transactional", "mcc": 0, "providerResponse": "Unknown error attempting to reach phone", "dwellTimeMs": 1420, "dwellTimeMsUntilDeviceAck": 1692 }, "status": "FAILURE" }

SMS 配信の失敗の原因

失敗の理由は、providerResponse 属性で提供されます。 SMS メッセージは以下の理由で送信に失敗することがあります。

  • 電話業者がスパムとしてブロック

  • 送信先がブラックリストに記載されている

  • 無効な電話番号

  • メッセージ本文が無効

  • 電話業者がこのメッセージをブロック

  • 電話業者が現在、到達不可能/使用不可能

  • 電話が SMS をブロック

  • 電話がブラックリストに載せられている

  • 電話が現在、到達不可能/使用不可能

  • 電話番号はオプトアウトしている

  • この配信が上限価格を超えている

  • 電話に達する際の原因不明なエラー