Conectividade de cluster seguro

Quando a conectividade segura do cluster está habilitada, as redes virtuais do cliente não têm portas abertas e os recursos de computação no plano de computação clássico não têm endereços IP públicos. A conectividade de cluster segura também é conhecida como nenhum IP público (NPIP).

  • Em um nível de rede, cada cluster inicia uma conexão com a retransmissão de conectividade de cluster seguro do plano de controle durante a criação do cluster. O cluster estabelece essa conexão usando a porta 443 (HTTPS) e usa um endereço IP diferente do usado para o aplicativo Web e a API REST.
  • Quando o plano de controle inicia logicamente novos trabalhos do Databricks Runtime ou executa outras tarefas de administração de cluster, essas solicitações são enviadas ao cluster por meio desse túnel.
  • O plano de computação (a VNet) não tem portas abertas e os recursos clássicos do plano de computação não têm endereços IP públicos.

Benefícios:

  • Fácil administração de rede, sem a necessidade de configurar portas em grupos de segurança ou para configurar o emparelhamento de rede.
  • Com a segurança aprimorada e a administração de rede simples, as equipes de segurança de informações podem agilizar a aprovação do Databricks como um provedor de PaaS.

Observação

Todo o tráfego de rede do Azure Databricks entre a VNet do plano de computação clássico e o plano de controle do Azure Databricks passa pela estrutura de rede da Microsoft, não pela Internet pública. Isso é verdadeiro mesmo se a conectividade de cluster segura estiver desabilitada.

Embora o plano de computação sem servidor não use a retransmissão de conectividade de cluster segura para o plano de computação clássico, os SQL warehouses sem servidor não têm endereços IP.

Conectividade de cluster seguro

Use conectividade de cluster segura

Para usar a conectividade de cluster segura com um novo workspace do Azure Databricks, use qualquer uma das opções a seguir.

  • Portal do Azure: ao provisionar o espaço de trabalho, vá para a guia Rede do Azure e defina a opção Implantar workspace do Azure Databricks com conectividade de cluster seguro (sem IP público) como Sim.
  • Modelos do ARM: para o recurso Microsoft.Databricks/workspaces que cria o novo espaço de trabalho, defina o parâmetro booliano enableNoPublicIp como true.

Importante

Em ambos os casos, você deve registrar o Provedor de Recursos do Azure Microsoft.ManagedIdentity na assinatura do Azure que é usada para iniciar espaços de trabalho com conectividade de cluster segura. Essa operação deve ser executa apenas uma vez por assinatura. Para instruções, confira Provedores e tipos de recursos do Azure.

Você pode adicionar conectividade de cluster seguro a um workspace existente que já usa injeção de VNet. Confira Adicionar conectividade de cluster seguro a um workspace existente.

Se você estiver usando modelos do ARM, adicione o parâmetro a um dos modelos a seguir, dependendo se você deseja que o Azure Databricks crie uma rede virtual (gerenciada) padrão para o espaço de trabalho ou se deseja usar sua própria rede virtual, também conhecida como injeção de VNet. A injeção de VNet é um recurso opcional que permite que você forneça sua própria VNet para hospedar novos clusters do Azure Databricks.

Egresso de sub-redes de espaço de trabalho

Ao habilitar a conectividade de cluster seguro, ambas as suas sub-redes de espaço de trabalho são sub-redes privadas, pois os nós de cluster não têm endereços IP públicos.

Os detalhes de implementação do egresso de rede variam de acordo com a utilização da VNet padrão (gerenciada) ou se você usa o recurso opcional de injeção de VNet para fornecer sua própria VNet na qual implantar seu espaço de trabalho. Confira as seções a seguir para obter detalhes.

Importante

Custos adicionais podem ser incorridos devido ao aumento do tráfego de egresso quando você usa a conectividade de cluster seguro. Para uma organização menor que precisa de uma solução com otimização de custo, pode ser aceitável desabilitar a conectividade de cluster seguro ao implantar seu espaço de trabalho. No entanto, para a implantação mais segura, o Microsoft e o Databricks altamente recomendam que você habilite a conectividade de cluster seguro.

Egresso com a VNet (gerenciada) padrão

