コンピュートポリシーの作成と管理

この記事では、ワークスペースでポリシーを作成および管理する方法について説明します。 ポリシー定義の記述方法については、コンピュート ポリシー リファレンスを参照してください。

注:

ポリシーにはプレミアムプランが必要です。

コンピュートポリシーとは何ですか?

ポリシーは、ワークスペース管理者が一連のポリシー ルールに基づいてユーザーまたはグループのコンテンツ作成権限を制限するために使用できるツールです。

ポリシーには次の利点があります。

  • ユーザーによるクラスターの作成を所定の設定に制限します。

  • ユーザーによるクラスターの作成を特定の数に制限します。

  • (一部の値を修正および非表示にすることによって)ユーザーインターフェースを簡素化し、より多くのユーザーが独自のクラスターを作成できるようにします。

  • クラスターごとの最大コストを制限してコストを制御します(時間単位の価格に寄与する値を持つ属性に制限を設定します)。

  • クラスタースコープのライブラリのインストールを強制します。

ポリシーを作成する

これらはポリシーを作成するための基本的な手順です。 ポリシーを定義する方法については、ポリシーリファレンスを参照してください。

  1. サイドバーのコンピュートアイコン コンピュート]をクリックします。

  2. [ポリシー] タブをクリックします。

  3. ポリシーの作成」をクリックします。

  4. ポリシーに名前を付けます。ポリシー名では大文字と小文字が区別されません。

  5. 必要に応じて、 [ファミリ]ドロップダウンからポリシー ファミリを選択します。 これによって、ポリシーを構築するテンプレートが決まります。

  6. ポリシーの [説明] を入力します。これは、他のユーザーがポリシーの目的を知るのに役立ちます。

  7. [定義]タブで、ポリシー定義を入力します。

  8. ライブラリタブで、ポリシーによってコンピュートにインストールするコンピュートスコープのライブラリを追加します。 「ポリシーにライブラリを追加する」を参照してください。

  9. [権限]タブで、ポリシーの権限を割り当て、オプションで、そのポリシーを使用してユーザーが作成できるリソースの最大数を設定します。

  10. [作成]をクリックします。

ポリシーファミリーを使用する

ポリシーを作成するときに、ポリシー ファミリを使用するかどうかを選択できます。 ポリシー ファミリはDatabricksであり、一般的なコンピュート ユース ケースに対応するように設計された、事前に設定されたルールを含むポリシー テンプレートを提供します。

ポリシー ファミリを使用する場合、ポリシーのルールはポリシー ファミリから継承されます。 ポリシー ファミリを選択した後、ポリシーをそのまま作成することも、ルールを追加するか、指定されたルールを上書きすることもできます。 ポリシー ファミリの詳細については、 「デフォルト ポリシー」および「ポリシー ファミリ」を参照してください。

ポリシーにライブラリを追加する

ポリシーにライブラリを追加すると、ライブラリがコンピュートリソースに自動的にインストールされます。 ポリシーには最大 500 個のライブラリを追加できます。

注:

以前に init スクリプトを使用してコンピュートスコープのライブラリを追加した可能性があります。 Databricks 、ライブラリをインストールするために init スクリプトではなくコンピュート ポリシーを使用することを推奨しています。

