プッシュ通知の Amazon SNS トピック配信ログにアクセスするにはどうすればよいですか?

所要時間2分
0

プッシュ通知の Amazon Simple Notification Service (Amazon SNS) のトピック配信ログにアクセスしたいと考えています。

簡単な説明

Amazon SNS では、トピックに送信されたプッシュ通知メッセージの配信ステータスを記録することができます。メッセージ配信ステータス属性を設定すると、これらのプッシュ通知メッセージのログエントリが Amazon CloudWatch Logs に送信されます。メッセージ配信ステータスをログに記録すると、次のような運用上のインサイトを得られます。

  • メッセージが Amazon SNS エンドポイントに配信されたかどうかを確認する。
  • Amazon SNS エンドポイントから Amazon SNS に送信されたレスポンスを特定する。
  • メッセージの滞留時間 (発行タイムスタンプから Amazon SNS エンドポイントに渡されるまでの時間) を決定します。

プッシュ通知配信ステータスログを設定する

次のセクションでは、AWS マネジメントコンソールを使用して配信ステータスのログ記録を設定する手順について説明します。AWS SDK または AWS コマンドラインインターフェイス (AWS CLI) を使用してメッセージ配信ログを設定することもできます。
注: AWS CLI のコマンドの実行時にエラーが発生する場合は、「AWS CLI エラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。

次の手順を実行します。

  1. Amazon SNS コンソールを開きます。
  2. ナビゲーションメニューで [モバイル] を展開し、[プッシュ通知] を選択します。
  3. [プラットフォームアプリケーション] セクションで、配信ステータスを設定するプラットフォームアプリケーションを選択します。
  4. [編集] を選択します。
  5. 配信ステータスのロギング (オプション)。
  6. **[成功サンプルレート]**には、CloudWatch Logs を受信する成功メッセージの割合を入力します。デフォルトでは、失敗したすべての配信がログに記録されます。
  7. [IAM ロール] セクションの**[サービスロール]で、[新しいサービスロールの作成][新しいロールの作成]** の順に選択します。AWS Identity and Access Management (IAM) コンソールを開きます。
    注: 適切なアクセス許可を持つ IAM ロールが既にある場合は、代わりに**[既存のサービスロールを使用]** を選択して、そのサービスロールを使用できます。
  8. IAM コンソールのアクセス許可のリクエストページで、[許可] を選択して、ユーザーに代わって CloudWatch ログを使用するための書き込みアクセス許可を Amazon SNS に付与します。
  9. Amazon SNS コンソールに戻り、[変更を保存] を選択します。

これで、Amazon SNS の以下のポリシーと信頼関係により、正常に実行された配信および失敗した配信のための IAM ロールが作成されます。

成功した配信の IAM ロール:

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

失敗した配信の IAM ロール:

arn:aws:iam::1111111111:role/SNSFailureFeedback

ポリシー:

{
  "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. フィルター検索ボックスに sns と入力し、Amazon SNS のロググループのみを表示します。

  4. sns/your-AWS-region/your-account_ID/app/platform_name/application_name ロググループには、成功した配信のログが含まれています。

    sns/us-east-1/1111111111/app/GCM/Test1
    sns/us-east-1/1111111111/app/APNS_SANDBOX/Test2
    sns/us-east-1/1111111111/app/APNS/Test3

    sns/your-AWS-region/your-account_ID/app/platform_name/application_name**/Failure**ロググループには、失敗した配信のログが含まれています。

    sns/us-east-1/1111111111/app/GCM/Test1/Failure
    sns/us-east-1/1111111111/app/APNS_SANDBOX/Test2/Failure
    sns/us-east-1/1111111111/app/APNS/Test3/Failure
  5. 表示する Amazon SNS ロググループを選択します。

  6. [ログストリーム] タブで、特定のログストリームを選択して、アプリケーションエンドポイントの配信ログを表示します。

  7. メッセージの配信ステータスを表示するには、ログイベントを展開して providerResponse を確認します。プッシュ通知サービスの応答コードの一覧については、プラットフォームのレスポンスコードを参照してください。

関連情報

Amazon SNS の FCM モバイルプッシュ通知の失敗をトラブルシューティングするにはどうすればよいですか?

Amazon SNS の APN モバイルプッシュ通知の失敗をトラブルシューティングするにはどうすればよいですか?

Mobile app attributes

コメントはありません