Se você usar a conectividade de cluster seguro com a VNet padrão que o Azure Databricks cria, o Azure Databricks criará automaticamente um gateway NAT para o tráfego de saída das sub-redes do seu espaço de trabalho para a estrutura do Azure e a rede pública. O gateway NAT é criado dentro do grupo de recursos gerenciados pelo Azure Databricks. Não é possível modificar este grupo de recursos ou todos os recursos provisionados nele.

O gateway NAT criado automaticamente gera custo adicional.

Saída com a injeção de VNet

Se você habilitar a conectividade de cluster segura em seu workspace que usa injeção de VNet, o Databricks recomenda que seu workspace tenha um IP público de saída estável.

Endereços IP públicos de saída estáveis são úteis porque você pode adicioná-los a listas de permissões externas. Por exemplo, para se conectar do Azure Databricks ao Salesforce com um endereço IP de saída estável.

Aviso

A Microsoft anunciou que, em 30 de setembro de 2025, a conectividade de acesso de saída padrão para máquinas virtuais no Azure será desativada. Confira este comunicado. Isso significa que os workspaces existentes do Azure Databricks que usam o acesso de saída padrão em vez de um IP público de saída estável podem não continuar funcionando após essa data. O Databricks recomenda que você adicione métodos de saída explícitos para seus workspaces antes dessa data.

Escolha uma das seguintes opções:

  • Para implantações que precisam de alguma personalização, escolha um Gateway de NAT do Azure. Configure o gateway em ambas as sub-redes do espaço de trabalho para garantir que todo o tráfego de saída para a estrutura do Azure e a rede pública esteja em trânsito. Os clusters têm um IP público de egresso estável e é possível modificar a configuração para necessidades de egresso personalizadas. É possível implementar essa solução usando um modelo do Azure ou o portal do Azure.
  • Para implantações com requisitos de roteamento complexos ou implantações que usam injeção de VNet com um firewall de saída, como o Firewall do Azure ou outras arquiteturas de rede personalizadas, você pode usar rotas personalizadas chamadas UDRs (rotas definidas pelo usuário). As UDRs garantem que o tráfego de rede seja roteado corretamente para seu espaço de trabalho, seja diretamente para os pontos de extremidade necessários ou por meio de um firewall de saída. Se você usar essa solução, deverá adicionar rotas diretas ou regras de firewall permitidas para o Azure Databricks de retransmissão de conectividade de cluster seguro e outros pontos de extremidade necessários listados em configurações de rota definidas pelo usuário para Azure Databricks.

Aviso

Não use um balanceador de carga de saída com um workspace que tenha conectividade de cluster segura habilitada. Em sistemas de produção, um balanceador de carga de saída pode levar ao risco de esgotamento de portas.

Adicionar conectividade de cluster segura a um espaço de trabalho existente

É possível habilitar a conectividade de cluster seguro em um workspace existente. A atualização requer que o workspace utilize a injeção de VNet.

Você pode usar a interface do usuário do portal, um modelo do ARM ou provedor Terraform azurerm versão 3.41.0+. Você pode usar o portal do Azure para aplicar um modelo personalizado e modificar o parâmetro na interface do usuário. Você também pode atualizar a própria instância do workspace do Azure Databricks na interface do usuário do portal do Azure.

Importante

Antes de fazer essa alteração, se você usar um firewall ou outras alterações de configuração de rede para controlar a entrada ou a saída do plano de computação clássico, talvez seja necessário atualizar suas regras de firewall ou grupo de segurança de rede ao mesmo tempo que essas alterações para que elas entrem em vigor. Por exemplo, com conectividade de cluster seguro, há uma conexão de saída adicional com o plano de controle e as conexões de entrada do painel de controle não são mais usadas.

Se algo der errado com a atualização e você precisar reverter temporariamente a alteração, confira Reversão temporária da atualização para proteger a conectividade do cluster.

Etapa 1: parar todos os recursos de computação

Antes de tentar realizar essa atualização, você deve parar todos os recursos de computação, como clusters, pools ou warehouses SQL clássicos. Nenhum recurso de computação do workspace pode estar em execução ou a tentativa de atualização falhará. O Databricks recomenda planejar o tempo da atualização considerando o tempo de inatividade.

Etapa 2: Atualizar o espaço de trabalho

Você deve atualizar o parâmetro Sem IP público (no modelo, é enableNoPublicIp). Defina-o como o valor True (true).

Use um destes métodos:

