Terraform を使用した Unity Catalog セットアップの自動化

Databricks TerraformUnity Catalog プロバイダー を使用して セットアップを自動化できます。この記事では、Terraformプロバイダー Unity Catalog デプロイメント・ガイドとリソース・リファレンス・ドキュメントへのリンク、要件(「開始する前に」)、検証とデプロイのヒントを提供します。

始める前に

Terraform を使用して Unity Catalog セットアップを自動化するには、次のものが必要です。

Databricks Terraform プロバイダーを使用して、 Unity Catalogのメタストア、メタストアのストレージ、外部ストレージ、およびそれらに関連するすべてのアクセス資格情報を構成するには、次のものが必要です。

  • AWSアカウント。

  • Databricks on AWSアカウントです。

  • Databricksアカウントのアカウント管理者ロールを持つサービスプリンシパル。

  • Terraform CLI。Terraform Webサイトの「Terraformのダウンロード」を参照してください。

  • 次の 7 つの Databricks 環境変数。

    • DATABRICKS_CLIENT_ID、サービスプリンシパルのクライアント ID (アプリケーション ID とも呼ばれる) の値に設定されます。 「OAuth マシン間 (M2M) 認証」を参照してください。

    • DATABRICKS_CLIENT_SECRET、サービスプリンシパルのクライアントシークレットの値に設定されます。 「OAuth マシン間 (M2M) 認証」を参照してください。

    • DATABRICKS_ACCOUNT_IDをDatabricksアカウントのIDの値に設定します。この値は、Databricksアカウントコンソールの隅にあります。

    • TF_VAR_databricks_account_idは、DatabricksアカウントのIDの値にも設定されます。

    • AWS_ACCESS_KEY_IDをAWSユーザーのアクセスキーIDの値に設定します。AWS全般のリファレンスの「プログラムによるアクセス」を参照してください。

    • AWS_SECRET_ACCESS_KEYをAWSユーザーのシークレットアクセスキーの値に設定します。AWS全般のリファレンスの「プログラムによるアクセス」を参照してください。

    • AWS_REGIONで、DatabricksアカウントのAWSリージョンコードの値に設定します。AWS全般のリファレンスの「リージョンエンドポイント」を参照してください。

    アカウント管理者のユーザー名とパスワードを使用して、Terraformプロバイダーへの認証を行うこともできます。 Databricks では、サービスプリンシパルに OAuth を使用することを強くお勧めします。 ユーザー名とパスワードを使用するには、次の環境変数が必要です。

    • DATABRICKS_USERNAMEで、Databricksアカウントレベルの管理者ユーザー名の値に設定します。

    • DATABRICKS_PASSWORDで、Databricksアカウントレベルの管理者ユーザーのパスワードの値に設定します。

    これらの環境変数を設定するには、オペレーティングシステムのマニュアルを参照してください。

Databricks Terraform プロバイダーを使用して他のすべての Unity Catalog インフラストラクチャ コンポーネントを構成するには、次のものが必要です。

  • Databricksワークスペース。

  • ローカル開発マシンには、次のものが必要です。

    • Terraform CLI。Terraform Webサイトの「Terraformのダウンロード」を参照してください。

    • 次のいずれか一つ。

      • Databricks CLI バージョン 0.205 以降 (databricks configure --host <workspace-url> --profile <some-unique-profile-name>を実行して Databricks 個人用アクセストークンで構成されている)。「 Databricks CLI のインストールまたは更新 」および 「Databricks 個人用アクセストークン認証」を参照してください。

        自動化されたツール、システム、スクリプト、アプリを使用して認証する場合のセキュリティのベスト プラクティスとして、Databricks ではOAuth トークンを使用することをお勧めします。

        個人用アクセストークン認証を使用する場合、Databricks では、ワークスペース ユーザーではなく、 サービスプリンシパル に属する個人用アクセストークンを使用することをお勧めします。 サービスプリンシパルのトークンを作成するには、「 サービスプリンシパルのトークンを管理する」を参照してください。

      • 環境変数 Databricks は次のとおりです。

        • DATABRICKS_HOSTは、例えば、DatabricksワークスペースインスタンスURLの値に設定します。 https://dbc-1234567890123456.cloud.databricks.com

        • DATABRICKS_CLIENT_ID、サービスプリンシパルのクライアント ID (アプリケーション ID とも呼ばれる) の値に設定されます。 「OAuth マシン間 (M2M) 認証」を参照してください。

        • DATABRICKS_CLIENT_SECRET、サービスプリンシパルのクライアントシークレットの値に設定されます。 「OAuth マシン間 (M2M) 認証」を参照してください。

        または、サービスプリンシパルのクライアントIDとクライアントシークレットの代わりに、個人用アクセストークンを使用することもできます。

        これらの環境変数を設定するには、オペレーティングシステムのマニュアルを参照してください。

        自動化されたツール、システム、スクリプト、アプリを使用して認証する場合のセキュリティのベスト プラクティスとして、Databricks ではOAuth トークンを使用することをお勧めします。

        個人用アクセストークン認証を使用する場合、Databricks では、ワークスペース ユーザーではなく、 サービスプリンシパル に属する個人用アクセストークンを使用することをお勧めします。 サービスプリンシパルのトークンを作成するには、「 サービスプリンシパルのトークンを管理する」を参照してください。

Terraformプロバイダ Unity Catalog デプロイメント・ガイドおよびリソース・リファレンス・ドキュメント

すべての前提条件をデプロイし、ワークスペースのUnity Catalogを有効にする方法については、Databricks Terraform プロバイダーのドキュメントの「前提条件リソースのデプロイとUnity Catalogの有効化」を参照してください。

Unity Catalogインフラストラクチャ・コンポーネントがすでにある場合は、Terraformを使用して、必要に応じて追加のUnity Catalog・インフラストラクチャ・コンポーネントをデプロイできます。前の段落で参照されているガイドの各セクションと、Databricks Terraform プロバイダー ドキュメントのUnity Catalogセクションを参照してください

リソースを 検証、計画、デプロイ、または破棄する

  • Terraform構成の構文をデプロイせずに検証するには、 terraform validate コマンドを実行します。

  • Terraformが構成をデプロイするために実行するアクションを表示するには、 terraform plan コマンドを実行します。 このコマンドは、実際には設定を展開しません。

  • 構成を展開するには、 terraform deploy コマンドを実行します。

  • デプロイされたリソースを削除するには、 terraform destroy コマンドを実行します。