メインコンテンツへジャンプ
Engineering blog

Terraform Databricksのモジュールを発表

30+ reusable Terraform modules to provision your Databricks Lakehouse platform
Yassine Essawabi
Hao Wang
Alex Ott
Share this post

Original: Announcing Terraform Databricks modules

翻訳: junichi.maruyama 

Databricks Terraformプロバイダーは1,000万インストールを突破し、一般提供開始後1年未満で大幅に採用が増えました。

この重要なマイルストーンはTerraformとDatabricksプロバイダーが、Lakehouse Platformのインフラ展開と管理を自動化するために、多くのお客様に広く利用されていることを示すものです。

Monthly downloads of Databricks Terraform provider
Figure: Databricks Terraformプロバイダの月間ダウンロード数

インフラの維持、管理、拡張を容易にするために、DevOpsチームはTerraformモジュールと呼ばれるモジュール化された再利用可能なコンポーネントを使用してインフラを構築します。Terraformモジュールによって、複数のユースケースや環境にわたって同じコンポーネントを簡単に再利用することができます。また、組織全体でリソースを定義し、ベストプラクティスを採用するという標準的なアプローチを強制することができます。一貫性によってベストプラクティスが守られるだけでなく、コンプライアンスに基づいたデプロイメントを実施し、コストのかかる偶発的な誤設定を回避することができます。

Terraform Databricksのモジュール紹介

お客様のLakehouse環境のテストとデプロイを支援するために、DatabricksのTerraformプロバイダを使ってAzure、AWS、GCP上でDatabricks Lakehouseプラットフォームをプロビジョニングするための30以上の再利用可能なTerraformモジュールと例のセット、Databricks用実験的Terraform Registryモジュールをリリースします。github リポジトリの terraform-databricks-examples の内容を利用しています。

Databricks Terraform modules available on Terraform Registry
Figure: DatabricksのTerraformモジュールがTerraform Registryで利用できるようになりました

これらのモジュールの使用方法は2つあります:

  1. 自分のTerraformコードのリファレンスとしてサンプルを使う。
  2. Terraformの構成でサブモジュールを直接参照する。

利用可能なモジュールとサンプルのフルセットは、Terraform Registry modules for Databricksに記載されています。

Terraform Databricks examplesで始める

利用可能なさまざまなTerraform Databricksモジュールのいずれかを使用するには、次の手順を実行する必要があります:

  1. 異なるモジュールソースタイプのいずれかを使用して、このモジュールを参照します。
  2. モジュールに必要な入力を含むvariables.tfファイルを追加する。
  3. terraform.tfvarsファイルを追加し、定義された各変数に値を付与する。
  4. モジュールoutputsでoutput.tfファイルを追加する。
  5. (強く推奨) リモートバックエンドを設定する
  6. terraform initを実行してterraformを初期化し、必要なプロバイダをダウンロードします。
  7. terraform validateを実行して、ディレクトリ内の設定ファイルを検証します。
  8. Terraform planを実行して、Terraformが作成する予定のリソースをプレビューします。
  9. terraform applyを実行して、リソースを作成します。

ウォークスルー

このセクションでは、Databricks Terraformレジストリモジュールページで提供されている例の使い方を説明します。各例は互いに独立しており、専用のREADME.mdが用意されています。ここでは、このAzure Databricksのサンプルadb-vnet-injectionを使用して、オートスケーリングクラスターでVNet注入されたDatabricks Workspaceをデプロイします。

 

Step 1: プロバイダーへの認証を行う

providers.tfに移動して、例で使用するプロバイダを確認します。ここでは、AzureプロバイダとDatabricksプロバイダへの認証を設定する必要があります。プロバイダーへの認証の設定方法については、以下のドキュメントをお読みください:

Step 2: exampleのreadmeに目を通し、入力値を用意する

このテンプレートを展開するために az ログインで使用する ID は、azure サブスクリプションの contributor ロール、またはこのテンプレートのリソースを展開するために最低限必要な権限を持っている必要があります。

次に、以下の手順を実行します:

  1. terraform initを実行してterraformを初期化し、必要なプロバイダをダウンロードします。
  2. terraform planを実行し、デプロイされるリソースを確認します。
  3. terraform applyを実行し、Azure環境にリソースをデプロイします。
    プロバイダへの認証にazログインを使用したため、ブラウザからAzureにログインするよう促されます。リソースのデプロイを促すプロンプトが表示されるので、yesと入力します。

Step 3: お客様の環境でリソースが正常に配置されたことを確認します

Azure Portalに移動して、すべてのリソースが正常にデプロイされたことを確認します。これで、1つのクラスタがデプロイされたvnet-injectedワークスペースができました。

Azure Portal

Compute

このリポジトリの /examples に、より多くの例とその要件、プロバイダ認証があります。

貢献の方法

Terraform-databricks-examplesのコンテンツは、異なるアーキテクチャやDatabricksプラットフォームのより多くの機能をカバーする新しいモジュールで継続的に更新される予定です。

これはDatabricks Field Engineeringによって開発されたコミュニティプロジェクトであり、そのままの形で提供されていることに注意してください。Databricksは公式なサポートを提供しません。新しい例や新しいモジュールを追加するためには、新しいプルリクエストを開くことでプロジェクトに貢献することができます。どのような問題でも、terraform-databricks-examples リポジトリの下で問題を開いてください。

現在利用可能なモジュールとサンプルのリストを参照し、Databricksインフラストラクチャをデプロイするためにそれらを試してみてください!

Databricks 無料トライアル

関連記事

Platform blog

Databricksワークスペースのディザスターリカバリーの実装

March 3, 2023 Ankit ShahLorin Dawson による投稿 in 製品
Original: Implementing Disaster Recovery for a Databricks Workspace 翻訳: junichi.maruyama この投稿は Disaster Recovery Overview, Strategies, and Assessment や Disaster Recovery Automation and Tooling...
Platform blog

Unityカタログの分散・非集中管理に向けた自動化ガイド

Original : An Automated Guide to Distributed and Decentralized Management of Unity Catalog 翻訳: junichi.maruyama Unity Catalog は、あらゆるクラウド上のレイクハウスにあるすべてのデータとAI資産に対して、統一されたガバナンスソリューションを提供します。顧客がUnity Catalogを採用する際、コードアプローチとしてのインフラストラクチャを使用して、これをプログラム的かつ自動的に行いたいと考えています。Unity Catalogでは、Unity Catalogのオブジェクトの最上位コンテナであるメタストアがリージョンごとに1つ存在します。このメタストアには、データ資産(テーブルとビュー)と、アクセスを制御する権限が格納されています。 このことは、Unity Catalogの管理機能を担うプラットフォーム/ガバナンスチームを一元化していない組織にとって、新たな課題となる。具体的には、これらの
Platform blog

Serving Up a Primer for Unity Catalog Onboarding

Introduction This blog is part of our Admin Essentials series, where we'll focus on topics important to those managing and maintaining Databricks environments...
エンジニアリングのブログ一覧へ