Säker klusteranslutning

När säker klusteranslutning är aktiverad har kundens virtuella nätverk inga öppna portar och beräkningsresurser i det klassiska beräkningsplanet har inga offentliga IP-adresser. Säker klusteranslutning kallas även för No Public IP (NPIP).

  • På nätverksnivå initierar varje kluster en anslutning till kontrollplanets säkra klusteranslutningsrelä när klustret skapas. Klustret upprättar den här anslutningen med hjälp av port 443 (HTTPS) och använder en annan IP-adress än vad som används för webbprogrammet och REST-API:et.
  • När kontrollplanet logiskt startar nya Databricks Runtime-jobb eller utför andra klusteradministrationsuppgifter skickas dessa begäranden till klustret via den här tunneln.
  • Beräkningsplanet (det virtuella nätverket) har inga öppna portar och klassiska beräkningsplanresurser har inga offentliga IP-adresser.

Fördelar:

  • Enkel nätverksadministration, utan att behöva konfigurera portar i säkerhetsgrupper eller konfigurera nätverkspeering.
  • Med förbättrad säkerhet och enkel nätverksadministration kan informationssäkerhetsteam påskynda godkännandet av Databricks som PaaS-provider.

Kommentar

All Azure Databricks-nätverkstrafik mellan det klassiska virtuella beräkningsplanet och Azure Databricks-kontrollplanet går över Microsoft-nätverkets stamnät, inte det offentliga Internet. Detta gäller även om säker klusteranslutning är inaktiverad.

Även om det serverlösa beräkningsplanet inte använder det säkra klusteranslutningsreläet för det klassiska beräkningsplanet, har serverlösa SQL-lager inte offentliga IP-adresser.

Säker klusteranslutning

Använda säker klusteranslutning

Om du vill använda säker klusteranslutning med en ny Azure Databricks-arbetsyta använder du något av följande alternativ.

  • Azure Portal: När du etablerar arbetsytan går du till fliken Nätverk och anger alternativet Distribuera Azure Databricks-arbetsyta med säker kluster Anslut ivity (ingen offentlig IP)-adress tillJa.
  • ARM-mallar: För resursen Microsoft.Databricks/workspaces som skapar den nya arbetsytan anger du den enableNoPublicIp booleska parametern till true.

Viktigt!

I båda fallen måste du registrera Azure-resursprovidern Microsoft.ManagedIdentity i den Azure-prenumeration som används för att starta arbetsytor med säker klusteranslutning. Det här är en engångsåtgärd per prenumeration. Anvisningar finns i Azure-resursprovidrar och typer.

Du kan lägga till säker klusteranslutning till en befintlig arbetsyta som redan använder VNet-inmatning. Se Lägga till säker klusteranslutning till en befintlig arbetsyta.

Om du använder ARM-mallar lägger du till parametern i någon av följande mallar, baserat på om du vill att Azure Databricks ska skapa ett virtuellt standardnätverk (hanterat) för arbetsytan eller om du vill använda ditt eget virtuella nätverk, även kallat VNet-inmatning. VNet-inmatning är en valfri funktion som gör att du kan tillhandahålla ett eget VNet som värd för nya Azure Databricks-kluster.

Utgående från arbetsyteundernät

När du aktiverar säker klusteranslutning är båda dina arbetsyteundernät privata undernät, eftersom klusternoder inte har offentliga IP-adresser.

Implementeringsinformationen för nätverksutgången varierar beroende på om du använder det virtuella standardnätverket (hanterat) eller om du använder den valfria VNet-inmatningsfunktionen för att tillhandahålla ditt eget virtuella nätverk där arbetsytan ska distribueras. Mer information finns i följande avsnitt.

Viktigt!

Ytterligare kostnader kan uppstå på grund av ökad utgående trafik när du använder säker klusteranslutning. För en mindre organisation som behöver en kostnadsoptimerad lösning kan det vara acceptabelt att inaktivera säker klusteranslutning när du distribuerar din arbetsyta. Men för den säkraste distributionen rekommenderar Microsoft och Databricks starkt att du aktiverar säker klusteranslutning.

Utgående med standard -VNet (hanterat)

Om du använder säker klusteranslutning med det standard-VNet som Azure Databricks skapar skapar Azure Databricks automatiskt en NAT-gateway för utgående trafik från arbetsytans undernät till Azure-stamnätet och det offentliga nätverket. NAT-gatewayen skapas i den hanterade resursgruppen som hanteras av Azure Databricks. Du kan inte ändra den här resursgruppen eller några resurser som har etablerats i den.

