Amazon SNS を使用した CloudWatch トピックのモニタリング - Amazon Simple Notification Service

Amazon SNS を使用した CloudWatch トピックのモニタリング

Amazon SNS と CloudWatch は統合されているため、個々のアクティブな Amazon SNS 通知についてメトリクスを収集、表示、分析できます。Amazon SNS に対して CloudWatch を設定すると、Amazon SNS トピック、プッシュ通知、および SMS 配信のパフォーマンスをより正確に把握できます。たとえば、NumberOfNotificationsFailed など、Amazon SNS メトリクスの指定されたしきい値に達した場合に E メール通知が送信されるように、アラームを設定することができます。Amazon SNS が CloudWatch に送信するすべてのメトリクスのリストについては、「Amazon SNS メトリクス」を参照してください。Amazon SNS プッシュ通知の詳細については、「受信者がモバイルアプリケーションの場合のユーザー通知に Amazon SNS を使用する (モバイルプッシュ)」を参照してください。

Amazon SNS トピックに対して CloudWatch で設定したメトリクスは自動的に収集され、5 分ごとに CloudWatch にプッシュされます。これらのメトリックスは、CloudWatch ガイドラインを満たすすべてのトピックで収集され、アクティブになります。トピックは、トピックでの最後のアクティビティ (つまり、任意の API コール) から最大 6 時間 CloudWatch によりアクティブと見なされます。

注記

CloudWatch でレポートされた Amazon SNS メトリクスに対して料金は発生しません。それらは Amazon SNS サービスの一部として提供されます。

Amazon SNS の CloudWatch メトリクスの表示

CloudWatch コンソールで、CloudWatch の独自のコマンドラインインターフェイス (CLI) で、または CloudWatch API を使用してプログラムで、Amazon SNS のメトリクスをモニタリングできます。次の手順は、AWS マネジメントコンソールを使用してメトリクスにアクセスする方法を示しています。

CloudWatch コンソールを使用してメトリクスを表示するには

  1. CloudWatch コンソールにサインインします。

  2. ナビゲーションパネルで [メトリクス] を選択します。

  3. [すべてのメトリクス] タブで [SNS] を選択し、次のいずれかのディメンションを選択します。

    • 国/地域、SMS タイプ

    • 電話番号

    • トピックのメトリクス

    • ディメンションの定められていないメトリクス

  4. 詳細を表示するには、特定の項目を選択します。たとえば、[トピックのメトリクス] を選択し、[NumberOfMessagesPublished] を選択すると、6 時間の時間範囲における 5 分間の公開済み Amazon SNS メッセージの平均数が表示されます。

CloudWatch メトリクスの Amazon SNS アラームの設定

CloudWatch では、メトリックスのしきい値に到達したときのアラームを設定することもできます。たとえば、サンプリング期間内に指定されたしきい値に到達した場合、イベントについて知らせる E メール通知が送信されるように、メトリクス NumberOfNotificationsFailed のアラームを設定できます。

CloudWatch コンソールを使用してアラームを設定するには

  1. AWS マネジメントコンソール にサインインした後、https://console.aws.amazon.com/cloudwatch/ にある CloudWatch コンソールを開きます。

  2. [Alarms]、[Create Alarm] の順に選択します。これにより、[Create Alarm] ウィザードが起動します。

  3. Amazon SNS メトリクスをスクロールして、アラームを設定するメトリクスを見つけます。アラームを作成するメトリクスを選択してから、[Continue (続行)] を選択します。

  4. [Name (名前)]、[Description (説明)]、[しきい値]、[Time (時間)] のそれぞれにメトリクスの値を入力し、[Continue (続行)] を選択します。

  5. アラーム状態として [Alarm] を選択します。アラーム状態になったときに CloudWatch から E メールが届くようにするには、既存の Amazon SNS トピックを選択するか、[新しいメールトピックの作成] を選択します。[新しいメールトピックの作成] を選択した場合は、新しいトピックの名前と E メールアドレスを設定できます。このリストは、今後のアラーム用に保存され、ドロップダウンボックスに表示されます。[Continue] を選択します。

    注記

    [Create New Email Topic] を使用して新しい Amazon SNS トピックを作成する場合、メールアドレスを検証しなければ、そのアドレスで通知を受け取ることができません。E メールは、アラームがアラーム状態になったときにのみ送信されます。アラーム状態になったときに、メールアドレスの検証がまだ完了していない場合は、そのアドレスで通知を受け取ることはできません。

  6. この時点で、[アラームの作成] ウィザードで、作成するアラームを確認できます。何らかの変更を行う必要がある場合は、右側にある [Edit] リンクを使用します。希望どおりの設定になったら、[Create Alarm (アラームの作成)] を選択します。

