Budgetsを使用したクレジット使用状況のモニター

予算により、SnowflakeアカウントまたはSnowflakeオブジェクトのカスタムグループの コンピューティングコスト の月間支出制限を定義できます。支出制限を超えると予想される場合、通知が送信されます。この通知を電子メールアドレスのリスト、クラウドサービス(Amazon SNS、Azure Event Grid、またはGoogle Cloud PubSub)が提供するキュー、またはサードパーティシステム(例えば、Slack、Microsoft Teams、または PagerDuty)のWebhookに送信するように予算を構成することができます。

アカウント予算およびカスタム予算

アカウント予算 は、アカウント内のすべてのクレジットの使用状況を監視します。

また、 カスタム予算 を作成して、特定のグループの サポート対象オブジェクト の支出制限を監視することもできます。

どちらのタイプの予算でも、支出制限をセットし、通知を受け取る方法を指定する必要があります。

Snowflakeで予算の使用を開始するには、 アカウント予算をアクティブ化 します。

支出制限と時間間隔

支出制限はSnowflakeクレジットで表示され、警告と通知の目的のみに使用されます。支出制限は、1暦月の時間間隔で設定されます。

時間間隔は、月の初日の12:00AM UTC で始まり、月の最終日の11:59PM UTC で終わります。予算が月の初日以降に作成された場合、最初の監視間隔は当月の最終日までの期間となり、翌月の初日にリセットされます。

月の初日以降に アカウント予算 を有効にした場合、月初からのデータがバックフィルされ、その月の支出制限を超えるかどうかを判断するために使用されます。

月の初日以降に カスタム予算 を作成した場合、その月の履歴データは、タグを使用して予算に追加されたリソースに対してのみバックフィルされます。個別に追加されたリソースからのデータはバックフィルされません。

注釈

カスタム予算を作成した場合、および タグを使用する代わりに、リソースを個別に予算に追加することもできます。以下の点に考慮してください。

  • これらのリソースによる将来の支出予測は、予算が有効になってから数日間のクレジットの使用状況のみに基づいて行われます。

  • 最初の月の予算を超える可能性があります。リソースのデータはバックフィルされないため、予測は正しくない可能性があります。翌月以降は、支出履歴に基づいてクレジットの使用状況を正しく予測します。

サポートされているサービス

Budgetsでは、以下のサービスのクレジット使用状況をモニターできます。テーブルを使用して、カスタム予算がサービスをサポートしているかどうか、またどのオブジェクトがサービスに関連付いているかを判断します。

注釈

サーバーレス機能のアカウント予算のサポートは、Account Usage METERING_HISTORY ビュー ビューのサービスタイプの可用性に依存します。

サービス

アカウント予算

カスタム予算

オブジェクト

AI_SERVICES

AUTO_CLUSTERING

テーブル

COPY_FILES

データベース

DATA_QUALITY_MONITORING

テーブル

HYBRID_TABLE_REQUESTS

MATERIALIZED_VIEW

マテリアライズドビュー

PIPE

パイプ

QUERY_ACCELERATION

ウェアハウス

REPLICATION

データベース、複製のグループ

SEARCH_OPTIMIZATION

テーブル

SERVERLESS_ALERTS

アラート

SERVERLESS_TASK

タスク

SNOWPARK_CONTAINER_SERVICES

コンピューティングプール

SNOWPIPE_STREAMING

テーブル

WAREHOUSE_METERING

ウェアハウス

予算の通知

予算により、時系列予測に基づき、現在の支出が支出制限を超えそうな場合、毎日アラート通知が送信されます。

自動アラート通知を受け取るには、アカウント予算をアクティベートする、またはカスタム予算を作成する一環として、以下を行う必要があります。

  • 予算の支出制限を設定する。

  • 予算に関する通知を受け取る方法を指定します。

詳細については、 予算に関する通知 をご参照ください。

Budgetのロールと権限

アカウント内のカスタムロールが予算を操作できるようにするには、以下のロールと権限を付与します。

注釈

Snowflakeは、予算を含むすべてのコスト関連機能へのアクセスを制御するアプリケーションロールとデータベースロールを提供します。予算固有のロールや権限を使用するのではなく、カスタムロールにこれらのロールを付与する方法については、 コスト管理のためのアクセス制御 をご覧ください。

