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 で終わります。予算が月の初日以降に作成された場合、最初の監視間隔は当月の最終日までの期間となり、翌月の初日にリセットされます。
月の初日以降に アカウント予算 を有効にした場合、月初からのデータがバックフィルされ、その月の支出制限を超えるかどうかを判断するために使用されます。
月の初日以降に カスタム予算 を作成した場合、その月の履歴データは、タグを使用して予算に追加されたリソースに対してのみバックフィルされます。個別に追加されたリソースからのデータはバックフィルされません。
注釈
カスタム予算を作成した場合、および タグを使用する代わりに、リソースを個別に予算に追加することもできます。以下の点に考慮してください。
これらのリソースによる将来の支出予測は、予算が有効になってから数日間のクレジットの使用状況のみに基づいて行われます。
最初の月の予算を超える可能性があります。リソースのデータはバックフィルされないため、予測は正しくない可能性があります。翌月以降は、支出履歴に基づいてクレジットの使用状況を正しく予測します。
予算更新間隔の調整¶
予算は、予算が最新の消費データで更新されるまで、消費が支出制限に達したかどうかを計算できません。消費からその消費に関する情報を予算が受け取るまでの期間を、予算更新間隔と呼びます。
By default, the budget refresh interval is up to 6.5 hours. You can reduce the budget refresh interval to one hour, which can be helpful when you need to watch spending more carefully. A budget with a one-hour refresh interval is known as a low latency budget. You can temporarily reduce the budget refresh interval to closely monitor consumption, and then set it back to the default to save on costs.
更新間隔を1時間に設定すると、予算のコンピューティングコストが12倍に増加します。たとえば、更新間隔が6.5時間のときの予算が月あたり1クレジットを消費する場合、更新期間が1時間のときの予算は月あたり12クレジットを消費します。予算の現在のコンピューティングコストを確認するには、コンピューティングコストの調査 をご参照ください。
To adjust the budget refresh interval, call the SET_REFRESH_TIER method. You can also use Snowsight to adjust the interval for a custom budget by selecting or deselecting the Enable low latency budget field.
現在の更新間隔を取得するには、GET_REFRESH_TIER メソッドを呼び出します。
サポートされているサービス¶
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 |
カスタム |
✔ |
✔ |
✔ |
Grant the USAGE privilege on the database or schema that contains the custom budget. |
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;
SHOW PARAMETERS LIKE 'TIMESTAMP_INPUT_FORMAT' IN ACCOUNT;
SHOW PARAMETERS LIKE 'DATE_INPUT_FORMAT' IN ACCOUNT;
注釈
これらのパラメーターはアカウントレベルでセットする必要があります。より低いレベル(例えばセッションレベル)でパラメーターをセットしても、予算のアクティブ化や使用状況のトラッキングには影響しません。