Azure Databricksをインフラ視点で使う(1)【リソース構築編】
はじめに
昨年夏くらいにAzure Databricksを初めて触って、その時はBicepで構築したのですが、最近マイブームのTerraform版を作りました。
今回やったこと
今回の記事執筆時点では、とりあえず以下の事ができています。
- 仮想ネットワーク、サブネット、NSGを作成
- Databricksワークスペースを仮想ネットワーク内に配置
Databricksワークスペースを仮想ネットワーク内に配置する事で、他のAzure PaaSに対してもプライベートリンクでより安全に接続できるようになるでしょう。
こちらを読んで興味のあるかたは、続編の記事もご覧ください。
使い方
クライアントPCにはAzure CLIとterraformはインストールしておきましょう。
まずリポジトリをclone後、terraform.tfvars.sample
を terraform.tfvars
にコピーして、内容を適度に書き換えます。
続いて、以下のコマンドイメージを参考にデプロイしましょう。
export ARM_SUBSCRIPTION_ID="your subscription id"
az login -t <your tenant id>
az account set -s $ARM_SUBSCRIPTION_ID
terraform plan
terraform apply
はいできました。
少しTerraformの説明
仮想ネットワーク関連
仮想ネットワークとサブネットを作成している部分は以下です。
それぞれのサブネットで委任先や適用するNSGが異なるので配列化を断念しています。うまいやりかたないかな。
NSG関連
ここで定義しているルールは、優先度や名称は固定です。
Azure Databricksに委任されたpublic, privateサブネットに適用しますが以下のURLに書かれている通りのルールを先に登録する必要がありました。
Databricks
Databricksを作成している部分です。
今回は仮想ネットワーク配下に入れることからSKUはpremium固定となります。
とりあえず確認
実はDatabricks中の操作は全然詳しくないのですが、とりあえずServerlessのSQL Warehouseとノートブックからサンプルデータが表示できました。
今後やること
- プライベートリンク接続したStorage Account(DFS)を今回の仮想ネットワークに接続して閉域経由でカタログに登録
- サーバレスのSQL Warehouse等をプライベートリンクで接続
- Databricksワークスペース自体をプライベートネットワーク経由のみでアクセスさせるように構成してみる
- もう少しDatabricksそのものの知見を深める
おわりに
とにかく先が長そうな試用なので、記事を分割して少しずつ取り込んでいきたいと思います。
こちらを読んで興味のあるかたは、続編の記事もご覧ください。
Discussion