スキップしてコンテンツを表示

SMS メッセージの Amazon SNS トピック配信ログにアクセスする方法を教えてください。

所要時間2分
0

SMS メッセージの Amazon Simple Notification Service (Amazon SNS) トピック配信ログにアクセスしたいと考えています。

解決策

Amazon CloudWatch Logs の SMS 配信ステータス属性を設定する

次の手順を実行します。

  1. Amazon SNS コンソールを開きます。
  2. ナビゲーションペインで [モバイル] を展開し、[テキストメッセージ (SMS)] を選択します。
  3. [テキストメッセージの設定] セクションで [編集] を選択します。
  4. [配信ステータスのログ記録 - オプション] を展開します。
  5. [成功サンプルレート][%] テキストボックスに 100 を入力します。
    注: 成功率は、ログに記録されるメッセージ配信の成功率です。
  6. [IAM ロール] セクションの [サービスロール] で、[新しいサービスロールの作成] を選択し、[新しいロールの作成] を選択します。AWS Identity and Access Management (IAM) コンソールが開きます。
    注: 適切なアクセス許可を持つ IAM ロールが既にある場合は、代わりに [既存のサービスロールを使用] を選択します。
  7. IAM コンソールのアクセス許可リクエストページで [許可] を選択します。
  8. Amazon SNS コンソールに戻った後、[変更を保存] を選択します。

配信の成功および失敗に関する IAM ロールが作成されます。Amazon SNS に対する、次のポリシーと信頼関係が含まれます。

IAM ロール

arn:aws:iam::1111111111:role/SNSSuccessFeedback

ポリシー:

{  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents",
        "logs:PutMetricFilter",
        "logs:PutRetentionPolicy"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}

信頼関係:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "sns.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

配信ステータスログを確認する

次の手順を実行します。

  1. Amazon CloudWatch コンソールを開きます。

  2. ナビゲーションペインで [ログ] を展開し、[ロググループ] を選択します。

  3. フィルター検索ボックスに DirectPublishToPhoneNumber と入力すると、Amazon SNS の SMS ロググループのみが表示されます。
    : 送信先の電話番号の通信事業者によっては、Amazon SNS コンソールに配信ログが表示されるまでに最大 72 時間かかることがあります。
    例:
    sns/your-AWS-region/your-AWS-account-ID/DirectPublishToPhoneNumber ロググループには、成功した配信のログが含まれています。

    sns/us-east-1/1111111111/DirectPublishToPhoneNumber
    

    配信成功ログの例

    {
        "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"
    }

    sns/your-AWS-region/your-AWS-account-ID/DirectPublishToPhoneNumber/Failure ロググループには、失敗した配信のログが含まれています。

    sns/us-east-1/1111111111/DirectPublishToPhoneNumber/Failure

    配信失敗ログの例:

    {
        "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"
    }
  4. 確認する SNS ロググループを選択します。

  5. [ログストリーム] タブで、特定のログストリームを選択すると SMS 配信ログが表示されます。

  6. SMS メッセージの配信ステータスを確認するには、ログイベントを展開し、providerResponse を確認します。

オプトアウトした電話番号を確認する

受信者は、AWS アカウントから携帯電話での SMS メッセージの受信をオプトアウトできます。詳細については、「SMS メッセージの受信をオプトアウトする」を参照してください。

次の手順を実行します。

  1. Amazon SNS コンソールを開きます。
  2. ナビゲーションペインで [モバイル] セクションを展開し、[テキストメッセージ (SMS)] を選択します。
  3. オプトアウトされた電話番号を確認するには、[オプトアウトした電話番号] セクションにアクセスしてください。

関連情報

CloudWatch を使用して Amazon SNS トピックを監視する

Amazon SNS で SMS メッセージ機能のプリファレンスを設定する

Amazon CloudWatch メトリクスとログを使用して Amazon SNS の SMS 配信を監視する

コメントはありません