Den automatiskt skapade NAT-gatewayen medför ytterligare kostnader.

Utgående med VNet-inmatning

Om du aktiverar säker klusteranslutning på din arbetsyta som använder VNet-inmatning rekommenderar Databricks att din arbetsyta har en stabil offentlig IP-adress för utgående trafik.

Stabila offentliga IP-adresser för utgående trafik är användbara eftersom du kan lägga till dem i externa tillåtna listor. Om du till exempel vill ansluta från Azure Databricks till Salesforce med en stabil utgående IP-adress.

Varning

Microsoft meddelade att den 30 september 2025 kommer standardanslutningen för utgående åtkomst för virtuella datorer i Azure att dras tillbaka. Se det här meddelandet. Det innebär att befintliga Azure Databricks-arbetsytor som använder standardutgående åtkomst i stället för en stabil offentlig IP-adress för utgående trafik kanske inte fortsätter att fungera efter det datumet. Databricks rekommenderar att du lägger till explicita utgående metoder för dina arbetsytor före det datumet.

Välj ett av följande alternativ:

  • För distributioner som behöver vissa anpassningar väljer du en Azure NAT-gateway. Konfigurera gatewayen på båda arbetsytans undernät för att säkerställa att all utgående trafik till Azures stamnät och offentliga nätverksöverföringar via den. Kluster har en stabil offentlig IP-adress för utgående trafik och du kan ändra konfigurationen för anpassade utgående behov. Du kan implementera den här lösningen med hjälp av antingen en Azure-mall eller från Azure-portalen.
  • För distributioner med komplexa routningskrav eller distributioner som använder VNet-inmatning med en utgående brandvägg, till exempel Azure Firewall eller andra anpassade nätverksarkitekturer, kan du använda anpassade vägar som kallas användardefinierade vägar (UDR). UDR:er ser till att nätverkstrafiken dirigeras korrekt för din arbetsyta, antingen direkt till de nödvändiga slutpunkterna eller via en utgående brandvägg. Om du använder en sådan lösning måste du lägga till direkta vägar eller tillåtna brandväggsregler för Azure Databricks säkra klusteranslutningsrelä och andra nödvändiga slutpunkter som anges i Användardefinierade väginställningar för Azure Databricks.

Varning

Använd inte en utgående lastbalanserare med en arbetsyta som har säker klusteranslutning aktiverad. I produktionssystem kan en utgående lastbalanserare leda till risk för uttömning av portar.

Lägga till säker klusteranslutning till en befintlig arbetsyta

Du kan aktivera säker klusteranslutning på en befintlig arbetsyta. Uppgraderingen kräver att arbetsytan använder VNet-inmatning.

Du kan använda portalens användargränssnitt, en ARM-mall eller azurerm Terraform-provider version 3.41.0+. Du kan använda Azure-portalen för att tillämpa en anpassad mall och ändra parametern i användargränssnittet. Du kan också uppgradera själva Azure Databricks-arbetsyteinstansen i azure-portalens användargränssnitt.

Viktigt!

Om du använder en brandvägg eller gjorde andra ändringar i nätverkskonfigurationen för att styra ingress eller utgående trafik från det klassiska beräkningsplanet kan du behöva uppdatera reglerna för brandväggen eller nätverkssäkerhetsgruppen samtidigt som ändringarna börjar gälla fullt ut. Med säker klusteranslutning finns det till exempel ytterligare en utgående anslutning till kontrollplanet och inkommande anslutningar från kontrollplanet används inte längre.

Om något går fel med uppgraderingen och du tillfälligt behöver återställa ändringen kan du läsa Tillfällig återställning av uppgradering för att skydda klusteranslutningen.

Steg 1: Stoppa alla beräkningsresurser

Innan du försöker utföra den här uppgraderingen måste du stoppa alla beräkningsresurser, till exempel kluster, pooler eller klassiska SQL-lager. Inga beräkningsresurser för arbetsytan kan köras eller så misslyckas uppgraderingsförsöket. Databricks rekommenderar att du planerar tidpunkten för uppgraderingen för stilleståndstid.

Steg 2: Uppdatera arbetsytan

Du måste uppdatera parametern Ingen offentlig IP - adress (i mallen är enableNoPublicIpden ). Ange värdet True (true).

Använd någon av följande metoder:

