Freigeben über


Aktivieren der sicheren Clusterkonnektivität

In diesem Artikel wird erläutert, wie Sie sichere Clusterkonnektivität für Azure Databricks-Arbeitsbereiche verwenden. Sichere Clusterkonnektivität wird auch als keine öffentliche IP (NPIP) bezeichnet. Serverlose Computeressourcen verwenden keine sichere Clusterkonnektivität, verfügen aber auch nicht über öffentliche IP-Adressen.

Übersicht über sichere Clusterkonnektivität

Wenn sichere Clusterkonnektivität aktiviert ist, haben virtuelle Kundennetzwerke keine offenen Ports und Computeressourcen in der klassischen Computeebene keine öffentlichen IP-Adressen.

  • Jeder Cluster initiiert während der Clustererstellung eine Verbindung zum sicheren Clusterverbindungs-Relay der Steuerungsebene. Der Cluster stellt diese Verbindung mit Port 443 (HTTPS) her und verwendet eine andere IP-Adresse als für die Webanwendung und REST-API.
  • Wenn die Steuerungsebene Clusterverwaltungsaufgaben ausführt, werden diese Anforderungen über diesen Tunnel an den Cluster gesendet.

Hinweis

Der gesamte Azure Databricks-Netzwerkdatenverkehr zwischen dem klassischen Computeebenen-VNet und der Azure Databricks-Kontrollebene verläuft über das Microsoft-Netzwerk-Backbone und nicht über das öffentliche Internet. Dies gilt auch, wenn die Konnektivität für sichere Cluster deaktiviert ist.

Sie können die sichere Clusterkonnektivität in einem neuen Arbeitsbereich aktivieren oder zu einem vorhandenen Arbeitsbereich hinzufügen, der bereits VNet-Einfügung verwendet.

Aktivieren der sicheren Clusterkonnektivität in einem neuen Arbeitsbereich

Sichere Clusterkonnektivität wird automatisch aktiviert, wenn Sie einen Arbeitsbereich mithilfe des Azure-Portals oder einer Arm-Vorlage (Azure Resource Manager) erstellen.

  • Azure-Portal: Wenn Sie den Arbeitsbereich bereitstellen, wird auf der Registerkarte "Netzwerk " der Azure Databricks-Arbeitsbereich mit sicherer Clusterkonnektivität (keine öffentliche IP) standardmäßig "Ja" angezeigt.

    Ausführliche Anweisungen zur Verwendung des Azure-Portals zum Erstellen eines Arbeitsbereichs finden Sie unter Verwenden des Portals zum Erstellen eines Azure Databricks-Arbeitsbereichs.

  • ARM-Vorlage: Der enableNoPublicIp-Parameter innerhalb der Microsoft.Databricks/workspaces-Ressource ist standardmäßig auf true festgelegt in Version 2024-05-01 und höher. Wenn der enableNoPublicIp Parameter nicht explizit in der Vorlage enthalten ist, verhält er sich so, als wäre er auf "true" festgelegt. Sie können diese Standardeinstellung explizit außer Kraft setzen, indem Sie in Ihrer Vorlage auf "false" festlegen enableNoPublicIp .

    Ausführliche Anweisungen zur Verwendung einer ARM-Vorlage zum Erstellen eines Arbeitsbereichs finden Sie unter Bereitstellen eines Arbeitsbereichs mit einer ARM-Vorlage. Arm-Vorlagen, die VNet Injection verwenden, finden Sie unter Bereitstellen von Azure Databricks in Ihrem virtuellen Azure-Netzwerk (VNet Injection).

Hinzufügen von Konnektivität für sichere Cluster zu einem vorhandenen Arbeitsbereich

Sie können die sichere Clusterkonnektivität in einem vorhandenen Arbeitsbereich mithilfe des Azure-Portals, einer ARM-Vorlage oder des azurerm Terraform-Anbieters Version 3.41.0+ aktivieren. Das Upgrade erfordert, dass der Arbeitsbereich VNet-Einschleusung verwendet.

Wichtig

Wenn Sie eine Firewall oder andere Netzwerkkonfigurationen verwenden, um den Eingangs- oder Ausgang von der klassischen Computeebene zu steuern, müssen Sie möglicherweise Ihre Firewall- oder Netzwerksicherheitsgruppenregeln aktualisieren, wenn sie die sichere Clusterkonnektivität aktivieren, damit die Änderungen wirksam werden. Bei Verwendung der sicheren Clusterkonnektivität gibt es z. B. eine zusätzliche ausgehende Verbindung mit der Steuerebene, und die eingehenden Verbindungen aus der Kontrollebene werden nicht mehr verwendet.

Schritt 1: Beenden aller Computeressourcen

Beenden Sie alle klassischen Computeressourcen wie Cluster, Pools oder klassische SQL-Lagerhäuser. Databricks empfiehlt die Planung des Zeitpunkts des Upgrades für Ausfallzeiten.

Schritt 2: Aktualisieren des Arbeitsbereichs

