{ “status”: “architected”, “cloud”: “Azure”, “service”: “Azure Databricks”, “pattern”: “Serverless Compute”, “identity_model”: “Unity Catalog & Entra ID” }
本記事はGeminiの出力をプロンプト工学で整理した業務ドラフト(未検証)です。
Azure Databricks Serverless導入ガイド:VNet管理からの解放と高速スケーリングの実現
【導入】
データ基盤の管理負荷を劇的に低減し、インスタンスの起動待機時間を排除することで、迅速なデータ分析とコスト最適化を同時に実現します。
【アーキテクチャ設計】
サーバーレスワークスペース(Serverless Compute)では、従来顧客のAzureサブスクリプション(Managed VNet)内で実行されていたコンピュートリソースが、Databricksが管理するサービスプレーンに移行します。これにより、インフラ管理(VMのパッチ適用やサブスクリプションの制限)から解放されます。
graph TD
A["User / Notebook / Jobs"] -->|Access| B["Azure Databricks Control Plane"]
B -->|Orchestration| C["Serverless Compute Plane"]
C -->|Managed Network| D["Azure Data Lake Storage Gen2"]
B -->|Governance| E["Unity Catalog"]
C -->|Auth| F["Microsoft Entra ID"]
D -.->|Private Link| C
Control Plane: ワークスペース管理、認証、ジョブのスケジューリングを担う。
Serverless Compute Plane: Databricksが管理するセキュアなコンピュートリソース。高速な起動(数秒単位)と自動スケーリングを提供。
Unity Catalog: サーバーレス環境において必須となるデータガバナンス層。
Network Security: Serverlessでは「Network Connectivity Config (NCC)」を使用して、特定のVNetへのアウトバウンド通信やPrivate Link接続を構成。
【実装・デプロイ手順】
サーバーレスを有効化するには、まずUnity Catalogが構成されたワークスペースが必要です。以下はTerraformを用いた、サーバーレスをサポートするワークスペース構成の例です。
# Azure Databricks Workspace の定義
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" # サーバーレスにはPremium必須
tags = {
Environment = "Production"
}
}
# サーバーレスSQLウェアハウスの作成
resource "databricks_sql_endpoint" "serverless" {
name = "Serverless-Warehouse"
cluster_size = "Small"
max_num_clusters = 5
auto_stop_mins = 10 # サーバーレスは停止が早いためコスト効率が高い
enable_serverless_compute = true
}
※注意: Notebook用のServerless Computeを有効にするには、Databricksアカウントコンソールから「Serverless」オプションを有効化する必要があります。
【アイデンティティとセキュリティ】
サーバーレス環境におけるセキュリティ境界は、ネットワーク層からアイデンティティ層へとシフトします。
Unity Catalog (UC): サーバーレスコンピュートはUCを介してのみデータにアクセスします。従来のインスタンスプロファイルではなく、UCのマネージドアイデンティティまたはサービスプリンシパルを利用します。
Network Connectivity Config (NCC): サーバーレスリソースからプライベートなADLS Gen2等にアクセスする場合、NCCを作成し、Databricks管理のネットワークから自社VNetへのプライベートエンドポイント接続を許可します。
Entra ID 連携: 全てのユーザー認証はMicrosoft Entra ID (旧Azure AD) で統合され、SCIM同期による権限管理が推奨されます。
【運用・コスト最適化】
可観測性: Azure MonitorおよびDatabricksの「System Tables」を活用します。特に
system.billing.usageテーブルをクエリすることで、サーバーレスDBUの消費量をほぼリアルタイムで追跡可能です。コスト最適化:
サーバーレスは「起動時間」に対する課金がないため、小規模・短時間のジョブで特に有利です。
アイドル時の自動停止時間を短く(1-10分)設定し、リソースの無駄遣いを防ぎます。
コミットメント割引: Azure Databricksの事前購入プラン(DBU)を適用することで、サーバーレスでもコスト削減が可能です。
【まとめ】
導入にあたっての注意点として、「Unity Catalogへの完全移行」が前提となる点に注意してください。既存のレガシーなHive Metastoreに依存するワークロードはそのままではサーバーレスで動作しません。
管理コストの最小化: VNetインジェクションやVMの制限管理が不要になり、データ分析に集中できる。
俊敏性の向上: 数秒でのコンピュート起動により、アドホック分析やジョブ実行のレイテンシを最小化。
セキュリティの高度化: Unity Catalogによる一元的なガバナンスと、NCCによるセキュアなプライベート接続の両立。