Använda användargränssnittet i Azure-portalen (utan mall)

  1. Gå till din Azure Databricks Service-instans i Azure-portalen.

  2. I det vänstra navigeringsfältet under Inställningar klickar du på Nätverk.

  3. Välj Ingen offentlig IP-adress.

    Kommentar

    Samtidigt kan du välja att även aktivera Azure Private Link genom att ange värdena för Tillåt offentlig nätverksåtkomstobligatoriska NSG-regler till lämpliga värden för ditt användningsfall. Ytterligare konfiguration och verifiering krävs dock för att aktivera Private Link, så du kanske vill göra det som ett separat steg efter den här uppdateringen för säker klusteranslutning. Viktig information och krav finns i aktivera Azure Private Link.

  4. Klicka på Spara.

Nätverksuppdateringen kan ta över 15 minuter att slutföra.

Använda en uppdaterad ARM-mall med Hjälp av Azure-portalen

Kommentar

Om den hanterade resursgruppen har ett anpassat namn måste du ändra mallen i enlighet med detta. Kontakta ditt Azure Databricks-kontoteam om du vill ha mer information.

  1. Kopiera följande uppgradering av ARM-mallenS 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. Gå till sidan anpassad distribution i Azure-portalen.

    2. Klicka på Skapa en egen mall i redigeraren.

    3. Klistra in JSON för mallen som du kopierade.

    4. Klicka på Spara.

    5. Fyll i parametrarna.

    6. Om du vill uppdatera en befintlig arbetsyta använder du samma parametrar som du använde för att skapa den andra arbetsytan än enableNoPublicIp den som du måste ange till true. Ange prenumeration, region, arbetsytenamn, undernätsnamn, resurs-ID för det befintliga virtuella nätverket.

      Viktigt!

      Resursgruppens namn, arbetsytenamn och undernätsnamn är identiska med din befintliga arbetsyta så att det här kommandot uppdaterar den befintliga arbetsytan i stället för att skapa en ny arbetsyta.

    7. Klicka på Granska + Skapa.

    8. Om det inte finns några verifieringsproblem klickar du på Skapa.

    Nätverksuppdateringen kan ta över 15 minuter att slutföra.

Tillämpa en uppdatering med Terraform

För arbetsytor som skapats med Terraform kan du uppdatera arbetsytan utan att återskapa arbetsytan.

Viktigt!

Du måste använda terraform-provider-azurerm version 3.41.0 eller senare, så uppgradera Terraform-providerversionen efter behov. Tidigare versioner försöker återskapa arbetsytan om du ändrar någon av dessa inställningar.

Ändra följande inställningar för arbetsytan:

  • no_public_ip i blocket custom_parameters kan ändras från false till true.

Nätverksuppdateringen kan ta över 15 minuter att slutföra.

Steg 3: Verifiera uppdateringen

När arbetsytan är i aktivt tillstånd slutförs uppdateringsjobbet. Kontrollera att uppdateringen har tillämpats:

  1. Öppna Azure Databricks i webbläsaren.

  2. Starta ett av arbetsytans kluster och vänta tills klustret har startats helt.

  3. Gå till din arbetsyteinstans i Azure-portalen.

  4. Klicka på det blå ID:t bredvid fältetiketten Hanterad resursgrupp.

  5. I den gruppen letar du upp de virtuella datorerna för klustret och klickar på en av dem.

  6. I VM-inställningarna i Egenskaper letar du efter fälten i området Nätverk .

  7. Bekräfta att fältet Offentlig IP-adress är tomt.

    Om den är ifylld har den virtuella datorn en offentlig IP-adress, vilket innebär att uppdateringen misslyckades.

Återställning vid fel

Om en uppdatering av arbetsytan misslyckas kan arbetsytan markeras som ett feltillstånd , vilket innebär att arbetsytan inte kan utföra beräkningsåtgärder. Om du vill återställa en misslyckad arbetsyta tillbaka till aktivt tillstånd läser du anvisningarna i statusmeddelandet för uppdateringsåtgärden. När du har åtgärdat eventuella problem gör du om uppdateringen på den misslyckade arbetsytan. Upprepa stegen tills uppdateringen har slutförts.

Tillfällig återställning av uppgradering till säker klusteranslutning

Om något går fel under distributionen kan du återställa processen som en tillfällig återställning, men att inaktivera SCC på en arbetsyta stöds inte annat än för tillfällig återställning innan du fortsätter uppgraderingen senare. Om detta är nödvändigt tillfälligt kan du följa anvisningarna ovan för uppgradering men ange enableNoPublicIp till i stället för false sant.