[アップデート]Amazon SNSは、新たに3つのCloudWatchメトリクスが追加され、Service Quotasからモニタリングとアラーム作成できるようになりました

2023.09.01

はじめに

Amazon SNSに、下記の3つのメトリクスが追加されました。

  • ApproximateNumberOfTopics
    • アカウント全体のトピックの数
  • ApproximateNumberOfPendingSubscriptions
    • アカウント全体の保留中のサブスクリプションの数
  • ApproximateNumberOfFilterPolicies
    • アカウント全体のフィルターポリシーの数

さらに、上記の3つのメトリクスは、Service QuotasからモニタリングやCloudWatchアラームの設定ができるようになりました。

アップデートによって、SNSの使用状況やクォータの使用状況を監視し、設定したしきい値を超えたときにアラームで通知することができます。

これにより、クォータ上限になる前に、上限緩和したり、不要なリソース(トピックやサブスクリプション)を削除する対応が可能です。

メトリクスの確認

マネジメントコンソールの[すべてのメトリクス]から[使用]に遷移し、[AWS リソース]からメトリクスを確認できます。

3つのメトリクスを確認します。

ApproximateNumberOfTopics

ApproximateNumberOfTopicsは、アカウント全体のトピックの数メトリクスです。

今回のアップデートは、8月31日の発表でしたが、8月の初旬もメトリクス値が確認できました。

ApproximateNumberOfPendingSubscriptions

ApproximateNumberOfPendingSubscriptionsは、アカウント全体の保留中のサブスクリプションの数です。

ただし、保留中のサブスクリプションは、48時間で削除されるため、上限値まで増える可能性は極めて低く、監視を必要するケースはあまりないかと思います。

私の場合、下記の通りに、サブスクリプションのステータスを保留中にしたのですが、メトリクス値は反映されませんでした。

ただし、Service QuotasのPending Subscriptions per Accountのモニタリングからは、メトリクス値が確認できました。

ApproximateNumberOfFilterPolicies

ApproximateNumberOfFilterPoliciesは、アカウント全体のフィルターポリシーの数です。

フィルターポリシーとは、サブスクリプションで受信者が受け取るメッセージがフィルター処理する機能です。

メトリクス値が確認できました。

Service Quotas

今回のメトリクスは、すでにService Quotasには存在しており、確認できます。各クォータとメトリクス名は下記の通りです。

  • クォータ名:Topics per Account
    • メトリクス名:ApproximateNumberOfTopics
      • アカウント全体のトピックの数
  • クォータ名:Pending Subscriptions per Account
    • メトリクス名:ApproximateNumberOfPendingSubscriptions
      • アカウント全体の保留中のサブスクリプションの数
  • クォータ名:Filter Policies per Account
    • メトリクス名:ApproximateNumberOfFilterPolicies
      • アカウント全体のフィルターポリシーの数

Service Quotasからモニタリング情報やアラーム設定が確認できます。

Service Quotasでは、モニタリングやアラーム設定ができるクォータとできないクォータがあります。

私はモニタリングやアラーム設定ができることを知らなかったので勉強になりました。

アラーム設定

Service Quotasのクォータ名Topics per Accountから、CloudWatch アラームを作成してみます。

アラームのしきい値とアラーム名を設定するだけです。通知設定まではできませんでした。

アラームのしきい値は、クォータ値の50%~100%の値を設定できます。今回は、50%で設定しました。

作成したCloudWatch アラームを確認してみます。

数式が(usage_data/SERVICE_QUOTA(usage_data))*100で、閾値が50以上となっているため、Service Quotasのトピック上限数である10万の50%である5万トピック数以上になるとアラームになります。

CloudWatch アラームのタグは、ServiceQuotaMonitor:L-61103206でした。

L-61103206は、Quota ARNの末尾の値です。

arn:aws:servicequotas:ap-northeast-1:アカウントID:sns/L-61103206

もちろん、アラームのアクションはありませんので、アラーム時に通知したい場合、通知設定が必要です。

最後に

今回のアップデートで、3つのメトリクスが追加され、SNSリソースの使用状況を監視できるようになりました。

Service Quotas からクォータごとの利用状況メトリクスを確認できるため、クォータの確認から上限緩和申請を画面遷移せずにできますので、よいアップデートだと感じました。

参考