アカウント予算を管理するアプリケーションロール

アカウントのカスタムロールに次のアプリケーションロールを付与し、アカウント予算を変更または監視できます。

アプリケーションロール

説明

BUDGET_VIEWER

ロールが予算使用データを表示し、予算内のリソースを一覧表示できるようにします。

BUDGET_ADMIN

ロールがアカウント予算を有効化または無効化し、支出制限、使用する通知統合、通知を受け取るメールアドレスのリスト、通知のミュート設定など、予算のプロパティを変更できるようにします。

アプリケーションロールに加えて、カスタムロールがアカウント予算を監視または管理できるようにするために付与すべきその他の必要権限があります。詳細については、 予算のロールと権限 をご参照ください。

カスタム予算を管理するインスタンスロール

各カスタム予算にはインスタンスロールがあり、他のロールに付与して予算を表示または変更できます。

インスタンスロール

説明

VIEWER

ロールが予算使用状況データを表示できるようにします。

ADMIN

ロールが、支出制限、使用する通知統合、通知を受け取るメールアドレスのリスト、ミュート通知設定、グループ内のオブジェクトを含む、予算のプロパティを変更できるようにします。

インスタンスロールに加えて、カスタムロールがカスタム予算を作成、監視、または変更できるようにするために付与すべきその他の必要権限があります。詳細については、 予算のロールと権限 をご参照ください。

予算のロールと権限

アプリケーションロールまたはインスタンスロールに加えて、予算を監視または管理するカスタムロールには以下の権限を付与する必要があります。

権限またはロール

予算タイプ

作成する

管理する

モニター

注意

USAGE_VIEWER

両方

Snowflakeデータベースロール USAGE_VIEWER をカスタムロールに付与します。

USAGE

カスタム

カスタム予算を含むデータベースでUSAGE権限を付与します。

USAGE

カスタム

カスタム予算を含むスキーマにUSAGE権限を付与します。

SNOWFLAKE.BUDGET_CREATOR

カスタム

このデータベースロールをカスタムロールに付与して、カスタム予算を作成できるようにします。

CREATE SNOWFLAKE.CORE.BUDGET

カスタム

カスタム予算を含むスキーマにこの権限を付与します。

APPLYBUDGET

カスタム

カスタム予算から追加または削除する各オブジェクトに付与する必要があります。

USAGE

カスタム

カスタム予算からスキーマオブジェクトを追加または削除するには、オブジェクトを含むデータベースとスキーマにこの権限を付与する必要があります。

詳細と例については、次のトピックをご参照ください。

制限事項

以下はBudgetsに関する制限事項です。

  • BUDGET クラスのインスタンスをターゲットアカウントに 複製 することはできません。

  • アカウントには最大100件のカスタム予算を含めることができます。

  • 現在、Budgetsは ハイブリッドテーブル のコストのモニタリングをサポートしていません。

  • 以下のアカウントレベルのパラメーターは、セットしないかデフォルト値にセットする必要があります。

    • AUTOCOMMIT はセットしないか、 TRUE にセットする必要があります。

      このパラメーターが FALSE にセットされている場合、予算のアクティブ化に失敗したり、使用状況が正しくトラッキングされなかったりする可能性があります。

    • TIMESTAMP_INPUT_FORMAT および:ref:`label-date_input_format`は、設定を解除するか、AUTOに設定する必要があります。

      これらのパラメーターが AUTO にセットされていない場合、使用状況が正しくトラッキングされない可能性があります。

    予算を有効にする前に、 SHOW PARAMETERS コマンドを実行し、 これらのパラメーターの値を確認 してください。

    SHOW PARAMETERS LIKE 'AUTOCOMMIT' IN ACCOUNT;
    
    Copy
    SHOW PARAMETERS LIKE 'TIMESTAMP_INPUT_FORMAT' IN ACCOUNT;
    
    Copy
    SHOW PARAMETERS LIKE 'DATE_INPUT_FORMAT' IN ACCOUNT;
    
    Copy

    注釈

    これらのパラメーターはアカウントレベルでセットする必要があります。より低いレベル(例えばセッションレベル)でパラメーターをセットしても、予算のアクティブ化や使用状況のトラッキングには影響しません。