こちらで説明されている予算ポリシーをウォークスルーします。
どのような機能か?
サーバレスコンピュートを利用する以下の機能のコストにタグをつけることができる機能です。
サーバレスSQLウェアハウスはサポートされていません。
何のための機能か?
サーバレス以前においても、どの部門がどれだけ計算資源を使ったのかは管理者の方にとって非常に重要な事柄となっています。部門ごとの使用量が分かれば、それに応じてコストを按分することができます。
サーバレス以前のクラシックコンピュートであれば、クラスターポリシーで部門名を示すタグの付与を強制することで、クラウドサービスのアカウントにタグ情報を伝播させることができ、それに基づいてコストの按分を行うことが可能でした。
しかし、サーバレスコンピュートにおいてはクラスターポリシーが存在しておらず、どの部門がどれだけサーバレスコンピュートを使ったのかを追跡することができませんでした。この課題を解決するために導入されたのが、サーバレスコンピュート向けの予算ポリシーです。
予算ポリシーを用いることで、Databricksユーザーはサーバレスコンピュートを使用する際に必ず予算ポリシーを選択することになります。予算ポリシーには任意のタグを設定することができますので、予算ポリシーを選択した際に部門名などのタグの値が課金システムテーブルに反映されるようになります。
予算と予算ポリシーの考え方
予算ポリシーを説明する前に、アカウントの予算についても触れておきます。アカウントの予算とは、皆様のDatabricksアカウント全体における予算のキャップを設定する機能です。ですので、ワークスペースが複数存在する際にはそれらすべてが対象になります。なお、設定で集計対象のワークスペース、タグを定義することは可能です。
予算ポリシーはこれと関連はしますが、別の機能となります。予算ポリシーはワークスペースで設定します。アカウントの予算はアカウント全体での予算キャップですが、予算ポリシーは誰がどれだけサーバレスコンピュートを使用したのかを示すタグの付与を強制する機能です。
予算ポリシーを定義する際、誰に予算ポリシーを割り当てるのかを検討する必要があります。一つのグループ、ユーザーに複数のポリシーを割り当てることができますが、ベストプラクティスとしては一つのエンティティに一つのポリシーを割り当てるというものとなります。これによって、ポリシーの付け間違いを回避することができます。
予算ポリシーの作成
ワークスペース管理者として設定画面にアクセスし、クラスター > 予算ポリシー > 管理にアクセスします。
作成ボタンをクリックします。
ポリシーの名称、キーバリューのフォーマットでタグを定義します。以下の例では、タグTeam
に対する値Data Analyst
を定義しています。必要に応じてタグを追加します。
ポリシーが作成されたら権限タブを開きます。ポリシーに対するロールにはマネージャとユーザーがあります。マネージャはポリシーの編集ができますが、ユーザーはポリシーの使用のみが許可されています。
クラスターポリシーと同じように、予算ポリシーが割り当てられたユーザー、グループは、予算ポリシーを選択することなしにサーバレスコンピュートを使用することができなくなります。これによって、サーバレスの使用に対してタグを強制できるようになります。
以下の例では、3つのポリシーを作成しています。
予算ポリシーの使用
こちらに記載されているように、(SQLウェアハウスを除く)サーバレスコンピュートを使用する際に、自身に予算ポリシーが割り当てられている場合には必ず予算ポリシーを選択する必要があります。一つしか割り当てられていないのであれば、デフォルトでそのポリシーが適用されます。
ノートブックの場合、右側の環境メニューから予算ポリシーを確認、変更することができます。
予算の監視
予算ポリシーが選択されている状態でサーバレスコンピュートを使用すると、請求システムテーブルのレコードのcustom_tags
列にタグが記載されるようになります。
SELECT * FROM system.billing.usage WHERE size(custom_tags) != 0 ORDER BY usage_start_time DESC
こちらのサンプルクエリーも活用ください。
また、アカウントコンソールから作成できるダッシュボードでもタグを活用できます。
是非ご活用ください!