CloudWatch とアラームの使用方法の詳細については、CloudWatch のドキュメントを参照してください。

Amazon SNS メトリクス

Amazon SNS は以下のメトリックスを CloudWatch に送信します。

メトリクス 説明

NumberOfMessagesPublished

Amazon SNS トピックに対して発行されたメッセージ数。

単位: Count

有効な統計: Sum

NumberOfNotificationsDelivered

Amazon Amazon SNS トピックからそのトピックにサブスクライブしているエンドポイントに正常に配信されたメッセージ数。

配信の試行が成功するには、エンドポイントのサブスクリプションでメッセージが許可されている必要があります。サブスクリプションでメッセージが許可されるのは、a) フィルタポリシーがない場合、または b) メッセージに割り当てられた属性と一致する属性がそのフィルタポリシーに含まれている場合です。サブスクリプションでメッセージが拒否された場合、配信の試行はこのメトリクスに対してカウントされません。

単位: Count

有効な統計: Sum

NumberOfNotificationsFailed

Amazon SNS が配信に失敗したメッセージの数。

Amazon SQS、E メール、SMS、またはモバイルプッシュエンドポイントの場合、Amazon SNS がメッセージ配信の試行を停止すると、このメトリクスが 1 増分されます。HTTP または HTTPS エンドポイントの場合、失敗した配信の試行がすべて、初回試行に続く再試行を含め、このメトリクスに対してカウントされます。その他のすべてのエンドポイントの場合、メッセージが配信されないと、カウントが 1 増加します (試行回数には関係ありません)。

サブスクリプションフィルタポリシーによって拒否されたメッセージは、このメトリクスに対してカウントされません。

HTTP エンドポイントの再試行回数をコントロールできます。詳細については、「メッセージ配信の再試行」を参照してください。

単位: Count

有効な統計: Sum、Average

NumberOfNotificationsFilteredOut

サブスクリプションフィルタポリシーによって拒否されたメッセージの数。メッセージの属性がポリシーの属性と一致しない場合、フィルタポリシーによってメッセージは拒否されます。

単位: Count

有効な統計: Sum、Average

NumberOfNotificationsFilteredOut-InvalidAttributes

メッセージの属性が無効であるため、たとえば属性の JSON 形式が正しくないため、サブスクリプションフィルタポリシーによって拒否されたメッセージの数。–

単位: Count

有効な統計: Sum、Average

NumberOfNotificationsFilteredOut-NoMessageAttributes

メッセージに属性がないため、サブスクリプションフィルタポリシーによって拒否されたメッセージの数。

単位: Count

有効な統計: Sum、Average

NumberOfNotificationsRedrivenToDlq

デッドレターキューに移動されたメッセージの数。

単位: Count

有効な統計: Sum、Average

NumberOfNotificationsFailedToRedriveToDlq

デッドレターキューに移動できなかったメッセージの数。

単位: Count

有効な統計: Sum、Average

PublishSize

発行されたメッセージのサイズ。

単位: Bytes

有効な統計: Minimum、Maximum、Average、Count

SMSMonthToDateSpentUSD

今月の始めから今日までの SMS メッセージの送信料金。

今月の始めから今日までの料金がアカウントの毎月の SMS 使用限度に近付いたことがわかるように、このメトリクスにアラームを設定できます。Amazon SNS が、SMS メッセージを送信するとこの限度を超えるコストが発生すると判断する場合、数分以内に SMS メッセージの発行を停止します。

SMS の毎月の使用料限度の設定の詳細、または AWS に対して限度の引き上げをリクエストする方法については、「SMS メッセージプリファレンスの設定」を参照してください。

単位: USD

有効な統計: Maximum

SMSSuccessRate

正常な SMS メッセージ配信のレート

単位: Count

有効な統計: Sum、Average、Data Samples

Amazon SNS メトリクスのディメンション

Amazon Simple Notification Service は以下のディメンションを CloudWatch に送信します。

ディメンション

説明

Application

アプリケーションオブジェクトのフィルタ。APNs や FCM など、サポートされるプッシュ通知サービスの 1 つに登録されているアプリケーションやデバイスを表します。

Application,Platform

アプリケーションおよびプラットフォームオブジェクトのフィルタ。プラットフォームオブジェクトは、APNs や FCM など、サポートされるプッシュ通知サービスで使用されます。

Country

SMS メッセージの宛先国またはリージョンのフィルタ。国またはリージョンは、ISO 3166-1 alpha-2 コードで表されます。

Platform

APNs や FCM などのプッシュ通知サービスで使用されるプラットフォームオブジェクトのフィルタ。

TopicName

Amazon SNS トピック名のフィルタ。

SMSType

SMS メッセージのメッセージタイプのフィルタ。プロモーションまたはトランザクションがあります。