[新機能]アカウント・組織レベルでコストの異常を自動で検知・通知してくれる「Cost anomalies」機能がリリースされました
さがらです。
Snowflakeの新機能として、アカウント・組織レベルでコストの異常を自動で検知・通知してくれる「Cost anomalies」機能がリリースされました。2025年5月17日時点ではパブリックプレビューとなっております。
簡素な内容となりますが、この機能がどのように利用できるかを確かめてみたので本記事で内容をまとめてみます。
Snowsightでのコスト異常の確認
まず、Snowsightでどのようにコストの異常が確認できるかを確かめてみます。確認するためには、「個別のアカウントでのACCOUNTADMINロール」あるいは「Organization AccountでのGLOBALORGADMINロール」が必要となります。(公式Docより)
コスト異常の確認方法
左のメニューのAdminのCost Managementから、Anomaliesを押すと、下図のように現在のアカウントでのコストの変遷が折れ線グラフで表示されます。
Snowflakeが予期したコスト範囲(Expected range)を超えたコスト利用があると、異常(Anomaly)として検知されるようです。

実際にAnomalyとして検知されている点をクリックすると、下図のようにどのウェアハウスやクエリがクレジットを消費していたかの詳細が確認できます。(ただ、下図だと内訳が正しく表示されていないですね…この原因はわかっておりません。)

また、Organizationの機能が有効化されていて権限があると、組織内の全アカウントの利用コストを元に、異常を確認することができます。



コスト異常の通知設定方法
コスト異常が確認された場合に、指定したメールアドレスにメールを送信して通知することも可能です。(対象のメールアドレスはSnowflakeアカウントにユーザー登録した上で、メールアドレスの確認まで行っている必要があることにご注意ください。)


ANOMALY_INSIGHTSクラスを用いたSQLベースでの異常確認
ANOMALY_INSIGHTSというクラスが提供されており、このクラスに含まれる関数を用いることでSQLベースでの異常確認も可能です。
公式Docsに記載のあったクエリをいくつか、日時を変更して実行してみます。
- 現在のアカウントで、2025年1月1日~2025年3月31日に異常があった日を確認(
IS_ANOMALY列がTRUEだと異常ということを示しています。) 
CALL SNOWFLAKE.LOCAL.ANOMALY_INSIGHTS!GET_DAILY_CONSUMPTION_ANOMALY_DATA(
  '2025-01-01', '2025-03-31', CURRENT_ACCOUNT_NAME() );

- 現在のアカウントで、2025年2月28日の0時台~23時台の中で、各時ごとの消費したクレジットを確認
 
CALL SNOWFLAKE.LOCAL.ANOMALY_INSIGHTS!GET_HOURLY_SPEND_FOR_ANOMALY('2025-02-28');

最後に
Snowflakeの新機能として、アカウント・組織レベルでコストの異常を自動で検知・通知してくれる「Cost anomalies」機能がリリースされましたので、どのように利用できるかを確認してみました。
異常の通知設定もメールアドレスベースで簡単に行えますし、通知設定しておいて損はない機能だと思います!ぜひご活用ください。







