Condividi tramite


Abilitare la connettività sicura del cluster

Questo articolo illustra come usare la connettività sicura del cluster per le aree di lavoro di Azure Databricks. La connettività sicura del cluster è nota anche come nessun indirizzo IP pubblico (NPIP). Anche se il piano di calcolo serverless non usa la connettività sicura del cluster, le risorse di calcolo serverless non dispongono di indirizzi IP pubblici.

Panoramica della connettività del cluster sicuro

Quando la connettività sicura del cluster è abilitata, le reti virtuali dei clienti non hanno porte aperte e risorse di calcolo nel piano di calcolo classico non hanno indirizzi IP pubblici.

  • Durante la creazione del cluster, ogni cluster avvia una connessione al relay di connettività sicura del piano di controllo. Il cluster stabilisce questa connessione usando la porta 443 (HTTPS) e usa un indirizzo IP diverso rispetto a quello usato per l'applicazione Web e l'API REST.
  • Quando il piano di controllo esegue attività di amministrazione del cluster, queste richieste vengono inviate al cluster tramite questo tunnel.

Nota

Tutto il traffico di rete di Azure Databricks tra la VNet del piano di calcolo classico e il piano di controllo di Azure Databricks passa attraverso il backbone di rete Microsoft , non la rete Internet pubblica. Questo vale anche se la connettività sicura del cluster è disabilitata.

È possibile abilitare la connettività sicura del cluster su una nuova area di lavoro o aggiungerla a un'area di lavoro esistente che usa già l'inserimento della rete virtuale.

Abilitare la connettività sicura del cluster in una nuova area di lavoro

È possibile abilitare la connettività sicura del cluster quando si crea un'area di lavoro usando il portale di Azure o un modello di Azure Resource Manager (ARM).

Aggiungere la connettività sicura del cluster a un'area di lavoro esistente

È possibile abilitare la connettività sicura del cluster in un'area di lavoro esistente utilizzando il portale di Azure, un modello di Azure Resource Manager o azurerm provider Terraform versione 3.41.0+. L'aggiornamento richiede che l'area di lavoro usi l'aggiunta di una rete virtuale.

Importante

Se si usa un firewall o altre modifiche alla configurazione di rete per controllare l'ingresso o l'uscita dal piano di calcolo classico, potrebbe essere necessario update regole del firewall o del gruppo di sicurezza di rete contemporaneamente a queste modifiche per rendere effettive le modifiche. Ad esempio, usando la connettività sicura del cluster, è presente una connessione in uscita aggiuntiva al piano di controllo e gli connections in ingresso dal piano di controllo non vengono più usati.

Passaggio 1: Arrestare tutte le risorse di calcolo

Arrestare tutte le risorse di calcolo classiche, ad esempio cluster, pool o data warehouse SQL classici. Databricks consiglia di pianificare i tempi di inattività dell'aggiornamento.

Passaggio 2: Update area di lavoro

È possibile update'area di lavoro usando il portale di Azure, un modello di Resource Manager o Terraform.

Usare il portale di Azure

  1. Vai all'area di lavoro di Azure Databricks nel portale di Azure.
  2. Nel riquadro di spostamento a sinistra in Impostazioni fare clic su Rete.
  3. Nella scheda Accesso alla retesetDistribuire l'area di lavoro di Azure Databricks con Secure Cluster Connectivity (No Public IP) in Enabled.
  4. Fare clic su Salva.

La rete update potrebbe richiedere più di 15 minuti per il completamento.

Applicare un modello di Resource Manager aggiornato usando portale di Azure

Usare un modello ARM per set il parametro enableNoPublicIp a True (true).

Nota

Se il gruppo di risorse gestite ha un nome personalizzato, è necessario modificare di conseguenza il modello. Per maggiori informazioni, contattare il team dell'account di Azure Databricks.

  1. Copiare il codice JSON del modello arm di aggiornamento seguente:

      {
        "$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')]"
                        }
                    }
                }
            }
        ]
    }
    
    1. Passare alla pagina di distribuzione portale di Azure personalizzata.

    2. Fare clic su Creare un modello personalizzato nell'editor.

    3. Incollare il codice JSON per il modello copiato.

    4. Fare clic su Salva.

    5. Compila il parameters.

    6. Per update un'area di lavoro esistente, usare la stessa parameters che hai usato per creare l'area di lavoro, ad eccezione di enableNoPublicIp che devi set per true. Set la sottoscrizione, la regione, il nome dell'area di lavoro, i nomi delle subnet, l'ID risorsa della rete virtuale esistente.

      Importante

      Il nome del gruppo di risorse, il nome dell'area di lavoro e i nomi delle subnet sono identici all'area di lavoro esistente, in modo che questo comando aggiorni l'area di lavoro esistente anziché creare una nuova area di lavoro.

    7. Fare clic su Rivedi e crea.

    8. Se non sono presenti problemi di convalida, fare clic su Crea.

    La rete update potrebbe richiedere più di 15 minuti per completare.

Applicare un update usando Terraform

Per le aree di lavoro create con Terraform, è possibile update l'area di lavoro senza doverla ricreare.

Importante

È necessario usare terraform-provider-azurerm la versione 3.41.0 o successiva, quindi aggiornare la versione del provider Terraform in base alle esigenze. Le versioni precedenti tentano di ricreare l'area di lavoro se si modifica una di queste impostazioni.

