

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

# Amazon CloudWatch メトリクスとログを使用した Amazon SNS SMS 配信モニタリング
<a name="sms_stats_cloudwatch"></a>

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

## Amazon CloudWatch メトリクスを表示する
<a name="sms_stats_cloudwatch_metrics"></a>

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

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

## CloudWatch Logs を表示する
<a name="sns-viewing-cloudwatch-logs"></a>

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

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

1. [Amazon SNS コンソール](https://console.aws.amazon.com/sns/home)にサインインします。

1. コンソールメニューで、[SMS メッセージングをサポートしているリージョン](https://docs.aws.amazon.com/general/latest/gr/end-user-messaging.html)にリージョンセレクタを設定します。

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

1. [**モバイルテキストメッセージング (SMS)**] ページの [**テキストメッセージプリファレンス**] セクションで、[**編集**] を選択します。

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

1. [**成功サンプルの割合**] で、Amazon SNS が CloudWatch Logs でログを書き込む正常な SMS 配信の割合を指定します。例:
   + 失敗した配信のみをログを書き込むには、この値を 0 に設定します。
   + 正常な配信の 10% に対してログを書き込むには、10 に設定します。

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

1. 必要なアクセス権限を提供するには、次のいずれかを行います。
   + 新しいサービスロールを作成するには、[**新しいサービスロールの作成**]を選択 し、[**新しいロールの作成**] を選択します。次のページで、[**許可**] を使用して、Amazon SNS にアカウントのリソースへの書き込みアクセス許可を付与します。
   + 既存のサービスロールを使用するには、[**既存のサービスロールを使用する**] を選択し、ARN 名を [**成功した配信および失敗した配信用の IAM ロール**] ボックスにペーストします。

     指定するサービスロールは、アカウントのリソースへの書き込みアクセスを許可する必要があります。IAM ロールの作成の詳細については、IAM [ユーザーガイドの「 AWS サービスのロールの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html#roles-creatingrole-service-console)」を参照してください。 **

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

1. [**モバイルテキストメッセージング (SMS)**] ページに戻り、[**配信ステータスログ**] セクションに移動し、使用可能なログを表示します。
**注記**  
送信先の電話番号のキャリアによっては、Amazon SNS コンソールに配信ログが表示されるまでに最大 72 時間かかる場合があります。

## 正常な SMS 配信のログの例
<a name="example-log-successful-sms-delivery"></a>

正常な 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 配信のログの例
<a name="example-log-failed-sms-delivery"></a>

失敗した 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 配信の失敗の原因
<a name="sms_stats_delivery_fail_reasons"></a>

失敗の理由は、`providerResponse` 属性で提供されます。SMS メッセージは以下の理由で送信に失敗することがあります。
+ 電話業者がスパムとしてブロック
+ 送信先がブロックリストにある
+ 無効な電話番号
+ メッセージ本文が無効
+ 電話業者がこのメッセージをブロック
+ 電話業者が現在、到達不可能/使用不可能
+ 電話が SMS をブロック
+ 電話がブロックリストにある
+ 電話が現在、到達不可能/使用不可能
+ 電話番号はオプトアウトしている
+ この配信が上限価格を超えている
+ 電話に達する際の原因不明なエラー