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 aggiornare le regole del firewall o del gruppo di sicurezza di rete contemporaneamente a queste modifiche per renderle completamente effettive. Ad esempio, usando la connettività sicura del cluster, è presente una connessione in uscita aggiuntiva al piano di controllo e le connessioni in ingresso dal piano di controllo non vengono più usate.

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: Aggiornare l'area di lavoro

È possibile aggiornare l'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 rete impostare Deploy Azure Databricks workspace with Secure Cluster Connectivity (No Public IP) (Distribuire l'area di lavoro di Azure Databricks con connettività cluster sicura (nessun indirizzo IP pubblico) su Abilitato.
  4. Fare clic su Salva.

Il completamento dell'aggiornamento di rete potrebbe richiedere più di 15 minuti.

Applicare un modello di Resource Manager aggiornato usando portale di Azure

Usare un Modello ARM per impostare il parametro enableNoPublicIp su 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 i parametri.

    6. Per aggiornare un'area di lavoro esistente, usare gli stessi parametri usati per creare l'area di lavoro diversa da enableNoPublicIp che è necessario impostare su true. Imposta la sottoscrizione, la regione, il nome dell'area di lavoro, i nomi delle subnet, l'ID risorsa della VNet 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.

    Il completamento dell'aggiornamento di rete potrebbe richiedere più di 15 minuti.

Applicare un aggiornamento con Terraform

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

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 dell'aggiornamento di rete potrebbe richiedere più di 15 minuti.

Passaggio 3: Convalidare l'aggiornamento

Una volta che l'area di lavoro è in stato attivo, il processo di aggiornamento viene completato. Verificare che l'aggiornamento 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 è popolato, la VM ha un indirizzo IP pubblico, il che significa che l'aggiornamento non è riuscito.

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 questa operazione è necessaria temporaneamente, è possibile seguire le istruzioni precedenti per l'aggiornamento, ma impostare enableNoPublicIp su false anziché su 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.