この記事では、Azure Databricks ワークスペースにセキュリティで保護されたクラスター接続を使用する方法について説明します。 セキュリティで保護されたクラスター接続は、パブリック IP なし (NPIP) とも呼ばれています。 サーバーレス コンピューティング リソースは、セキュリティで保護されたクラスター接続を使用しませんが、パブリック IP アドレスもありません。
セキュリティで保護されたクラスター接続の概要
セキュリティで保護されたクラスター接続が有効になっている場合、お客様の仮想ネットワークには開いているポートがなく、クラシック コンピューティング プレーンのコンピューティング リソースにはパブリック IP アドレスがありません。
- 各クラスターは、クラスターの作成時にコントロール プレーンのセキュリティで保護されたクラスター接続リレーへの接続を開始します。 クラスターはポート 443 (HTTPS) を使用してこの接続を確立し、Web アプリケーションおよび REST API に使用される IP アドレスとは異なる IP アドレスを使用します。
- コントロール プレーンがクラスター管理タスクを実行すると、これらの要求はこのトンネルを介してクラスターに送信されます。
注
クラシック コンピューティング プレーン VNet と Azure Databricks コントロール プレーンの間のすべての Azure Databricks ネットワーク トラフィックは、パブリック インターネットではなく、Microsoft ネットワーク バックボーンを経由します。 これは、セキュリティで保護されたクラスター接続が無効になっている場合でも当てはまります。
新しいワークスペースでセキュリティで保護されたクラスター接続を有効にするか、VNet インジェクションを既に使用している既存のワークスペースに追加できます。
新しいワークスペースでセキュリティで保護されたクラスター接続を有効にする
Azure portal または Azure Resource Manager (ARM) テンプレートを使用してワークスペースを作成すると、セキュリティで保護されたクラスター接続が自動的に有効になります。
Azure Portal: ワークスペースをプロビジョニングするときに、[ ネットワーク ] タブで、セキュリティで 保護されたクラスター接続を使用して Azure Databricks ワークスペースをデプロイします (パブリック IP なし) は既定で [はい] に設定されます。
Azure portal を使用してワークスペースを作成する方法の詳細については、「ポータルを使用して Azure Databricks ワークスペースを作成する」を参照してください。
ARM テンプレート:
enableNoPublicIpリソース内のMicrosoft.Databricks/workspacesパラメーターは、バージョン 2024-05-01 以降では既定でtrueに設定されています。enableNoPublicIpパラメーターがテンプレートに明示的に含まれていない場合は、true に設定されているかのように動作します。 テンプレートでenableNoPublicIpを false に設定することで、この既定値を明示的にオーバーライドできます。ARM テンプレートを使用してワークスペースを作成する方法の詳細については、「ARM テンプレートを使用してワークスペースをデプロイする」を参照してください。 VNet インジェクションを使用する ARM テンプレートについては、 Azure 仮想ネットワークへの Azure Databricks のデプロイ (VNet インジェクション) に関するページを参照してください。
セキュリティで保護されたクラスター接続を既存のワークスペースに追加する
Azure portal、ARM テンプレート、または Terraform プロバイダー バージョン 3.41.0 以降 azurerm を使用して、既存のワークスペースでセキュリティで保護されたクラスター接続を有効にすることができます。 アップグレードでは、ワークスペースで VNet インジェクションを使う必要があります。
重要
ファイアウォールまたはその他のネットワーク構成を使用してクラシック コンピューティング プレーンからのイングレスまたはエグレスを制御する場合は、変更を有効にするためにセキュリティで保護されたクラスター接続を有効にする際に、ファイアウォールまたはネットワーク セキュリティ グループの規則を更新することが必要になる場合があります。 たとえば、セキュリティで保護されたクラスター接続を使用すると、コントロール プレーンへの追加の発信接続があり、コントロール プレーンからの着信接続は使用されなくなります。
ステップ 1: すべてのコンピューティング リソースを停止する
クラスター、プール、クラシック SQL ウェアハウスなど、すべてのクラシック コンピューティング リソースを停止します。 Databricks では、ダウンタイムのアップグレードのタイミングを計画することをお勧めします。
ステップ 2: ワークスペースを更新する
ワークスペースは、Azure portal、ARM テンプレート、または Terraform を使用して更新できます。
Azure portal を使用する
- Azure portal で Azure Databricks ワークスペースに移動します。
- 左側のナビゲーションで、[設定] の [ネットワーク] をクリックします。
- [
ネットワーク アクセス ] タブで、Azure Databricks ワークスペースを [セキュリティで保護されたクラスター接続 (パブリック IP なし)] でデプロイし、を 有効 に設定します。 - [保存] をクリックします。
ネットワークの更新が完了するまでに 15 分以上かかる場合があります。
Azure portal を使用して更新 ARM テンプレートを適用する
ARM テンプレートを使用して、
注
マネージド リソース グループにカスタム名がある場合は、それに応じてテンプレートを変更する必要があります。 詳細については、Azure Databricks アカウント チームにお問い合わせください。
次のアップグレード ARM テンプレート JSON をコピーします。
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "___location": { "defaultValue": "[resourceGroup().___location]", "type": "String", "metadata": { "description": "Location for all resources." } }, "workspaceName": { "type": "String", "metadata": { "description": "The name of the Azure Databricks workspace to create." } }, "apiVersion": { "defaultValue": "2023-02-01", "allowedValues": ["2018-04-01", "2020-02-15", "2022-04-01-preview", "2023-02-01"], "type": "String", "metadata": { "description": "2018-03-15 for 'full region isolation control plane' and 2020-02-15 for 'FedRAMP certified' regions" } }, "enableNoPublicIp": { "defaultValue": true, "type": "Bool" }, "pricingTier": { "defaultValue": "premium", "allowedValues": ["premium", "standard", "trial"], "type": "String", "metadata": { "description": "The pricing tier of workspace." } }, "publicNetworkAccess": { "type": "string", "defaultValue": "Enabled", "allowedValues": ["Enabled", "Disabled"], "metadata": { "description": "Indicates whether public network access is allowed to the workspace - possible values are Enabled or Disabled." } }, "requiredNsgRules": { "type": "string", "defaultValue": "AllRules", "allowedValues": ["AllRules", "NoAzureDatabricksRules"], "metadata": { "description": "Indicates whether to retain or remove the AzureDatabricks outbound NSG rule - possible values are AllRules or NoAzureDatabricksRules." } } }, "variables": { "managedResourceGroupName": "[concat('databricks-rg-', parameters('workspaceName'), '-', uniqueString(parameters('workspaceName'), resourceGroup().id))]", "managedResourceGroupId": "[subscriptionResourceId('Microsoft.Resources/resourceGroups', variables('managedResourceGroupName'))]" }, "resources": [ { "type": "Microsoft.Databricks/workspaces", "apiVersion": "[parameters('apiVersion')]", "name": "[parameters('workspaceName')]", "___location": "[parameters('___location')]", "sku": { "name": "[parameters('pricingTier')]" }, "properties": { "ManagedResourceGroupId": "[variables('managedResourceGroupId')]", "publicNetworkAccess": "[parameters('publicNetworkAccess')]", "requiredNsgRules": "[parameters('requiredNsgRules')]", "parameters": { "enableNoPublicIp": { "value": "[parameters('enableNoPublicIp')]" } } } } ] }Azure portal の [カスタム デプロイ] ページに移動します。
[エディターで独自のテンプレートをビルド] をクリックします。
コピーしたテンプレートについて JSON に貼り付けます。
[保存] をクリックします。
パラメーターを入力します。
既存のワークスペースを更新するには、
enableNoPublicIpを除き、ワークスペースの作成に使用したのと同じパラメーターを使用します。trueに設定する必要があります。 既存の VNet のサブスクリプション、リージョン、ワークスペース名、サブネット名、およびリソース ID を設定します。重要
このコマンドが新しいワークスペースを作成するのではなく既存のワークスペースを更新するために、リソース グループ名、ワークスペース名、サブネット名が既存のワークスペースと同じです。
[Review + Create](レビュー + 作成) をクリックします。
検証の問題がない場合は、[作成] をクリックします。
ネットワークの更新が完了するまでに 15 分以上かかる場合があります。
Terraform を使用して更新を適用する
Terraform を使用して作成されたワークスペースの場合は、再作成せずにワークスペースを更新できます。
重要
terraform-provider-azurerm バージョン 3.41.0 以降を使用する必要があるため、必要に応じて Terraform プロバイダーのバージョンをアップグレードしてください。 以前のバージョンでは、これらの設定のいずれかを変更すると、ワークスペースを再作成しようとします。
次のワークスペースの設定を変更します。
-
no_public_ipブロック内のcustom_parametersをfalseからtrueに変更できます。
ネットワークの更新が完了するまでに 15 分以上かかる場合があります。
ステップ 3: 更新を検証する
ワークスペースがアクティブな状態になると、更新ジョブが完了します。 更新プログラムが適用されたことを確認します。
Web ブラウザーで Azure Databricks を開きます。
ワークスペースのいずれかのクラスターを起動し、クラスターが完全に開始されるまで待ちます。
Azure portal でワークスペース インスタンスに移動します。
フィールド ラベル [マネージド リソース グループ] の横にある青い ID をクリックします。
そのグループで、クラスターの VM を見つけて、そのうちの 1 つをクリックします。
VM 設定の [プロパティ] で、[ネットワーク] 領域のフィールドを探します。
[パブリック IP アドレス] フィールドが空であることを確認します。
設定されている場合、VM にはパブリック IP アドレスがあります。これは、更新が失敗したことを意味します。
クラスター接続をセキュリティで保護するためのアップグレードの一時的なロールバック
デプロイ中に問題が発生した場合は、 enableNoPublicIp を false に設定することで、プロセスを一時的に元に戻すことができます。 ただし、セキュリティで保護されたクラスター接続の無効化は、後でアップグレードを続行する前の一時的なロールバックとしてのみサポートされます。 これが一時的に必要な場合は、アップグレードに関する上記の手順に従うことができますが、enableNoPublicIp を true ではなく false に設定します。
ワークスペース サブネットからのエグレス
セキュリティで保護されたクラスター接続を有効にすると、クラスター ノードにパブリック IP アドレスがないため、両方のワークスペース サブネットがプライベート サブネットになります。
ネットワーク エグレスの実装の詳細は、既定の (マネージド) VNet を使用するか、 VNet インジェクション を使用してワークスペースをデプロイする独自の VNet を提供するかによって異なります。
重要
セキュリティで保護されたクラスター接続を使用する場合、エグレス トラフィックの増加により、追加コストが発生する可能性があります。 最も安全なデプロイのために、Microsoft と Databricks では、セキュリティで保護されたクラスター接続を有効にすることを強くお勧めします。
既定の (マネージド) VNet を使用したエグレス
Azure Databricks によって作成される既定の VNet でセキュリティで保護されたクラスター接続を使用する場合、Azure Databricks は、ワークスペースのサブネットから Azure バックボーンとパブリック ネットワークへの送信トラフィック用の NAT ゲートウェイ を自動的に作成します。 NAT ゲートウェイは、Azure Databricks によって管理されている管理対象リソース グループ内に作成されます。 このリソース グループまたはリソース グループ内でプロビジョニングされたリソースは変更できません。 この NAT ゲートウェイでは、追加コストが発生します。
VNet インジェクションを使用したエグレス
VNet インジェクションを使用するワークスペースでセキュリティで保護されたクラスター接続を有効にした場合、Databricks では、ワークスペースに安定したエグレス パブリック IP を設定することをお勧めします。 安定したエグレス パブリック IP アドレスは、外部許可リストに追加できるため便利です。 たとえば、安定した発信 IP アドレスを使用して Azure Databricks から Salesforce に接続する場合などです。
警告
Microsoft は、2026 年 3 月 31 日以降、新しい仮想ネットワークは既定で送信インターネット アクセスのないプライベート構成になると発表しました。 これには、パブリック エンドポイントと Microsoft サービスに到達するための明示的な送信接続方法が必要です。 詳細については 、このお知らせ を参照してください。 この変更は、既存のワークスペースには影響しません。 ただし、この日以降にデプロイされた新しい Azure Databricks ワークスペースでは、適切なクラスター機能を確保するために、NAT ゲートウェイなどの安全な送信方法が必要になります。
デプロイにインターネット接続を提供するには、 Azure NAT ゲートウェイを使用します。 両方のワークスペース サブネットでゲートウェイを構成して、すべての送信トラフィックが安定したエグレス パブリック IP を使用してゲートウェイを通過するようにします。 これにより、クラスターに一貫した送信インターネット接続が提供され、カスタムエグレスのニーズに合わせて構成を変更できます。 NAT ゲートウェイは、 Azure テンプレート を使用するか、Azure portal から構成できます。
警告
セキュリティで保護されたクラスター接続が有効になっているワークスペースでエグレス ロード バランサーを使用しないでください。 運用システムでエグレス ロード バランサーを使用すると、ポートを使い果たすリスクにつながるおそれがあります。
ファイアウォール構成のベスト プラクティス
個々の IP アドレスではなく、SCC リレー エンドポイント用に指定されたドメイン名 (FQDN) を常に許可リストに登録します。 これらのドメインの背後にある IP アドレスは、インフラストラクチャの更新により定期的に変更されます。
許可リストに特定の IP アドレスを許可しているお客様は、インフラストラクチャの変更が発生したときにサービスの中断が発生する可能性があります。 IP アドレスを使用する必要がある場合は、定期的に最新の IP アドレスを取得し、ファイアウォール構成を更新しておく必要があります。