Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Important
Dieses Feature befindet sich in der Betaversion. Kontoadministratoren können den Zugriff auf dieses Feature über die Seite " Vorschauen " der Kontokonsole verwalten. Siehe Verwalten von Vorschauen auf Kontoebene.
Dieser Artikel beschreibt, wie man ein privates Netzwerk-Gateway mit der REST-API des Kontos einrichtet und verwaltet. Für einen Überblick darüber, was ein privates Netzwerk-Gateway ist und wie es funktioniert, siehe Private Network Gateway.
Bevor Sie anfangen
Bevor Sie ein privates Netzwerk-Gateway erstellen, stellen Sie sicher, dass Sie Folgendes haben:
- Ein Azure Databricks-Konto in der Premium-Tarifstufe mit mindestens einem Arbeitsbereich, bei dem serverloses Computing aktiviert ist.
- Azure Databricks-Kontoadministratorrechte
- Berechtigung in deinem Azure-Abonnement, ein Subnetz in deinem Ziel-VNet zu
Microsoft.Databricks/workspacesdelegieren. - Ein VNet mit einem dedizierten Subnetz (ein CIDR-Block der Größe
/28oder größer), das für das Gateway verfügbar ist. Dieses Subnetz darf von keiner anderen Azure-Ressource genutzt werden und muss sich in derselben Region wie Ihr NCC und Ihre Arbeitsbereiche befinden. - Die Abonnement-ID des VNet, die das delegierte Subnetz enthält, muss im selben Microsoft Entra ID-Mandant sein wie die Abonnement-ID Ihrer Azure Databricks-Arbeitsbereiche.
- Die IP-Adresse eines DNS-Resolvers, die vom Gateway-Subnetz aus erreichbar ist.
Das Gateway für private Netzwerke ist während der Betaphase in den folgenden Azure-Regionen verfügbar: australiaeast, canadacentral, eastus, uksouth, southcentralus, northcentralus, westus, koreacentral, westus2, eastasia, centralus, eastus2, centralindia, francecentral, japaneast, germanywestcentral, northeurope, uaenorth, westeurope, southeastasia, swedencentral, switzerlandnorth, westcentralus, westus3 und brazilsouth. Das Gateway und sein Subnetz müssen sich im selben Bereich wie der NCC befinden.
Einrichtung eines privaten Netzwerk-Gateways
Alle Gateway-Konfigurationen des privaten Netzwerks verwenden die REST-API des Kontos. Während der Vorschau gibt es keine UI- oder Terraform-Unterstützung.
Erstellen oder auswählen Sie ein NCC
Wenn du bereits einen NCC in der Region hast, die du nutzen möchtest, überspringe diesen Schritt.
Zuerst erhalten Sie ein OAuth-Zugriffstoken über einen Service Principal, der die Rolle des Kontoadministrators innehat. Ein Kontoadministrator erstellt den Service Principal im Voraus in der Kontokonsole. Um das Token anzufordern, führen Sie Folgendes aus:
curl --location 'https://accounts.azuredatabricks.net/oidc/accounts/{account_id}/v1/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic <base64(client_id:client_secret)>' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'scope=all-apis'
Um einen NCC zu erstellen, führen Sie Folgendes aus:
curl --request POST \
'https://accounts.azuredatabricks.net/api/2.0/accounts/{account_id}/network-connectivity-configs' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data '{ "name": "my-ncc", "region": "eastus2" }'
Speichern Sie die network_connectivity_config_id aus der Antwort.
Delegiere ein Subnetz an Databricks
Das Gateway injiziert in ein Subnetz in deinem VNet, um den Tunnel aufzubauen. Delegieren Sie dieses Subnetz an Microsoft.Databricks/workspaces, bevor Sie das Gateway erstellen.
Im Azure-Portal gehe du zu deinem Ziel-VNet.
Klicke in der linken Seitenleiste auf Subnetze .
Wählen Sie ein Subnetz, das dem Gateway zugeordnet ist, oder erstellen Sie ein neues. Dieses Subnetz darf von keiner anderen Ressource verwendet werden.
Wählen Sie unter Subnetzdelegation
Microsoft.Databricks/workspacesaus.Klicke auf Speichern.
Das delegierte Subnetz muss sich in derselben Azure-Region wie Ihr NCC und Ihre Zielarbeitsbereiche befinden und genügend IP-Adressen für die Gateway-Knoten besitzen.
/28oder höher wird empfohlen.
Erstellen Sie das private Netzwerk-Gateway
Das Erstellen eines Gateways aus der REST-API der Kontokonsole erfordert ein OAuth-Zugriffstoken eines Serviceprinzipals mit Client-Zugangsdaten, das zuvor von einem Kontoadministrator in der Kontokonsole erstellt wurde.
Um das Gateway zu erstellen, senden Sie eine POST-Anfrage an den private-network-gateways Endpunkt unter Ihrem NCC. Der Anfragekörper unterstützt die folgenden Felder:
-
gateway_name(erforderlich): Ein für Menschen lesbarer Name für das Gateway. -
azure_cloud_connection.gateway_subnet.resource_id(erforderlich): Die vollständige Azure-Ressourcen-ID des Subnetzes, das Sie im vorherigen Schritt delegiert haben. -
private_dns_resolvers(erforderlich): Die IP-Adresse des DNS-Resolvers in deinem VNet. Nutze168.63.129.16den von Azure bereitgestellten DNS, wenn du keine benutzerdefinierte private DNS-Zone hast. -
traffic_mode(erforderlich):SPECIFIC_DESTINATIONSoderALL_TRAFFIC. Siehe Verkehrsmodi. -
destinations(erforderlich, wenntraffic_modeaufSPECIFIC_DESTINATIONSgesetzt ist): Die DNS-Namen, die über das Gateway geleitet werden sollen.
Um ein Gateway im Modus SPECIFIC_DESTINATIONS zu erstellen, führen Sie Folgendes aus:
curl --request POST \
'https://accounts.azuredatabricks.net/api/2.0/accounts/{account_id}/network-connectivity-configs/{network_connectivity_config_id}/private-network-gateways' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data '{
"gateway_name": "my-azure-png",
"traffic_mode": "SPECIFIC_DESTINATIONS",
"azure_cloud_connection": {
"gateway_subnet": {
"resource_id": "/subscriptions/{subscription_id}/resourceGroups/{resource_group}/providers/Microsoft.Network/virtualNetworks/{vnet_name}/subnets/{subnet_name}"
}
},
"private_dns_resolvers": [
{ "resolver_type": "IP_ADDRESS", "value": "10.0.0.4" }
],
"destinations": [
{ "destination_type": "DNS_NAME", "value": "myserver.internal.contoso.com" }
]
}'
Das Gateway wird im Zustand CREATING erstellt. Es wechselt zu ESTABLISHED, sobald Azure Databricks das Gateway erfolgreich in Ihr Subnetz injiziert hat, was in der Regel 2 bis 5 Minuten dauert.
Bestätigen Sie, dass das Gateway eingerichtet ist
Um den Gateway-Zustand zu überprüfen, senden Sie eine GET-Anfrage, bis stateESTABLISHED ist:
curl --request GET \
'https://accounts.azuredatabricks.net/api/2.0/accounts/{account_id}/network-connectivity-configs/{network_connectivity_config_id}/private-network-gateways/{gateway_id}' \
--header 'Authorization: Bearer <access_token>'
Bestätigen Sie, dass stateESTABLISHED ist, bevor Sie fortfahren.
Hänge das NCC an deine Arbeitsbereiche an
Wenn Ihr Arbeitsplatz bereits an das NCC angeschlossen ist, überspringen Sie diesen Schritt. Ein NCC ist ein regionales Objekt und kann nur an Arbeitsbereiche derselben Region angehängt werden.
Gehe in der Kontokonsole zu Arbeitsbereichen, wähle den Arbeitsbereich aus, klicke auf Arbeitsbereich aktualisieren und wähle unter Netzwerkkonnektivitätskonfiguration deinen NCC aus. Wiederhole das für jeden Arbeitsbereich, der das Gateway nutzen sollte.
Du kannst das NCC auch über die REST-API des Kontos anhängen:
curl --request PATCH \
'https://accounts.azuredatabricks.net/api/2.0/accounts/{account_id}/workspaces/{workspace_id}' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data '{ "network_connectivity_config_id": "{network_connectivity_config_id}" }'
DNS-Konfiguration
Ein Gateway verwendet den von dir angegebenen private_dns_resolvers Resolver, um Hostnamen für die von dir konfigurierten Ziele zu lösen. Der Resolver muss vom Gateway-Subnetz aus erreichbar sein.
Wenn deine privaten Ressourcen in einer Azure-privaten DNS-Zone registriert sind, verknüpfe diese Zone mit dem VNet, das das Gateway-Subnetz enthält, damit die Hostnamen korrekt aufgelöst werden. Um öffentliche FQDNs zu lösen, zum Beispiel für Ressourcen, die durch Ihre Firewall ausgehen, verwenden Sie den von Azure bereitgestellten Resolver bei 168.63.129.16. Wenn du private DNS-Zonen mit sich überschneidenden Namen hast, benutze stattdessen deinen eigenen Resolver.
Verwaltung eines Gateways
Du kannst Gateways mit der Account REST API aktualisieren, löschen und auflisten.
Aktualisieren eines Gateways
Du kannst private_dns_resolvers, traffic_mode, gateway_name und destinations mit einer PATCH-Anfrage direkt aktualisieren. Der Abfrageparameter update_mask ist erforderlich und gibt an, welche Felder aktualisiert werden sollen. Wenn du von traffic_mode zu ALL_TRAFFIC wechselst, lösche destinations in derselben Anfrage. Wenn Sie zu SPECIFIC_DESTINATIONS wechseln, fügen Sie die Ziele hinzu, die weitergeleitet werden sollen. Um das Gateway-Subnetz zu ändern, lösche das Gateway und erstelle ein neues.
Um den Ziel- und Verkehrsmodus zu aktualisieren, führen Sie Folgendes aus:
curl --request PATCH \
'https://accounts.azuredatabricks.net/api/2.0/accounts/{account_id}/network-connectivity-configs/{network_connectivity_config_id}/private-network-gateways/{gateway_id}?update_mask=destinations,traffic_mode' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data '{ "destinations": [ { "destination_type": "DNS_NAME", "value": "onprem-db2.corp.contoso.com" } ], "traffic_mode": "SPECIFIC_DESTINATIONS" }'
Löschen eines Gateways
Warning
Das Löschen eines Gateways unterbricht die Verbindung zu den privaten Ressourcen, die davon abhängig sind. Bestätigen Sie, dass keine aktiven Workloads vom Gateway abhängen, bevor Sie es löschen.
Um das Gateway zu löschen, senden Sie eine DELETE-Anfrage an den Gateway-Endpunkt unter Ihrem NCC:
curl --request DELETE \
'https://accounts.azuredatabricks.net/api/2.0/accounts/{account_id}/network-connectivity-configs/{network_connectivity_config_id}/private-network-gateways/{gateway_id}' \
--header 'Authorization: Bearer <access_token>'
Gateways auflisten
Um die privaten Netzwerk-Gateways in einem NCC aufzulisten, senden Sie eine GET Anfrage an den Gateway-Endpunkt unter Ihrem NCC:
curl --request GET \
'https://accounts.azuredatabricks.net/api/2.0/accounts/{account_id}/network-connectivity-configs/{network_connectivity_config_id}/private-network-gateways' \
--header 'Authorization: Bearer <access_token>'
Gateway-Staaten
Ein Gateway meldet einen der folgenden Zustände:
| Staat | Description |
|---|---|
CREATING |
Azure Databricks erstellt die Gateway-Netzwerkschnittstelle in Ihrem Subnetz. |
ESTABLISHED |
Das Gateway ist bereit, den Verkehr zu leiten. |
DELETING |
Das Tor wird entfernt. |
FAILED |
Das Gateway konnte nicht bereitgestellt werden. Dieser Zustand ist terminal: Löschen Sie das Gateway und erstellen Sie ein neues, nachdem Sie die zugrunde liegende Ursache behoben haben, wie etwa eine nicht unterstützte Region oder eine Verfügbarkeitszone. |
Troubleshooting
Wenn eine Arbeitslast nicht über das Gateway mit einem benötigten Endpunkt verbunden werden kann, verwenden Sie die folgende Tabelle, um häufige Probleme zu diagnostizieren.
| Issue | Ursache | Resolution |
|---|---|---|
Das Gateway bleibt für mehr als 10 Minuten CREATING |
Die Subnetzdelegation fehlt oder ist falsch konfiguriert, oder es gibt nicht genug IP-Speicherplatz | Überprüfen Sie, ob das Subnetz an Microsoft.Databricks/workspaces delegiert ist und mindestens /28 groß ist. Kontaktiere dein Account-Team, falls das Problem weiterhin besteht. |
Die DNS-Auflösung schlägt bei SERVFAIL oder NXDOMAIN fehl |
Der private DNS-Resolver ist vom Gateway-Subnetz aus nicht erreichbar, oder die private DNS-Zone ist nicht mit dem richtigen VNet verknüpft. | Bestätigen Sie, dass die Resolver-IP aus dem delegierten Subnetz heraus erreichbar ist und dass die private DNS-Zone mit dem VNet verknüpft ist, das das Gateway-Subnetz enthält. |
| DNS-Auflösung funktioniert, aber bei der Verbindung tritt eine Zeitüberschreitung auf | NSG-Regeln blockieren den Datenverkehr im Gateway-Subnetz oder im Ziel-Subnetz | Überprüfen Sie die NSG-Ein- und Ausgangsregeln sowohl im Gateway-Subnetz als auch auf der Zielressource und überprüfen Sie, ob das Ziel vom selben VNet aus erreichbar ist. |
| Eine JDBC- oder Datenbankverbindung schlägt trotz der Auflösung von DNS fehl | Eine datenbankseitige Firewall oder Authentifizierungsrichtlinie blockiert Verbindungen vom Gateway | Überprüfen Sie, ob die Datenbank Verbindungen aus dem IP-Bereich des Gateway-Subnetzes zulässt, und prüfen Sie die Datenbankfirewall und die Zugriffskontrollkonfiguration. |
Das Gateway ist ESTABLISHED, aber der Datenverkehr fließt dennoch nicht |
Das Ziel DNS_NAME wird dem Gateway nicht hinzugefügt oder das Gateway ist an einen NCC angeschlossen, der nicht an den Arbeitsbereich gebunden ist |
Überprüfen Sie die auf dem Gateway konfigurierten Ziele und bestätigen Sie, dass der NCC mit dem Quellarbeitsbereich verbunden ist. |
| Der Datenverkehr zu einem von Azure verwalteten Dienst wie Azure SQL-Datenbank oder Key Vault läuft nicht über das Gateway | Der DNS_NAME stimmt mit dem Suffix eines Azure-Dienstendpunkts überein, sodass stattdessen der Dienstendpunktpfad verwendet wird |
Vergleiche das DNS_NAME mit der Suffixliste des Service-Endpunkts. Für ausschließlich private Ressourcen dem Gateway ein spezifischeres DNS_NAME hinzufügen. |
| Verkehr wird abgebrochen, obwohl das FQDN auf dem Gateway konfiguriert ist | Eine Richtlinie für das serverlose ausgehende Gateway (SEG) verweigert den Zugriff auf das Ziel und wird vor dem privaten Netzwerkgateway bewertet | Schau dir die SEG-Erlaubnislisten für überlappende Arbeitsbereiche an. |