2024/02/24 追記
SQL Sarehouse ではなく、サーバレスコンピューティングという概念でリンクと手順が変わっていました。
サーバーレス コンピューティングのアクセス用に Azure Storage ファイアウォールを構成する
本記事もサブネットIDを許可する方式としては同じだと思いますが手順は変更されているので最新情報をご確認ください。なお、プライベートリンクも現時点でPreviewしています。
はじめに
サーバーレス SQL ウェアハウスからのアクセスを許可するように Azure Storage ファイアウォールを構成するに記載の通り、
Azure Databricks サーバレスSQL Warehouse をファイアウォールの背後のストレージに接続するためには以下の構成用にサブネットを登録する必要がありますので、試してみます。
ただ、数が多いです。
portal だけで完結したいので、テンプレートを作りました。
手順
準備
Data Lake Storage Gen2を有効化したストレージアカウントとシークレット格納用のkey vault、Premium エディションのDatabricksを準備します。
リージョンは現時点でプレビュー可能なCentralUSです。
また、データレイクへのアクセス用にサービスプリンシパルを用意し、Data Lake の ストレージ Blob データ共同作成者にしています
シークレットスコープとシークレットの登録は、UI を使用して Azure Key Vault でサポートされるシークレットのスコープを作成するを参考にしてください。
1. サーバレスSQL ウェアハウスを有効にする
基本的に
ステップ 1: ワークスペースのサーバーレス SQL ウェアハウスを有効にするに従います。
ここで変更を反映後は、サーバレスSQLが実行できるはずです。
2. サービスプリンシパルのアクセスを構成する
1.+ Services Principal を追加をクリックして表示されるサービスプリンシパルの追加画面から、情報を入力し、変更を反映します。
2.テストとして、サーバレスSQLで、Create table してみます。
CREATE TABLE test_non_fw (
id int
)
USING DELTA
LOCATION 'abfss://<コンテナ名>@<ストレージアカウント名>.dfs.core.windows.net/lakehouse/default/test_non_fw'
作れてます。
3. データレイクのファイアウォール設定を構成する
1.まず単純にファイアウォールを設定します。
2.すると、サーバレスSQLからはアクセスができなくなります。
3.サーバレスサブネットを許可するため、テンプレートを使っていきます。
4.サンプルパラメータファイルが、Central USのサブネットを許可するものになっていますのでそのまま使います。
5.成功を確認後、ネットワーク設定が反映されていることを確認します。
4. 実行の確認
クエリが成功することを確認します。
※わかりにくいのでinsert 文も実行しました。