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

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

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

Amazon CloudWatch および Amazon CloudWatch Logs を使用して、SMS のメッセージ配信をモニタリングできます。

Amazon CloudWatch メトリクスを表示する

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

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

CloudWatch Logs を表示する

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

SMS メッセージに対して CloudWatch Logs を有効にして表示するには
  1. Amazon SNS コンソールにサインインします。

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

  3. ナビゲーションパネルで、[テキストメッセージング (SMS)] を選択します。

  4. [モバイルテキストメッセージング (SMS)] ページの [テキストメッセージングの優先設定] セクションで、[編集] を選択します。

  5. 次のページで、[Delivery status logging] セクションに追加します。

  6. [成功サンプルの割合] で、Amazon SNS が CloudWatch Logs でログを書き込む正常な SMS 配信の割合を指定します。例:

    • 失敗した配信のみをログを書き込むには、この値を 0 に設定します。

    • 正常な配信の 10% に対してログを書き込むには、10 に設定します。

    割合を指定しないなら、Amazon SNS は、すべての正常配信に対してログを書き込みます。

  7. 必要なアクセス権限を提供するには、次のいずれかを行います。

    • 新しいサービスロールを作成するには、[新しいサービスロールの作成]を選択 し、[新しいロールの作成] を選択します。次のページで、[許可] を使用して、Amazon SNS にアカウントのリソースへの書き込みアクセス許可を付与します。

    • 既存のサービスロールを使用するには、[既存のサービスロールを使用する] を選択し、ARN 名を [成功した配信および失敗した配信用の IAM ロール] ボックスにペーストします。

      指定するサービスロールは、アカウントのリソースへの書き込みアクセスを許可する必要があります。IAM ロールの作成の詳細については、『IAM ユーザーガイド』の「AWS のサービス用ロールの作成 (コンソール)」を参照してください。

  8. [Save changes] (変更の保存) をクリックします。

  9. [モバイルテキストメッセージング (SMS)] ページに戻り、[配信ステータスログ] セクションに移動し、使用可能なログを表示します。

    注記

    送信先の電話番号のキャリアによっては、Amazon SNS コンソールに配信ログが表示されるまでに最大 72 時間かかる場合があります。

正常な SMS 配信のログの例

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

{ "notification": { "messageId": "34d9b400-c6dd-5444-820d-fbeb0f1f54cf", "timestamp": "2016-06-28 00:40:34.558" }, "delivery": { "phoneCarrier": "My Phone Carrier", "mnc": 270, "numberOfMessageParts": 1, "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, "numberOfMessageParts": 1, "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 をブロック

  • 電話がブロックリストにある

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

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

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

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