Sie können den Arbeitsbereich über das Azure-Portal, eine ARM-Vorlage oder Terraform aktualisieren.

Verwenden des Azure-Portals

  1. Wechseln Sie zum Azure Databricks-Arbeitsbereich im Azure-Portal.
  2. Klicken Sie im linken Navigationsbereich unter Einstellungen auf die Option Netzwerk.
  3. Auf der Registerkarte Netzwerkzugriff setzen Sie Azure Databricks-Arbeitsbereich mit Secure Cluster Connectivity (Keine öffentliche IP) auf Aktiviert.
  4. Klicken Sie auf Speichern.

Die Aktualisierung des Netzwerks kann unter Umständen mehr als 15 Minuten in Anspruch nehmen.

Anwenden einer aktualisierten ARM-Vorlage mithilfe des Azure-Portals

Verwenden Sie eine ARM-Vorlage, um den enableNoPublicIp Parameter auf True (true) festzulegen.

Hinweis

Wenn Ihre verwaltete Ressourcengruppe über einen benutzerdefinierten Namen verfügt, müssen Sie die Vorlage entsprechend ändern. Wenden Sie sich für weitere Informationen an Ihr Azure Databricks-Kundenberatungsteam.

  1. Kopieren Sie die folgende ARM-Upgradevorlage (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. Wechseln Sie im Azure-Portal zur Seite Benutzerdefinierte Bereitstellung.

    2. Klicken Sie auf Eigene Vorlage im Editor erstellen.

    3. Fügen Sie den JSON-Code in die Vorlage ein, die Sie kopiert haben.

    4. Klicken Sie auf Speichern.

    5. Fügen Sie die Parameter ein.

    6. Um einen vorhandenen Arbeitsbereich zu aktualisieren, verwenden Sie dieselben Parameter, die Sie zum Erstellen des Arbeitsbereichs verwendet haben, mit Ausnahme von enableNoPublicIp, das Sie auf true festlegen müssen. Legen Sie das Abonnement, die Region, den Arbeitsbereichsnamen, subnetznamen und die Ressourcen-ID des vorhandenen VNet fest.

      Wichtig

      Der Name der Ressourcengruppe, der Arbeitsbereichsname und die Subnetznamen müssen mit Ihrem vorhandenen Arbeitsbereich identisch sein, damit dieser Befehl den vorhandenen Arbeitsbereich aktualisiert, anstatt einen neuen zu erstellen.

    7. Klicken Sie auf Überprüfen und erstellen.

    8. Wenn keine Validierungsprobleme vorliegen, klicken Sie auf Erstellen.

    Die Aktualisierung des Netzwerks kann unter Umständen mehr als 15 Minuten in Anspruch nehmen.

Anwenden eines Updates mithilfe von Terraform

Für Arbeitsbereiche, die mit Terraform erstellt wurden, können Sie den Arbeitsbereich aktualisieren, ohne ihn neu zu erstellen.

Wichtig

Dafür müssen Sie terraform-provider-azurerm Version 3.41.0 oder höher verwenden. Führen Sie daher bei Bedarf ein Upgrade Ihrer Terraform-Anbieterversion durch. Frühere Versionen versuchen, den Arbeitsbereich neu zu erstellen, wenn Sie eine dieser Einstellungen ändern.

Ändern Sie die folgenden Arbeitsbereichseinstellungen:

  • no_public_ip im custom_parameters-Block kann von false in true geändert werden.

Die Aktualisierung des Netzwerks kann unter Umständen mehr als 15 Minuten in Anspruch nehmen.

Schritt 3: Überprüfen der Aktualisierung

Sobald sich der Arbeitsbereich in einem aktiven Zustand befindet, wird der Aktualisierungsauftrag abgeschlossen. Überprüfen Sie, ob die Aktualisierung angewendet wurde:

  1. Öffnen Sie Azure Databricks in Ihrem Webbrowser.

  2. Starten Sie einen der Arbeitsbereichscluster, und warten Sie, bis der Cluster vollständig gestartet wurde.

  3. Navigieren Sie im Azure-Portal zu Ihrer Arbeitsbereichsinstanz.

  4. Klicken Sie auf die blaue ID neben der Feldbezeichnung Verwaltete Ressourcengruppe.

  5. Suchen Sie in dieser Gruppe nach den virtuellen Computern für den Cluster, und klicken Sie auf einen davon.

  6. Sehen Sie sich in den VM-Einstellungen unter Eigenschaften die Felder im Bereich Netzwerk an.

  7. Vergewissern Sie sich, dass das Feld „Öffentliche IP-Adresse“ leer ist.

    Wenn sie ausgefüllt ist, verfügt der virtuelle Computer über eine öffentliche IP-Adresse, was bedeutet, dass das Update fehlgeschlagen ist.

Vorübergehendes Zurücksetzen des Upgrades auf Konnektivität für sichere Cluster

Wenn während der Bereitstellung ein Fehler auftritt, können Sie den Prozess vorübergehend rückgängig machen, indem Sie enableNoPublicIp auf false setzen. Das Deaktivieren der sicheren Clusterkonnektivität wird jedoch nur als temporäres Rollback unterstützt, bevor das Upgrade später fortgesetzt wird. Sollte dies vorübergehend erforderlich sein, können Sie die obigen Anweisungen für das Upgrade befolgen, aber enableNoPublicIp auf false festlegen (anstatt auf „true“).

Ausgehend aus Arbeitsbereichssubnetzen

Wenn Sie eine sichere Clusterkonnektivität aktivieren, sind beide Arbeitsbereichssubnetze private Subnetze, da Clusterknoten keine öffentlichen IP-Adressen haben.

Die Implementierungsdetails des Netzwerkausgangsverkehrs variieren je nachdem, ob Sie das Standard-VNet verwenden oder ob Sie VNet-Injektion nutzen, um Ihr eigenes VNet bereitzustellen, in dem Ihr Arbeitsbereich bereitgestellt wird.

Wichtig

Wenn Sie Konnektivität für sichere Cluster verwenden können zusätzliche Kosten durch erhöhten ausgehenden Datenverkehr entstehen. Für die sicherste Bereitstellung empfehlen Microsoft und Databricks dringend, dass Sie sichere Clusterkonnektivität aktivieren.

Ausgehend mit (verwaltetem) Standard-VNet

Wenn Sie sichere Clusterkonnektivität mit dem von Azure Databricks erstellten Standard-VNet verwenden, erstellt Azure Databricks automatisch ein NAT-Gateway für ausgehenden Datenverkehr von den Subnetzen Ihres Arbeitsbereichs zum Azure-Backbone und zum öffentlichen Netzwerk. Das NAT-Gateway wird innerhalb der von Azure Databricks verwalteten Ressourcengruppe erstellt. Sie können diese Ressourcengruppe oder die in ihr bereitgestellten Ressourcen nicht ändern. Dieses NAT-Gateway verursacht zusätzliche Kosten.

Ausgehend mit VNet-Injektion

Wenn Sie sichere Clusterkonnektivität in Ihrem Arbeitsbereich aktivieren, in dem VNet-Einfügung verwendet wird, empfiehlt Databricks, dass Ihr Arbeitsbereich über eine stabile öffentliche IP-Adresse verfügt. Stabile öffentliche IP-Adressen sind nützlich, da Sie sie externen Zulassungslisten hinzufügen können. Um beispielsweise eine Verbindung von Azure Databricks mit Salesforce mit einer stabilen ausgehenden IP-Adresse herzustellen.

Warnung

Microsoft hat angekündigt, dass nach dem 31. März 2026 neue virtuelle Netzwerke standardmäßig private Konfigurationen ohne ausgehenden Internetzugriff verwenden werden. Dies erfordert explizite ausgehende Konnektivitätsmethoden, um öffentliche Endpunkte und Microsoft-Dienste zu erreichen. Weitere Details finden Sie in dieser Ankündigung . Diese Änderung wirkt sich nicht auf vorhandene Arbeitsbereiche aus. Neue Azure Databricks-Arbeitsbereiche, die nach diesem Datum bereitgestellt werden, erfordern jedoch eine sichere ausgehende Methode, z. B. ein NAT-Gateway, um eine ordnungsgemäße Clusterfunktionalität sicherzustellen.

Verwenden Sie ein Azure NAT-Gateway, um eine Internetverbindung für Ihre Bereitstellungen bereitzustellen. Konfigurieren Sie das Gateway in beiden Arbeitsbereichssubnetzen, um sicherzustellen, dass aller ausgehender Datenverkehr mit einer stabilen öffentlichen IP-Adresse durchgeleitet wird. Dies bietet eine konsistente ausgehende Internetverbindung für Ihre Cluster und ermöglicht es Ihnen, die Konfiguration für benutzerdefinierte Ausgangsanforderungen zu ändern. Sie können das NAT-Gateway mithilfe einer Azure-Vorlage oder über das Azure-Portal konfigurieren.

Warnung

Verwenden Sie keinen Lastenausgleich für ausgehenden Datenverkehr mit einem Arbeitsbereich mit aktivierter sicherer Clusterkonnektivität. In Produktionssystemen kann ein Lastenausgleich für ausgehenden Datenverkehr zu einem Risiko für die Ausschöpfung der Ports führen.

Bewährte Methoden für die Firewallkonfiguration

Lassen Sie immer die bereitgestellten Domänennamen (FQDNs) für SCC-Relayendpunkte anstelle einzelner IP-Adressen zu. IP-Adressen hinter diesen Domänen ändern sich aufgrund von Infrastrukturupdates regelmäßig.

Kunden, die bestimmte IP-Adressen zulassen, können Dienstunterbrechungen auftreten, wenn Infrastrukturänderungen auftreten. Wenn Sie IP-Adressen verwenden müssen, müssen Sie regelmäßig unsere neuesten IP-Adressen abrufen und Ihre Firewallkonfigurationen auf dem neuesten Stand halten.