Configura un gateway di rete privato

Importante

Il gateway di rete privata è in anteprima privata. Per richiedere l'accesso, contattare il team dell'account di Azure Databricks.

Questo articolo descrive come configurare e gestire un gateway di rete privato utilizzando l'API REST dell'account. Per una panoramica di cosa sia un gateway di rete privato e di come funziona, vedi Gateway di rete privata.

Prima di iniziare

Prima di creare un gateway di rete privato, assicurati di avere quanto segue:

  • Un account Azure Databricks sul piano Premium, con almeno uno spazio di lavoro che ha abilitato il calcolo serverless.
  • Privilegi di amministratore dell'account Azure Databricks.
  • Autorizzazione nella sottoscrizione di Azure per delegare una subnet a Microsoft.Databricks/workspaces nella VNet di destinazione.
  • Un VNet con una subnet dedicata (un /28 blocco CIDR o più grande) disponibile per il gateway. Questa subnet non deve essere utilizzata da nessun'altra risorsa Azure e deve trovarsi nella stessa regione del tuo NCC e degli spazi di lavoro.
  • L'ID di abbonamento del VNet che contiene la subnet delegata deve trovarsi nello stesso tenant del Microsoft Entra ID dell'ID di abbonamento dei tuoi workspace Azure Databricks.
  • L'indirizzo IP di un resolver DNS raggiungibile dalla subnet del gateway.

Il gateway di rete privata è disponibile nelle seguenti aree geografiche di Azure durante l'anteprima privata: australiaeast, brazilsouth, canadacentral, centralindia, centralus, eastus2, germanywestcentral, southcentralus, southeastasia, northeurope, northcentralus, swedencentral, westcentralus, uksouth, westeurope, uaenorth, westus, westus2, eastasia, francecentral, westus3, eastus, japaneast, koreacentral e switzerlandnorth. Il gateway e la sua subnet devono trovarsi nella stessa regione del NCC.

Abilitare l'anteprima

Per richiedere l'accesso al gateway privato di rete Private Preview, contatta il tuo team account Azure Databricks e fornisci quanto segue:

  • L'ID dell'account Azure Databricks.
  • Le regioni in cui intendi usare il gateway.

Attiva l'anteprima

L'iscrizione richiede tipicamente da 1 a 2 giorni lavorativi. Una volta che il team responsabile dell'account ha confermato l'accesso, attiva l'anteprima nella console dell'account:

  1. Vai alla console del tuo account alla console dell'account.
  2. Nella navigazione a sinistra, clicca su Anteprime.
  3. Trova il gateway di rete privato e impostalo su Attivato.

Configura un gateway di rete privato

Tutte le configurazioni del gateway di rete privata utilizzano l'API REST dell'account. Non c'è supporto per UI o Terraform durante l'anteprima privata.

Crea o seleziona un NCC

Se hai già un NCC nella regione che vuoi usare, salta questo passaggio.

Per prima cosa, ottieni un token di accesso OAuth utilizzando un principale di servizio che abbia il ruolo di amministratore dell'account. Un amministratore dell'account crea preventivamente il service principal nella console dell'account. Per richiedere il token, esegui quanto segue:

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'

Per creare un NCC, esegui quanto segue:

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" }'

Salva il network_connectivity_config_id dalla risposta.

Delega una subnet a Databricks

Il gateway viene inserito in una subnet della tua VNet per stabilire il tunnel. Delega questa subnet Microsoft.Databricks/workspaces prima di creare il gateway.

  1. Nel portale di Azure, vai alla tua VNet di destinazione.

  2. Fai clic su Subnets nella barra laterale sinistra.

  3. Seleziona una subnet dedicata al gateway, oppure creane una nuova. Questa subnet non deve essere utilizzata da nessun'altra risorsa.

  4. In Delega della subnet, seleziona Microsoft.Databricks/workspaces.

  5. Fare clic su Salva.

    La subnet delegata deve trovarsi nella stessa regione Azure del tuo NCC e degli spazi di lavoro target, e deve avere abbastanza indirizzi IP per i nodi gateway. Si consiglia una dimensione A /28 o superiore.

Crea il gateway di rete privato

La creazione di un gateway dall'API REST della console account richiede un token di accesso OAuth da un principale servizio con credenziali client, creato in anticipo da un amministratore dell'account nella console dell'account.

Per creare il gateway, invia una richiesta POST all'endpoint private-network-gateways sotto il tuo NCC. Il corpo della richiesta accetta i campi seguenti:

  • gateway_name (richiesto): Un nome leggibile dall'uomo per il portale.
  • azure_cloud_connection.gateway_subnet.resource_id(richiesto): L'ID completo della risorsa Azure della subnet che hai delegato nel passaggio precedente.
  • private_dns_resolvers (richiesto): L'indirizzo IP del resolver DNS all'interno del tuo VNet. Usa 168.63.129.16 per DNS fornito da Azure se non hai una zona DNS privata personalizzata.
  • traffic_mode (richiesto): SPECIFIC_DESTINATIONS oppure ALL_TRAFFIC. Vedi modalità traffico.
  • destinations (richiesto quando traffic_mode è SPECIFIC_DESTINATIONS): I nomi DNS da instradare attraverso il gateway.

Per creare un gateway in modalità SPECIFIC_DESTINATIONS, esegui quanto segue:

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" }
    ]
  }'

Il gateway viene creato nello stato CREATING. Passa a ESTABLISHED dopo che Azure Databricks ha distribuito correttamente il gateway nella subnet, operazione che in genere richiede da 2 a 5 minuti.

