<p><!-- META: RESEARCH-FIRST, PLAN, ARCHITECT -->
本記事は<strong>Geminiの出力をプロンプト工学で整理した業務ドラフト(未検証)</strong>です。</p>
<h1 class="wp-block-heading">Azure Databricks サーバーレス計算リソースの導入とセキュアなインフラ設計ガイド</h1>
<h3 class="wp-block-heading">【導入】</h3>
<p>データ基盤の管理負荷を最小化し、インフラ運用のオーバーヘッドを排除しながら、スケーラブルなデータ分析とAI開発を加速させます。</p>
<h3 class="wp-block-heading">【アーキテクチャ設計】</h3>
<p>サーバーレス計算リソース(SQL Warehouse, Notebooks, Workflows)の導入により、従来の「カスタマーVNet内へのVMデプロイ」から、Databricksが管理する「サーバーレス計算プレーン」への移行が実現します。これにより、クラスターの起動時間の短縮(数秒)と、パッチ適用等の運用負担の解消が図られます。</p>
<div class="wp-block-merpress-mermaidjs diagram-source-mermaid"><pre class="mermaid">
graph TD
subgraph Azure_Cloud
subgraph Customer_Subscription
ADLS["Storage: ADLS Gen2"]
PE["Private Endpoint"]
end
subgraph Databricks_Serverless_Plane
SC["Serverless Compute"]
NCC["Network Connectivity Config"]
end
subgraph Control_Plane
Auth["Microsoft Entra ID"]
WS["Databricks Workspace"]
end
end
User -->|Access| WS
WS -->|Provision| SC
SC -->|Secure Access via NCC| PE
PE -->|Data Access| ADLS
WS -->|Identity| Auth
</pre></div>
<p>アーキテクチャの核心は「Network Connectivity Config (NCC)」です。サーバーレス計算プレーンから顧客リソース(ADLS Gen2等)へプライベートに接続するためのネットワーク境界を定義します。</p>
<h3 class="wp-block-heading">【実装・デプロイ手順】</h3>
<p>サーバーレス機能を有効化したワークスペースをTerraformで構成する例です。サーバーレス計算リソースの利用には、Premium価格レベルが必須となります。</p>
<div class="codehilite">
<pre data-enlighter-language="generic"># Azure Databricks ワークスペースの作成
resource "azurerm_databricks_workspace" "this" {
name = "dbw-serverless-prod"
resource_group_name = azurerm_resource_group.this.name
location = azurerm_resource_group.this.location
sku = "premium"
# サーバーレス計算リソースのネットワーク接続設定 (NCC)
# ※ 現時点ではAPIまたはAzure Portalからの構成が主流
tags = {
Environment = "Production"
Engine = "Serverless"
}
}
# サーバーレスSQL Warehouseの作成例 (Databricks Provider)
resource "databricks_sql_endpoint" "serverless" {
name = "Serverless_Warehouse"
cluster_size = "X-Small"
max_num_clusters = 5
auto_stop_mins = 10
enable_serverless_compute = true
}
</pre>
</div>
<ol class="wp-block-list">
<li><p><strong>ワークスペース作成</strong>: SKUを <code>premium</code> に指定してデプロイ。</p></li>
<li><p><strong>Unity Catalogの有効化</strong>: サーバーレスリソースの利用にはUnity Catalogのメタストア割り当てが強く推奨(ほぼ必須)されます。</p></li>
<li><p><strong>NCCの構成</strong>: Azure Portalの「Network Connectivity Configs」から、サーバーレスプレーンから自社VNetのPrivate Endpointへの接続を許可します。</p></li>
</ol>
<h3 class="wp-block-heading">【アイデンティティとセキュリティ】</h3>
<p>サーバーレス環境では、従来のインスタンスプロファイルではなく、<strong>Unity Catalog (UC)</strong> によるガバナンスが前提となります。</p>
<ul class="wp-block-list">
<li><p><strong>認証と認可</strong>: Microsoft Entra ID(旧Azure AD)と完全に統合。SCIMによるユーザー同期を行い、Unity Catalogでテーブル・ファイル単位のRBACを制御します。</p></li>
<li><p><strong>ネットワークセキュリティ</strong>: サーバーレス計算プレーンはDatabricks管理ですが、NCCを使用することで、ストレージアカウント側のファイアウォールで「信頼されたサービス」または「Private Endpoint」経由のアクセスのみを許可する構成が可能です。</p></li>
<li><p><strong>データ保護</strong>: E2管理(Encrypt Everything)を適用し、顧客管理キー(CMK)による二重暗号化を検討してください。</p></li>
</ul>
<h3 class="wp-block-heading">【運用・コスト最適化】</h3>
<p>サーバーレスは「使った分だけ」の課金(DBU単位)であり、従来のクラスターのような「アイドリング中のVMコスト」を削減できます。</p>
<ul class="wp-block-list">
<li><p><strong>可観測性</strong>: <code>system.billing.usage</code> などのシステムテーブルをクエリすることで、ノートブックやジョブごとのサーバーレス消費コストをリアルタイムに可視化します。</p></li>
<li><p><strong>オートスケール</strong>: サーバーレスSQL Warehouseでは、同時実行数に基づき自動でコンピュートがスケールダウンするため、手動のサイジング調整が不要です。</p></li>
<li><p><strong>SKU選択</strong>: 計算負荷が高いETL処理にはサーバーレスを、常時稼働させる固定的なストリーミング処理にはリザーブドインスタンス併用のクラシッククラスターを使い分けるハイブリッド戦略が有効です。</p></li>
</ul>
<h3 class="wp-block-heading">【まとめ】</h3>
<ol class="wp-block-list">
<li><p><strong>Unity Catalogの必須化</strong>: サーバーレス計算リソースをフル活用するには、Unity Catalogへの移行が前提条件となるため、既存のHive Metastoreからの移行計画を優先すること。</p></li>
<li><p><strong>ネットワーク設計の変更</strong>: 従来のVNet Injectionとは異なり、NCC(Network Connectivity Config)を用いた新しい接続定義が必要になる点に注意。</p></li>
<li><p><strong>コスト特性の理解</strong>: 起動時間は劇的に改善されますが、DBU単価はクラシックより高く設定されているため、短時間実行ジョブやアドホック分析で最大のROIを発揮します。</p></li>
</ol>
本記事はGeminiの出力をプロンプト工学で整理した業務ドラフト(未検証)です。
Azure Databricks サーバーレス計算リソースの導入とセキュアなインフラ設計ガイド
【導入】
データ基盤の管理負荷を最小化し、インフラ運用のオーバーヘッドを排除しながら、スケーラブルなデータ分析とAI開発を加速させます。
【アーキテクチャ設計】
サーバーレス計算リソース(SQL Warehouse, Notebooks, Workflows)の導入により、従来の「カスタマーVNet内へのVMデプロイ」から、Databricksが管理する「サーバーレス計算プレーン」への移行が実現します。これにより、クラスターの起動時間の短縮(数秒)と、パッチ適用等の運用負担の解消が図られます。
graph TD
subgraph Azure_Cloud
subgraph Customer_Subscription
ADLS["Storage: ADLS Gen2"]
PE["Private Endpoint"]
end
subgraph Databricks_Serverless_Plane
SC["Serverless Compute"]
NCC["Network Connectivity Config"]
end
subgraph Control_Plane
Auth["Microsoft Entra ID"]
WS["Databricks Workspace"]
end
end
User -->|Access| WS
WS -->|Provision| SC
SC -->|Secure Access via NCC| PE
PE -->|Data Access| ADLS
WS -->|Identity| Auth
アーキテクチャの核心は「Network Connectivity Config (NCC)」です。サーバーレス計算プレーンから顧客リソース(ADLS Gen2等)へプライベートに接続するためのネットワーク境界を定義します。
【実装・デプロイ手順】
サーバーレス機能を有効化したワークスペースをTerraformで構成する例です。サーバーレス計算リソースの利用には、Premium価格レベルが必須となります。
# Azure Databricks ワークスペースの作成
resource "azurerm_databricks_workspace" "this" {
name = "dbw-serverless-prod"
resource_group_name = azurerm_resource_group.this.name
location = azurerm_resource_group.this.location
sku = "premium"
# サーバーレス計算リソースのネットワーク接続設定 (NCC)
# ※ 現時点ではAPIまたはAzure Portalからの構成が主流
tags = {
Environment = "Production"
Engine = "Serverless"
}
}
# サーバーレスSQL Warehouseの作成例 (Databricks Provider)
resource "databricks_sql_endpoint" "serverless" {
name = "Serverless_Warehouse"
cluster_size = "X-Small"
max_num_clusters = 5
auto_stop_mins = 10
enable_serverless_compute = true
}
ワークスペース作成: SKUを premium に指定してデプロイ。
Unity Catalogの有効化: サーバーレスリソースの利用にはUnity Catalogのメタストア割り当てが強く推奨(ほぼ必須)されます。
NCCの構成: Azure Portalの「Network Connectivity Configs」から、サーバーレスプレーンから自社VNetのPrivate Endpointへの接続を許可します。
【アイデンティティとセキュリティ】
サーバーレス環境では、従来のインスタンスプロファイルではなく、Unity Catalog (UC) によるガバナンスが前提となります。
認証と認可: Microsoft Entra ID(旧Azure AD)と完全に統合。SCIMによるユーザー同期を行い、Unity Catalogでテーブル・ファイル単位のRBACを制御します。
ネットワークセキュリティ: サーバーレス計算プレーンはDatabricks管理ですが、NCCを使用することで、ストレージアカウント側のファイアウォールで「信頼されたサービス」または「Private Endpoint」経由のアクセスのみを許可する構成が可能です。
データ保護: E2管理(Encrypt Everything)を適用し、顧客管理キー(CMK)による二重暗号化を検討してください。
【運用・コスト最適化】
サーバーレスは「使った分だけ」の課金(DBU単位)であり、従来のクラスターのような「アイドリング中のVMコスト」を削減できます。
可観測性: system.billing.usage などのシステムテーブルをクエリすることで、ノートブックやジョブごとのサーバーレス消費コストをリアルタイムに可視化します。
オートスケール: サーバーレスSQL Warehouseでは、同時実行数に基づき自動でコンピュートがスケールダウンするため、手動のサイジング調整が不要です。
SKU選択: 計算負荷が高いETL処理にはサーバーレスを、常時稼働させる固定的なストリーミング処理にはリザーブドインスタンス併用のクラシッククラスターを使い分けるハイブリッド戦略が有効です。
【まとめ】
Unity Catalogの必須化: サーバーレス計算リソースをフル活用するには、Unity Catalogへの移行が前提条件となるため、既存のHive Metastoreからの移行計画を優先すること。
ネットワーク設計の変更: 従来のVNet Injectionとは異なり、NCC(Network Connectivity Config)を用いた新しい接続定義が必要になる点に注意。
コスト特性の理解: 起動時間は劇的に改善されますが、DBU単価はクラシックより高く設定されているため、短時間実行ジョブやアドホック分析で最大のROIを発揮します。
ライセンス:本記事のテキスト/コードは特記なき限り
CC BY 4.0 です。引用の際は出典URL(本ページ)を明記してください。
利用ポリシー もご参照ください。
コメント