Usar a interface do usuário do portal do Azure (sem modelo)

  1. Acesse sua instância de serviço do Azure Databricks no portal do Azure.

  2. Na navegação à esquerda, em Configurações, clique em Rede.

  3. Selecione Nenhum IP público.

    Observação

    Ao mesmo tempo, você pode optar por habilitar também o Link Privado do Azure definindo os valores para Permitir acesso à rede públicaRegras NSG necessárias com os valores apropriados para seu caso de uso. No entanto, a configuração e a verificação adicionais são necessárias para habilitar o Link Privado, portanto, talvez você queira fazer isso como uma etapa separada após essa atualização para conectividade de cluster segura. Para obter detalhes e requisitos importantes, confira habilitar o Link Privado do Azure.

  4. Clique em Save (Salvar).

A atualização da rede pode levar mais de 15 minutos para ser concluída.

Aplicar um modelo de ARM atualizado usando o portal do Azure

Observação

Se seu grupo de recursos gerenciados tiver um nome personalizado, você deverá modificar o modelo de acordo. Entre em contato com sua equipe de conta do Azure Databricks para obter mais informações.

  1. Copie o seguinte modelo do ARM de atualização 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')]"
                        }
                    }
                }
            }
        ]
    }
    
    1. Acesse a página de Implantação personalizada do portal do Azure.

    2. Clique em Criar seu próprio modelo no editor.

    3. Cole o JSON para o modelo que você copiou.

    4. Clique em Save (Salvar).

    5. Preencha os parâmetros.

    6. Para atualizar um workspace existente, use os mesmos parâmetros que você usou para criar o workspace exceto enableNoPublicIp, que você deve definir como true. Defina a assinatura, região, nome do espaço de trabalho, nomes de sub-rede, ID de recurso da VNet existente.

      Importante

      O nome do grupo de recursos, o nome do workspace e os nomes da sub-rede são idênticos ao seu workspace existente, para que esse comando atualize o workspace existente em vez de criar um novo workspace.

    7. Clique em Examinar + Criar.

    8. Se não houver problemas de validação, clique em Criar.

    A atualização da rede pode levar mais de 15 minutos para ser concluída.

Aplicar uma atualização usando o Terraform

Para workspaces criados com o Terraform, você pode atualizar o workspace sem recriar o workspace.

Importante

Você deve usar o terraform-provider-azurerm versão 3.41.0 ou posterior e atualizar sua versão do provedor do Terraform conforme necessário. Versões anteriores tentam recriar o workspace se você alterar qualquer uma dessas configurações.

Altere as seguintes configurações do workspace:

  • no_public_ip no bloco custom_parameters pode ser alterado de false para true.

A atualização da rede pode levar mais de 15 minutos para ser concluída.

Etapa 3: validar a atualização

Depois que o workspace estiver em estado ativo, o trabalho de atualização será concluído. Verifique se a atualização foi aplicada:

  1. Abra o Azure Databricks no navegador da Web.

  2. Inicie um dos clusters do workspace e aguarde até que o cluster seja totalmente iniciado.

  3. Vá para a instância do seu espaço de trabalho no portal do Azure.

  4. Clique na ID azul ao lado do rótulo de campo Grupo de recursos gerenciados.

  5. Nesse grupo, localize as VMs para o cluster e clique em uma delas.

  6. Nas configurações da VM, em Propriedades, procure os campos na área Rede.

  7. Confirme se o campo Endereço IP público está vazio.

    Se estiver preenchida, a VM terá um endereço IP público, o que significa que a atualização falhou.

Recuperação de falha

Se uma atualização do workspace falhar, o workspace pode ser marcado como um estado Com falha, o que significa que o workspace não pode executar operações de computação. Para restaurar um workspace com falha de volta para o estado Ativo, revise as instruções na mensagem de status da operação de atualização. Depois de corrigir os problemas, refaça a atualização no workspace com falha. Repita as etapas até que a atualização seja concluída com sucesso.

Reversão temporária da atualização para proteger a conectividade do cluster

Se algo der errado durante a implantação, você poderá reverter o processo como uma reversão temporária, mas desabilitar o SCC em um workspace não tem suporte além da reversão temporária antes de continuar a atualização mais tarde. Se isso for necessário temporariamente, você poderá seguir as instruções acima para atualização, mas definir enableNoPublicIp como false em vez de true.