AWS Cost Anomaly Detection のアラート通知に詳細情報が追加されました

記事タイトルとURLをコピーする

カスタマーサクセス部 佐竹です。
AWS Cost Anomaly Detection の通知が非常に便利になりましたので、そのアップデートについて記載します。

AWS Cost Anomaly Detection のアップデート

aws.amazon.com

上記のアナウンス通り、2022年12月8日より AWS Cost Anomaly Detection のアラート通知に詳細情報が追加されるようになりました。

このアップデートは全アカウントに自動的に反映されており、設定変更なども無しにそのままご利用いただけます。

はじめに

AWS Cost Anomaly Detection は2020年12月に一般提供が開始(GA)された「コスト最適化」のための機能の1つで、AWS Cost Explorer 内部に存在しています。

本機能を適切に運用することで、意図しない突発的な AWS 利用料の増加をアラートとして検出し、早期の対応が可能となります。

突発的な利用料の増加は AWS では「Cost shock」と呼ばれており、以下のブログにその対応サービスの1つとして AWS Cost Anomaly Detection も紹介されています。

aws.amazon.com

また、AWS Cost Anomaly Detection の詳細は、過去記載しました以下のブログをあわせて参考頂けますと幸いです。

blog.serverworks.co.jp

アラート通知の種類

AWS Cost Anomaly Detection ではアラート頻度で「個々のアラート」と設定する場合、アラート通知設定に「SNS」からの直接的な通知と、「AWS Chatbot」を利用した Slack への投稿での通知がそれぞれ利用できます。

AWS Chatbot を利用した Slack への情報連携のほうは SNS 単独よりも可読性が高く、ご利用においてはお勧めの設定です。

機能としては [AWS Cost Anomaly Detection]→[SNS topic]→[AWS Chatbot]→[Slack] という流れで通知が行われます。

通知先として AWS Chatbot に対応したタイミングで以下のブログを記載しております通り、非常に良いアップデートとなっていました。

AWS Cost Anomaly Detection が AWS Chatbot に対応しました

blog.serverworks.co.jp

ここから本題です。

アラート通知に不足している内容(これまで)

上記のキャプチャは、これまで AWS Chatbot に連携されていた情報です。

これは元ネタとなっている SNS Notification の json が加工されたものですが、元の SNS のテキストでも不足している情報がありました。

特に「AWS アカウント名」が記載されていない点が運用上のネックとなっていました。AWS アカウント ID がわかるのは一意とする情報として十分ではありますが、実際のアカウント所有者がわかりません。

アカウント名があれば所有者をすぐに特定できる場合もあるのですが、今までは社内データベースを検索して利用者を特定していました。

アラート通知に AWS アカウント名等が追加されました

百聞は一見に如かずということで、新しい通知内容は以下の通りです。

新しいアラート通知にはアカウント名が

ご覧の通り AWS アカウント名が追加されました!

上半分が AWS Cost Anomaly Detection の設定を行っている管理アカウントの情報です。そして下半分が検出された内容、つまり実際にコスト異常検出が発生しているメンバーアカウントの情報です。

弊社では「社内検証環境」において、AWS アカウント名=所有者の氏名となっているため、これで所有者探しの手間がほぼほぼ省けるようになりました。

また、もともと英文として書かれていた部分が要約され、箇条書きとなって置き換わっているのも好印象です。

なお、AWS のアナウンスには以下の通り記載があります。

アカウント名、モニター名、およびモニタータイプが表示されるようになりました。
加えて、異常の開始日、最後に検出された日付、期間が電子メール アラートに追加されました。

モニター名、およびモニタータイプは正直なところそこまで重要ではないかな、と感じます。また弊社ではアラート頻度で「個々のアラート」を利用している都合、電子メールでのアラートは受信していません。

SNS json における補足事項

この情報追加は SNS の直接通知においても同様に実装済みのため、AWS Chatbot を利用されていない場合でも有効活用頂けます。

GetAnomalies API の更新

本アップデートと同時に、GetAnomalies の API にも12月7日に更新が入っています。

awsapichanges.info

上記ドキュメントにも 'LinkedAccount': 'string', 追加されていることがわかります。

運用に関する補足事項

AWS Cost Anomaly Detection の「個々のアラート」にはちょっとした注意点があります。

最近実際に目の当たりにしたのですが、「個々のアラート」として Slack に連携された情報と、その後に AWS マネジメントコンソールから閲覧した情報が大幅に異なるケースがあります。

これは、「個々のアラート」の情報が追って修正されることによって差異が発生するという仕様によるものです。具体的には、異常が検出された AWS アカウント ID が変更されたケースがありました。

このような場合でも、AnomalyId には変更がありませんため、マネジメントコンソールからは AnomalyId を利用して検索することで情報の変化が確認できます。

AnomalyId での検索

コンソールでは一見、 AnomalyId での検索ができないように見えますが、 AnomalyId はフリーワードで検索できるようになっています。

ただ、この AnomalyId ですが、AWS Chatbot 側では表記から省略されてしまっています。この情報は SNS が配信する json に記載されている情報となりますので、コスト異常検出の調査のためには AWS Chatbot だけでなく、SNS での Email 通知も同時に設定しておくのが良さそうです。

弊社では、念のため佐竹の個人メールアドレスに SNS json の Email 通知送ってありますので、これをもって調査を行っている状況です。

まとめ

AWS Cost Anomaly Detection の通知に AWS アカウント名が追加され、非常に便利になりました。

既に設定されている利用者様には自動的にこのアップデートが反映されています。是非 AWS アカウント名の表示を調査に有効活用ください。

関連するブログ記事

また、弊社ブログでは実際に AWS Cost Anomaly Detection で検出された内容をまとめたブログ記事も記載しております。

blog.serverworks.co.jp

こちらもあわせて是非ご覧頂き、AWS Cost Anomaly Detection 有効化の一助(根拠)としていただけましたら幸いです。

加えてもう1点、AWS Budgets (予算)とも併用が可能な本サービスですが AWS Cost Anomaly Detection との違いがよくわからないという声も耳にします。

その解答のために記載しましたブログ記事が以下となりますので、よろしければ本ブログもご覧ください。

blog.serverworks.co.jp

では、またお会いしましょう。

佐竹 陽一 (Yoichi Satake) エンジニアブログの記事一覧はコチラ

マネージドサービス部所属。AWS資格全冠。2010年1月からAWSを利用してきています。2021-2022 AWS Ambassadors/2023 Japan AWS Top Engineers/2020-2023 All Certifications Engineers。AWSのコスト削減、最適化を得意としています。