コンピュート ポリシーの作成と管理
この記事では、ワークスペースでポリシーを作成および管理する方法について説明します。 ポリシー定義の記述に関する情報については、「 コンピュート ポリシー リファレンス」を参照してください。
コンピュート ポリシーとは?
ポリシーは、ワークスペース管理者が一連のポリシー ルールに基づいてユーザーまたはグループのコンピュート作成アクセス許可を制限するために使用できるツールです。
ポリシーには、次の利点があります。
- ユーザーによるクラスターの作成を所定の設定に制限します。
- ユーザーによるクラスターの作成を特定の数に制限します。
- (一部の値を修正および非表示にすることによって)ユーザーインターフェースを簡素化し、より多くのユーザーが独自のクラスターを作成できるようにします。
- クラスタリングごとの最大コストを制限することで、コストを制御します (時間単位の価格に寄与する値を持つ属性に制限を設定します)。
- クラスターをスコープとするライブラリのインストールを強制します。
ポリシーを作成する
これらの手順ではポリシー UI を使用します。これにより、ドロップダウン メニューやその他の UI 要素を使用してポリシー定義を構成できます。 ポリシー定義全体をJSON形式で編集することもできます。詳細については、 「UI 要素を使用してポリシー定義を構成する」を参照してください。
ポリシーを作成するには:
- サイドバーの
[ コンピュート ]をクリックします。
- [ ポリシー ] タブをクリックします。
- 「 ポリシーの作成 」をクリックします。
- ポリシーに名前を付けます。ポリシー名では大文字と小文字が区別されません。
- 必要に応じて、[ ファミリ ] ドロップダウンからポリシー ファミリを選択します。 これにより、ポリシーの作成元となるテンプレートが決まります。
- ポリシーの [ 説明 ] を入力します。これは、他のユーザーがポリシーの目的を知るのに役立ちます。
- [ 詳細オプション ] で、クラスタリング タイプ、ユーザーあたりの最大コンピュート リソース数、および時間あたりの最大 DBU 数を指定できます。
- 「定義」 タブで、新しい定義を追加したり、継承された定義を編集したりできます。 詳細オプション セクションでJSONルールを追加するか、 「定義をJSONとして編集」 ボタンをクリックしてポリシー定義全体をJSONとして編集してください。
- [ タグ] セクションで、カスタム タグに関するルールを定義します
- ライブラリ タブで、ポリシー をコンピュートにインストールするコンピュート スコープのライブラリを追加します。ポリシーへのライブラリの追加を参照してください。
- 作成 をクリックします。
ポリシーの権限を更新するには、ポリシーの概要ページを開き、[ すべての権限を表示 ] をクリックして権限モーダルを開きます。
ポリシー ファミリを使用する
ポリシーを作成するときに、ポリシーファミリーの使用を選択できます。 ポリシー ファミリは、一般的なコンピュートのユース ケースに対応するように設計された、事前に設定されたルールを含む Databricks提供のポリシー テンプレートです。
ポリシーファミリーを使用する場合、ポリシーのルールはポリシーファミリーから継承されます。 ポリシーファミリを選択した後、ポリシーをそのまま作成することも、ルールを追加するか、特定のルールを上書きすることもできます。 ポリシー ファミリの詳細については、「 デフォルト ポリシー」および「ポリシー ファミリ」を参照してください。
ポリシーへのライブラリの追加
ライブラリをポリシーに追加して、ライブラリがコンピュート リソースに自動的にインストールされるようにすることができます。ポリシーには最大 500 個のライブラリを追加できます。
以前にinitスクリプトを使用してコンピュートスコープのライブラリを追加したことがあるかもしれません。 Databricks 、ライブラリのインストールにはinitスクリプトの代わりにコンピュートポリシーを使用することをお勧めします。
ポリシーにライブラリを追加するには:
-
[ ポリシーの作成 ] ページの下部にある [ ライブラリ ] タブをクリックします。
-
[ライブラリの追加 ] をクリックします。
-
「ライブラリソース 」オプションのいずれかを選択し、以下に概説する指示に従います。
ライブラリのソース
手順
ワークスペース
ワークスペース ファイルを選択するか、Whl、圧縮された wheelhouse (拡張子は
*.wheelhouse.whl)、JAR、ZIP、tar、または requirements.txt ファイルをアップロードします。ワークスペースファイルからライブラリをインストールするを参照してくださいボリューム
ボリュームから Whl、JAR、または requirements.txt ファイルを選択します。 ボリュームからのライブラリーのインストールを参照してください。
ファイルパス/S3
ライブラリの種類を選択し、ライブラリ オブジェクトへの完全な URI を指定します (例:
s3://bucket-name/path/to/library.whl)。 オブジェクトストレージからのライブラリのインストールを参照してください。PyPI
PyPI パッケージ名を入力します。 PyPI パッケージを参照してください。
Maven
Maven 座標を指定します。 「Maven または Spark パッケージ」を参照してください。
CRAN
パッケージの名前を入力します。 CRAN パッケージを参照してください。
DBFS (非推奨)
JARまたは Whl ファイルをDBFSルートにロードします。 これは非推奨であり、推奨されるパターンではありません。
-
[ 追加 ] をクリックします。
ポリシーにライブラリを追加した場合の影響
ライブラリをポリシーに追加する場合:
- ユーザーは、このポリシーを使用するコンピュートにコンピュートスコープのライブラリをインストールまたはアンインストールすることはできません。
- 既存のコンピュートの UI、 REST API、または CLI を使用して構成されたライブラリは、次回コンピュートを再起動したときに削除されます。
- このポリシー in ジョブ コンピュート リソースを使用するタスクの依存関係ライブラリは無効になります。
ポリシーのアクセス許可
デフォルトでは、ワークスペース管理者はすべてのポリシーに対する権限を持っています。 管理者以外のユーザーには、ポリシーにアクセスするためのポリシーに対するアクセス許可が付与されている必要があります。
ユーザーが無制限のクラスター作成権限を持っている場合、 Unrestricted ポリシーにもアクセスできます。 これにより、完全に構成可能なコンピュート リソースを作成できます。
ユーザーがどのポリシーにもアクセスできない場合、ポリシー ドロップダウン は UI に表示されません。
ユーザーあたりのコンピュートリソースの数を制限する
ポリシーのアクセス許可を使用すると、ユーザーごとにコンピュート リソースの最大数を設定できます。 これにより、ユーザーがそのポリシーを使用して作成できるリソースの数が決まります。 ユーザーが制限を超えると、操作は失敗します。
ポリシーを使用してユーザーが作成できるリソースの数を制限するには、[ 詳細オプション ] の [ ユーザーあたりの最大コンピュート リソース ] 設定に値を入力します。
Databricks は、制限を維持するためにリソースを事前に終了しません。ユーザーが 3 つのコンピュート リソースをポリシーと共に実行しており、ワークスペース管理者が制限を 1 つに減らした場合、3 つのリソースは引き続き実行されます。 制限に準拠するために、追加のリソースを手動で終了する必要があります。
ポリシーを管理する
ポリシーを作成したら、編集、クローニング、および削除できます。
また、ポリシーを使用するコンピュート リソースを表示して、ポリシーの採用を監視することもできます。 ポリシー ページで、表示したいポリシーをクリックします。次に、「 コンピュート 」タブまたは 「ジョブ」 タブをクリックして、ポリシーを使用するリソースのリストを表示します。
ポリシーの編集
ポリシーを編集して、そのアクセス許可または定義を更新することができます。ポリシーを編集するには、ポリシー ページからポリシーを選択し、[ 編集] をクリックします。
ポリシーの定義を更新した後、そのポリシーを使用して作成されたコンピュート リソースは、新しいポリシー定義で自動的に更新されません。 ポリシー コンプライアンス enforcement を使用して、これらのコンピュート リソースのすべてまたは一部を更新することを選択できます。 「ポリシーコンプライアンスの強制」を参照してください。
ポリシーのクローニング
クローニング機能を使用して、既存のポリシーから新しいポリシーを作成することもできます。複製するポリシーを開き、ケバブ メニューをクリックして [ 複製 ] ボタンを選択します。次に、変更するフィールドの値を変更し、[ 作成] をクリックします。
ポリシーを削除する
ポリシーページからポリシーを選択し、ケバブメニュー をクリックして 削除 を選択します。 ポリシーを削除してもよいかどうかを尋ねられたら、もう一度 [削除] をクリックします。
削除されたポリシーによって管理されているコンピュートは引き続き実行できますが、ユーザーが無制限のクラスター作成権限を持っていない限り、編集することはできません。
ポリシーコンプライアンスを徹底する
ポリシーを編集した後、そのポリシーを使用して作成されたコンピュートリソースは、新しいポリシールールに準拠するように自動的に更新されません。ポリシーによって管理されるコンピュート リソースのリストを表示するには、UI でポリシーをクリックして、そのポリシーを使用する汎用コンピュートとジョブを表示します。
これらのリストは、コンピュート リソースが現在のポリシー 定義とコンプライアンスから外れているかどうかも教えてくれます。

ポリシーに準拠するようにコンピュート リソースを更新するには:
-
ポリシー ページで、更新したポリシーをクリックします。
-
ポリシーを使用するリソースまたはジョブのリストを表示するには、「**汎用**」または「**ジョブ**」セクションを参照してください。「 コンプライアンス 」列は、どのリソースが現在のポリシー定義に準拠しているかを示します。
-
リスト内でコンプライアンス違反になっているすべてのコンピュートリソースを更新するには、「**すべて適用**」をクリックします。リソースの行にある 適用 ボタンをクリックして、個別にコンピュート リソースを更新することもできます。
-
汎用コンピュートの場合:更新の適用方法を選択してください
- 次回の再起動時に適用(デフォルト):コンピュートが終了または再起動する際に、構成の更新が適用されるようスケジュールされます。実行中のワークロードは中断されません。ワークスペース管理者のみが延期適用をスケジュールまたはキャンセルできます。
- 「**再起動して適用**」:直ちにコンピュートを再起動し、更新された構成を適用します。
ジョブ コンピュートは常に直ちに適用されます。その適用には、実行中のジョブを終了させる必要がないためです。
-
[適用 ] をクリックして更新を行います。強制操作が完了すると、行われた変更の概要が表示されます。
-
[ 完了 ] をクリックします。
ポリシーのコンプライアンスを適用する際は、initスクリプトなどの配列タイプの属性はインデックス位置で照合されます。ポリシーが特定の位置で値を定義する場合、その位置の既存の値は置き換えられます。置き換えられた値は、配列内の他の位置へ移動されません。適用する前に変更をプレビューするには、個々のリソースの横にある 適用 をクリックして、その属性がどのように更新されるかを確認できます。
スケジュールされた強制適用をキャンセル
ワークスペース管理者は、汎用コンピュート上の保留中の保留された強制適用をキャンセルできます:
- ポリシーの保留中のすべての強制適用をキャンセルするには、ポリシー詳細ページで すべての強制適用をキャンセル をクリックします。
単一のコンピュートリソースの保留中の強制適用をキャンセルするには、そのコンピュートリソースでケバブメニューを開き、「保留中の強制適用をキャンセル」を選択します。
コンピュートリソースで保留されている強制適用がスケジュールされると、コンピュートの詳細ページには「 次回再起動時に更新予定 」というラベルが表示されます。ワークスペース管理者は、このページからケバブメニュー をクリックし、**保留中の強制適用をキャンセル**を選択することで、保留中の強制適用をキャンセルできます。
コンピュートの詳細ページからコンプライアンスを強制する
準拠していない汎用コンピュートリソースのコンピュートの詳細UIには、「コンプライアンス違反」というラベルが表示されます。コンピュートリソースに対してCAN MANAGE(管理可能)権限を持つユーザーは、このページからケバブメニュー をクリックし、次に**[コンプライアンスの修正]**を選択することで、適用をスケジュールできます。

ポリシーにコンピュートを追加
ポリシーにコンピュートを追加するには、ワークスペース管理者である必要があります。
ポリシーの詳細ページから、既存の多数の汎用コンピュート リソースにポリシーを一度に適用できます。この機能を使用すると、選択した各コンピュート リソースにポリシーが割り当てられ、各コンピュートの設定がポリシーに準拠するように更新されます。
ポリシーにコンピュートを追加するには、ケバブメニュー をクリックし、 [ポリシーにコンピュートを追加] を選択します。

これにより Add compute to policy (ポリシーにコンピュートを追加)モーダルが開き、3つのステップで操作をガイドします。
コンピュートを選択
ポリシーに追加する汎用コンピュート リソースを選択します。このリストは検索、フィルタリング、ページネーションをサポートしており、ページ移動やフィルター操作を行っても選択内容は保持されます。コンピュートリソースを選択できるのは、そのリソースが Running (実行中)または Terminated (終了)状態であり、かつポリシーがまだ適用されていない場合のみです。
少なくとも1つのコンピュートリソースを選択し、 [変更のプレビュー] をクリックします。

変更をプレビュー
プレビュー ステップでは、変更が適用される前にその内容を要約します:
- Compute selected および Will be updated は、選択したコンピュート リソースの数と、変更されるコンピュート リソースの数を示します。プレビューが失敗した場合、 Couldn't be previewed に失敗した数が表示されます。
- [変更されるフィールド] には、変更される各構成フィールド、その新しい値、および影響を受けるコンピュートリソースが一覧表示されます。変更が必要ない場合、このステップには [構成の変更なし] と表示されます。

If you select any running compute, applying the policy restarts the compute so the policy can take effect. The Preview step warns you how many running compute resources will be restarted. There is no option to skip the restart.
続行するには、 [ポリシーの適用] をクリックします。選択を変更するには、 [戻る] をクリックします。
ポリシーを適用
[適用] ステップでは、選択した各コンピュートリソースにポリシーを適用し、進行状況バーを表示します。完了すると、 [選択済み] 、 [試行済み] 、 [成功] 、 [失敗] したコンピュートリソースの数がサマリーとして報告されます。
すべてのコンピュートリソースが正常に更新されると、そのステップに Policy applied (ポリシー適用済み)の確認が表示されます。失敗した場合は、 Failures セクションに影響を受けたコンピュートがリストされ、操作中にコンピュートリソースが変更されたことによる編集の競合や、権限不足などの理由ごとにエラーがグループ化されます。
[完了] をクリックしてモーダルを閉じます。