Conferma che il gateway sia stato creato

Per verificare lo stato del gateway, invia una richiesta GET finché state non è ESTABLISHED:

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>'

Conferma che state sia ESTABLISHED prima di continuare.

Collega il NCC ai tuoi spazi di lavoro

Se il tuo spazio di lavoro è già collegato al NCC, salta questo passaggio. Un NCC è un oggetto regionale e può essere collegato solo agli spazi di lavoro nella stessa regione.

Nella console dell'account, vai su Workspace, seleziona il workspace, clicca su Aggiorna Workspace e, sotto configurazione connettività di rete, seleziona il tuo NCC. Ripeti per ogni spazio di lavoro che dovrebbe usare il gateway.

Puoi anche collegare il NCC usando l'API REST dell'account:

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}" }'

Configurazione del DNS

Un gateway utilizza il resolver specificato in private_dns_resolvers per risolvere i nomi host delle destinazioni che configuri. Il resolver deve essere raggiungibile dalla sottorete del gateway.

Se le risorse private sono registrate in una zona DNS privata di Azure, collega tale zona alla rete virtuale (VNet) che contiene la subnet del gateway, in modo che i nomi host vengano risolti correttamente. Per risolvere FQDN pubblici, ad esempio per le risorse che escono attraverso il firewall, usa il resolver fornito da Azure a 168.63.129.16. Se hai zone DNS private con nomi sovrapposti, usa invece il tuo risolver.

Gestire un gateway

Puoi aggiornare, cancellare e elencare i gateway con l'account REST API.

Aggiornare un gateway

Puoi aggiornare gateway_name, destinations, private_dns_resolvers e traffic_mode direttamente tramite una richiesta PATCH. Il parametro update_mask di query è richiesto e specifica quali campi aggiornare. Quando passi da traffic_mode a ALL_TRAFFIC, cancella destinations nella stessa richiesta. Quando passi a SPECIFIC_DESTINATIONS, includi le destinazioni da instradare. Per cambiare la subnet del gateway, elimina il gateway e creane uno nuovo.

Per aggiornare le destinazioni e la modalità traffico, esegui quanto segue:

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" }'

Eliminare un gateway

Warning

Eliminare un gateway interrompe la connettività con le risorse private che ne dipendono. Conferma che nessun carico di lavoro attivo dipenda dal gateway prima di eliminarlo.

Per eliminare il gateway, invia una richiesta DELETE all'endpoint del gateway nel tuo 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>'

Gateway elenco

Per elencare i gateway di rete privati in un NCC, invia una GET richiesta all'endpoint gateway sotto il tuo 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>'

Stati del gateway

Un gateway riporta uno dei seguenti stati:

State Descrizione
CREATING Azure Databricks sta creando l'interfaccia di rete gateway nella tua subnet.
ESTABLISHED Il gateway è pronto a instradare il traffico.
DELETING Il portale viene rimosso.
FAILED Non è stato possibile configurare il gateway. Questo stato è terminale: elimina il gateway e creane uno nuovo dopo aver risolto la causa sottostante, come una regione non supportata o una Zona di Disponibilità.

Troubleshooting

Se un carico di lavoro non riesce a connettersi a un endpoint richiesto tramite il gateway, usa la seguente tabella per diagnosticare i problemi comuni.

Problema Cause Resolution
Il Gateway resta CREATING per più di 10 minuti La delega della subnet manca o è mal configurata, oppure non c'è abbastanza spazio IP Verifica che la subnet sia delegata a Microsoft.Databricks/workspaces e che sia almeno /28. Contatta il team del tuo account se il problema persiste.
La risoluzione DNS fallisce con SERVFAIL o NXDOMAIN Il risolver DNS privato non è raggiungibile dalla subnet del gateway, oppure la zona DNS privata non è collegata al VNet corretto Verifica che l'IP del resolver sia raggiungibile dalla subnet delegata e che la zona DNS privata sia collegata alla VNet che contiene la subnet del gateway.
La risoluzione DNS funziona ma la connessione va in timeout Le regole NSG bloccano il traffico sulla subnet gateway o sulla subnet di destinazione Controlla le regole NSG in entrata e in uscita sia sulla subnet gateway che sulla risorsa di destinazione, e verifica che la destinazione sia raggiungibile dallo stesso VNet.
Una connessione JDBC o database fallisce nonostante la risoluzione DNS Un firewall lato database o una policy di autenticazione blocca le connessioni dal gateway Verifica che il database consenta connessioni dall'intervallo IP della subnet del gateway e controlla il firewall del database e la configurazione del controllo accessi.
Il gateway è ESTABLISHED, ma il traffico continua a non fluire La destinazione DNS_NAME non viene aggiunta al gateway, oppure il gateway è collegato a un NCC che non è legato allo spazio di lavoro Controlla le destinazioni configurate sul gateway e conferma che l'NCC sia collegato allo spazio di lavoro di origine.
Il traffico verso un servizio gestito da Azure, come database SQL di Azure o Key Vault, non passa attraverso il gateway DNS_NAME corrisponde a un suffisso di un endpoint di servizio di Azure, quindi il traffico segue invece il percorso dell'endpoint di servizio Controlla DNS_NAME con la lista dei suffissi degli endpoint del servizio. Per le risorse solo private, aggiungi un DNS_NAME più specifico al gateway.
Il traffico viene interrotto anche se il FQDN è configurato sul gateway Una policy serverless egress gateway (SEG) nega la destinazione ed è valutata prima del gateway di rete privato Controlla le liste di permessi SEG per la sovrapposizione degli spazi di lavoro.