Terraform Databricksのモジュールを発表
Original: Announcing Terraform Databricks modules
翻訳: junichi.maruyama
Databricks Terraformプロバイダーは1,000万インストールを突破し、一般提供開始後1年未満で大幅に採用が増えました。
この重要なマイルストーンはTerraformとDatabricksプロバイダーが、Lakehouse Platformのインフラ展開と管理を 自動化するために、多くのお客様に広く利用されていることを示すものです。
インフラの維持、管理、拡張を容易にするために、DevOpsチームはTerraformモジュールと呼ばれるモジュール化された再利用可能なコンポーネントを使用してインフラを構築します。Terraformモジュールによって、複数のユースケースや環境にわたって同じコンポーネントを簡単に再利用することができます。また、組織全体でリソースを定義し、ベストプラクティスを採用するという標準的なアプローチを強制することができます。一貫性によってベストプラクティスが守られるだけでなく、コンプライアンスに基づいたデプロイメントを実施し、コストのかかる偶発的な誤設定を回避することができます。
Terraform Databricksのモジュール紹介
お客様のLakehouse環境のテストとデプロイを支援するために、DatabricksのTerraformプロバイダを使ってAzure、AWS、GCP上でDatabricks Lakehouseプラットフォームをプロビジョニングするための30以上の再利用可能なTerraformモジュールと例のセ ット、Databricks用実験的Terraform Registryモジュールをリリースします。github リポジトリの terraform-databricks-examples の内容を利用しています。
これらのモジュールの使用方法は2つあります:
- 自分のTerraformコードのリファレンスとしてサンプルを使う。
- Terraformの構成でサブモジュールを直接参照する。
利用可能なモジュールとサンプルのフルセットは、Terraform Registry modules for Databricksに記載されています。
Terraform Databricks examplesで始める
利用可能なさまざまなTerraform Databricksモジュールのいずれかを使用するには、次の手順を実行する必要があります:
- 異なるモジュールソースタイプのいずれかを使用して、このモジュールを参照します。
- モジュールに必要な入力を含むvariables.tfファイルを追加する。
- terraform.tfvarsファイルを追加し、定義された各変数に値を付与する。
- モジュールoutputsでoutput.tfファイルを追加する。
- (強く推奨) リモートバックエンドを設定する
- terraform initを実行してterraformを初期化し、必要なプロバイダをダウンロードします。
- terraform validateを実行して、ディレクトリ内の設定ファイルを検証します。
- Terraform planを実行して、Terraformが作成する予定のリソースをプレビューします。
- terraform applyを実行して、リソースを作成します。
ウォークスルー
このセクションでは、Databricks Terraformレジストリモジュールページで提供されている例の使い方を説明します。各例は互いに独立しており、専用のREADME.mdが用意されています。ここでは、このAzure Databricksのサンプルadb-vnet-injectionを使用して、オートスケーリングクラスターでVNet注入されたDatabricks Workspaceをデプロイします。
Step 1: プロバイダーへの認証を行う
providers.tfに移動して、例で使用するプロバイダを確認します。ここでは、AzureプロバイダとDatabricksプロバイダへの認証を設定する必要があります。プロバイダーへの 認証の設定方法については、以下のドキュメントをお読みください:
- Azurerm provider authentication methods
- Databricks provider authentication methods and Azure documentation
Step 2: exampleのreadmeに目を通し、入力値を用意する
このテンプレートを展開するために az ログインで使用する ID は、azure サブスクリプションの contributor ロール、またはこのテンプレートのリソースを展開するために最低限必要な権限を持っている必要があります。
次に、以下の手順を実行します:
- terraform initを実行してterraformを初期化し、必要なプロバイダをダウンロードします。
- terraform planを実行し、デプロイされるリソースを確認します。
- terraform applyを実行し、Azure環境にリソースをデプロイします。
プロバイダへの認証にazログインを使用したため、ブラウザからAzureにログインするよう促されます。リソースのデプロイを促すプロンプトが表示されるので、yesと入力します。
Step 3: お客様の環境でリソースが正常に配置されたことを確認します
Azure Portalに移動して、すべてのリソースが正常にデプロイされたことを確認します。これで、1つのクラスタがデプロイされたvnet-injectedワークス ペースができました。
このリポジトリの /examples に、より多くの例とその要件、プロバイダ認証があります。
貢献の方法
Terraform-databricks-examplesのコンテンツは、異なるアーキテクチャやDatabricksプラットフォームのより多くの機能をカバーする新しいモジュールで継続的に更新される予定です。
これはDatabricks Field Engineeringによって開発されたコミュニティプロジェクトであり、そのままの形で提供されていることに注意してください。Databricksは公式なサポートを提供しません。新しい例や新しいモジュールを追加するためには、新しいプルリクエストを開くことでプロジェクトに貢献することができます。どのような問題でも、terraform-databricks-examples リポジトリの下で問題を開いてください。
現在利用可能なモジュールとサンプルのリストを参照し、Databricksインフラストラクチャをデプロイするためにそれらを試してみてください!