Modificare le impostazioni dell'area di lavoro seguenti:

  • no_public_ip nel custom_parameters blocco può essere modificato da false a true.

Il completamento della rete update potrebbe richiedere più di 15 minuti.

Passaggio 3: Convalidare il update

Quando l'area di lavoro è attiva, il processo update viene completato. Verificare che il update sia stato applicato:

  1. Aprire Azure Databricks nel Web browser.

  2. Avviare uno dei cluster dell'area di lavoro e attendere l'avvio completo del cluster.

  3. Passare all'istanza dell'area di lavoro nel portale di Azure.

  4. Fare clic sull'ID blu accanto all'etichetta del campo Gruppo di risorse gestite.

  5. In tale gruppo trovare le macchine virtuali per il cluster e fare clic su una di esse.

  6. Nelle impostazioni della macchina virtuale, all'interno di Proprietà, cercare i campi nell'area Rete .

  7. Verificare che il campo Indirizzo IP pubblico sia vuoto.

    Se è popolata, la macchina virtuale ha un indirizzo IP pubblico, ciò significa che il update ha fallito.

Rollback temporaneo dell'aggiornamento alla connettività sicura del cluster

Se si verifica un errore durante la distribuzione, è possibile eseguire un rollback temporaneo, ma la disabilitazione di SCC in un'area di lavoro non è supportata tranne durante un rollback temporaneo prima di continuare l'aggiornamento in un secondo momento. Se è necessario temporaneamente, è possibile seguire le istruzioni riportate sopra per l'aggiornamento, ma setenableNoPublicIp a false anziché true.

Uscita da subnet dell'area di lavoro

Quando si abilita la connettività sicura del cluster, entrambe le subnet dell'area di lavoro sono subnet private, poiché i nodi del cluster non hanno indirizzi IP pubblici.

I dettagli di implementazione dell'uscita di rete variano a seconda che si usi la rete virtuale predefinita (gestita) o se si usa il di inserimento della rete virtuale per fornire la propria rete virtuale in cui distribuire l'area di lavoro.

Importante

Potrebbero essere addebitati costi aggiuntivi a causa di un aumento del traffico in uscita quando si usa la connettività sicura del cluster. Per la distribuzione più sicura, Microsoft e Databricks consigliano vivamente di abilitare la connettività sicura del cluster.

Uscita con rete virtuale predefinita (gestita)

Se si usa la connettività sicura del cluster con la rete virtuale predefinita creata da Azure Databricks, Azure Databricks crea automaticamente un gateway NAT per il traffico in uscita dalle subnet dell'area di lavoro alla rete backbone e pubblica di Azure. Il gateway NAT viene creato all'interno del gruppo di risorse gestito gestito da Azure Databricks. Non è possibile modificare il gruppo di risorse o le risorse di cui è stato effettuato il provisioning. Questo gateway NAT comporta costi aggiuntivi.

Uscita con inserimento reti virtuali

Se si abilita la connettività sicura del cluster nell'area di lavoro che utilizza l'inserimento della rete virtuale, Databricks consiglia che l'area di lavoro disponga di un IP pubblico stabile per l'uscita. Gli indirizzi IP pubblici in uscita stabili sono utili perché è possibile aggiungerli a elenchi di indirizzi consentiti esterni. Ad esempio, per connettersi da Azure Databricks a Salesforce con un indirizzo IP in uscita stabile.

Avviso

Microsoft ha annunciato che il 30 settembre 2025, la connettività di accesso in uscita predefinita per le macchine virtuali in Azure verrà ritirata. Vedere questo annuncio. Ciò significa che le aree di lavoro di Azure Databricks esistenti che usano l'accesso in uscita predefinito anziché un indirizzo IP pubblico in uscita stabile potrebbero non continuare a funzionare dopo tale data. Databricks consiglia di aggiungere metodi in uscita espliciti per le aree di lavoro prima di tale data.

Per aggiungere metodi di uscita espliciti per il tuo spazio di lavoro, usare un gateway NAT di Azure o percorsi definiti dall'utente.

  • gateway NAT di Azure: utilizzare un gateway NAT di Azure se le distribuzioni richiedono solo un po' di personalizzazione. Configurare il gateway in entrambe le subnet dell'area di lavoro per assicurarsi che tutto il traffico in uscita verso il backbone di Azure e la rete pubblica vi transiti. I cluster hanno un indirizzo IP pubblico in uscita stabile ed è possibile modificare la configurazione per esigenze di uscita personalizzate. È possibile configurare questo usando un modello di Azure o dal portale di Azure.
  • UDRs: utilizzare le UDRs se le distribuzioni richiedono requisiti di routing complessi o gli spazi di lavoro utilizzano l'inserimento di VNet con un firewall in uscita. Le route definite dall'utente assicurano che il traffico di rete venga indirizzato correttamente per l'area di lavoro, direttamente agli endpoint necessari o tramite un firewall in uscita. Per usare le rotte definite dall'utente, è necessario aggiungere rotte dirette o regole del firewall consentite per l'inoltro della connettività sicura del cluster di Azure Databricks e altri endpoint necessari elencati in impostazioni di rotte definite dall'utente per Azure Databricks.

Avviso

Non usare un servizio di bilanciamento del carico in uscita con un'area di lavoro con connettività cluster sicura abilitata. Nei sistemi di produzione, un servizio di bilanciamento del carico in uscita può causare il rischio di esaurimento delle porte.