ポリシーにライブラリを追加するには:

  1. [ポリシーの作成]ページの下部にある[ライブラリ]タブをクリックします。

  2. ライブラリの追加をクリックします。

  3. ライブラリ ソースオプションのいずれかを選択し、以下の手順に従います。

    ライブラリのソース

    手順

    ワークスペース

    ワークスペース ファイルを選択するか、Whl、圧縮された wheelhouse、JAR、ZIP、tar、または requirements.txt ファイルをアップロードします。 ワークスペースファイルからライブラリをインストールするを参照してください

    ボリューム

    ボリュームから Whl、JAR、または requirements.txt ファイルを選択します。 「ボリュームからライブラリをインストールする」を参照してください。

    ファイルパス/GCS

    ライブラリ タイプを選択し、ライブラリ オブジェクトへの完全な URI を指定します (例: gs://bucket-name/path/to/library.whl )。 「オブジェクト ストレージからライブラリをインストールする」を参照してください。

    PyPI

    PyPI パッケージ名を入力します。 PyPI パッケージを参照してください。

    Maven

    Maven 座標を指定します。 Maven または Spark パッケージを参照してください。

    CRAN

    パッケージの名前を入力します。 CRAN パッケージを参照してください。

    DBFS (非推奨)

    JARまたは Whl ファイルを DBFS ルートにロードします。 DBFS に保存されたファイルはどのワークスペース ユーザーでも変更できるため、これはお勧めできません。

  4. [追加] をクリックします。

ポリシーにライブラリを追加した場合の効果

ポリシーにライブラリを追加する場合:

  • ユーザーは、このポリシーを使用するコンピュート上でコンピュートスコープのライブラリをインストールまたはアンインストールすることはできません。

  • 既存のコンピュート上の UI、 REST API 、またはCLIを通じて構成されたライブラリは、コンピュートが次回再起動したときに削除されます。

  • ジョブ コンピュートリソースでこのポリシーを使用するタスクの依存ライブラリは無効になります。

ポリシー権限

デフォルトでは、ワークスペース管理者はすべてのポリシーに対する権限を持ちます。 管理者以外のユーザーがポリシーにアクセスするには、ポリシーに対する権限を付与する必要があります。

ユーザーに無制限のクラスター作成権限がある場合は、無制限ポリシーにもアクセスできます。 これにより、完全に構成可能なコンピュートリソースを作成できます。

ユーザーがどのポリシーにもアクセスできない場合、ポリシーの通知は UI に表示されません。

ユーザーあたりのコンピュートリソース数を制限する

ポリシー権限により、ユーザーごとにコンピュート リソースの最大数を設定できます。 これにより、ユーザーがそのポリシーを使用して作成できるリソースの数が決まります。 ユーザーが制限を超えると、操作は失敗します。

ユーザーがポリシーを使用して作成できるリソースの数を制限するには、ポリシー UI の[権限]タブの[ユーザーあたりの最大コンピュート リソース]設定に値を入力します。

注:

Databricks は、制限を維持するためにリソースを積極的に終了しません。 ユーザーがポリシーを使用して 3 つのコンピュート リソースを実行しており、ワークスペース管理者が制限を 1 つに減らした場合、3 つのリソースは引き続き実行されます。 制限に従うには、余分なリソースを手動で終了する必要があります。

ポリシーを管理する

ポリシーを作成した後、それを編集、複製、削除できます。

ポリシーを使用するコンピュートリソースを表示することで、ポリシーの採用状況を監視することもできます。 「ポリシー」ページで、表示するポリシーをクリックします。 次に、 [コンピュート]または[ジョブ]タブをクリックして、ポリシーを使用するリソースのリストを表示します。

ポリシーを編集する

ポリシーを編集して、その権限または定義を更新する必要がある場合があります。 ポリシーを編集するには、ポリシー ページからポリシーを選択し、 [編集] をクリックします。 [編集]をクリックした後、 [権限]タブをクリックしてポリシーの権限を更新できます。 その後、ポリシーの定義を更新することもできます。

ポリシーの定義を更新した後、そのポリシーを使用して作成されたコンピュート リソースは、新しいポリシーの定義で自動的に更新されません。 ポリシー コンプライアンスの施行を使用して、これらのコンピュート リソースのすべてまたは一部を更新することを選択できます。 「ポリシーコンプライアンスの適用」を参照してください。

ポリシーを複製する

複製機能を使用して、既存のポリシーから新しいポリシーを作成することもできます。 複製するポリシーを開き、 「複製」ボタンをクリックします。 次に、変更するフィールドの値を変更し、「 作成」をクリックします。

ポリシーを削除する

ポリシー ページからポリシーを選択し、 [削除] をクリックします。 ポリシーを削除してもよいか尋ねられたら、もう一度「削除」をクリックします。

削除されたポリシーによって管理されているコンピュートは引き続き実行できますが、ユーザーが無制限のクラスター作成権限を持っていない限り、編集することはできません。

ポリシーを強制する コンプライアンス

ポリシーを編集した後、そのポリシーを使用して作成されたコンピュート リソースは、新しいポリシー ルールに準拠するように自動的に更新されません。 ポリシーによって管理されるコンピュート リソースのリストを表示するには、UI でポリシーをクリックし、次に「コンピュート」タブをクリックして関連する汎用コンピュートを表示するか、 「ジョブ」タブをクリックしてポリシーによって管理されるコンピュートで実行されるジョブのリストを表示します。

これらのリストは、現在のポリシー定義ではコンピュート リソースがコンプライアンスから外れているかどうかも示します。

ポリシー コンプライアンス shared コンピュート UI

ポリシーに準拠するようにコンピュート リソースを更新するには:

  1. 「ポリシー」ページで、更新したポリシーをクリックします。

  2. [コンピューティング]または[ジョブ]タブをクリックすると、ポリシーを使用するリソースまたはジョブのリストが表示されます。 コンプライアンス列は、現在のポリシー定義でどのリソースがコンプライアンスに含まれているかを示します。

  3. [すべて修正]をクリックして、リスト内のコンプライアンス外のすべてのコンピュート リソースを更新します。 リソースの行にある[修正]ボタンをクリックして、コンピュート リソースを個別に更新することもできます。

  4. (オプション) 現在実行中のコンピュートにポリシーを適用したい場合は、 「実行中のクラスターを強制する」チェックボックスをオンにします。 これにより、実行中のコンピュート リソースが直ちに再起動されます。

  5. [適用] をクリックして更新を行います。強制操作が完了すると、行われた変更の概要が表示されます。

  6. [完了] をクリックします。

さらに、コンプライアンス外の多目的コンピュート リソースには、コンピュート詳細 UI にコンプライアンス外のラベルが含まれています。 コンピュート リソースに対するCAN MANAGE権限を持つユーザーは、 [詳細][コンプライアンスの修正]の順にクリックして、このページからコンプライアンスを強制できます。

ポリシー コンプライアンス out of コンプライアンス UI