1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Unity Catalog 外部ロケーションをTerraformで実装してみる

Last updated at Posted at 2022-10-10

はじめに

前回、Unity Catalogの構築をterraformで実装してみました。ただし考えてみると運用上何度もUnity Catalogを実装することはないと思います。(初回のみ)

しかし、外部ストレージの登録は申請ベースで何度もあるかもしれません。今回はそのようなケースを想定して、外部ロケーション(外部ストレージ)の登録をTerraformで実装してみました。

ちなみにTerraformを使わずにマニュアルで実装すると以下のような手順が必要になります。IAMの作成とS3バケット作成やストレージ資格登録や外部ロケーション登録などちょっとだけ面倒ですね。Unity Catalog 外部ロケーションの登録 (AWS)

テンプレートで自動化される内容

・IAM Role作成
・IAM Policy作成
・S3 Bucket作成と設定
・ストレージ資格作成
・ストレージロケーション作成

事前準備

以下の環境をあらかじめセットアップしておきます。

Unity Catalogをまだセットアップできていない場合はこちらを最初に実行ください。

テンプレートのダウンロード

今回利用するterraformテンプレートはこちらです。

git clone https://github.com/maroon-spec/unity_catalog_externalstorage.git

変数パラメーターの設定

今回は2つのパラメーターファイルに分けております。

auth.auto.tfvars

パラメータ 説明
databricks_connection_profile default databricks CLIで設定した、今回対象のWS用プロファイル
aws_connection_profile default AWS CLIで設定した今回対象のプロファイル
aws_region ap-northeast-1 AWS Region

external-storage.auto.tfvars

パラメータ 説明
s3_bucket_name tf-uc-external S3 bucket name
aws_iam_role_name tf-uc-external IAM Role Name
external_storage_location_label some ストレージロケーションに登録するサブディレクトリ名
databricks_account_id xxxx-xxxx-xxxxx Databricks Account ID

terraformの実行

あとは、Terraformの実行だけです。

a) terraform init

初回のみですが、対象のディレクトリー上で上記コマンドを実行します。

$ terraform init

b) terraform plan

$ terraform plan

c) terraform apply

$ terraform apply

ちょっとWarning Messageは出てますが、最後までApplyが成功しました。
image.png

確認してみよう

S3 Bucketができてます。
image.png

IAM Roleももちろん作成済み
image.png

Databricks側のストレージロケーションも確認
image.png

実際に外部テーブルを作成してみます。
image.png

データエクスプローラで確認してみると
image.png

詳細タブで確認するとExternal Tableとして認識されてますね。
image.png

最後に

今回はこちらのマニュアルを参考にテンプレートを作成しましたが、ご利用は自己責任にてお願いします。
https://docs.databricks.com/data-governance/unity-catalog/automate.html

それにしてもterraform便利ですね。

UnityCatalogセットアップについてはこちらもご覧ください。
https://qiita.com/maroon-db/items/57cee03cef202c839b94

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?