Esercitazione: Come accedere a SQL Server locale dalla rete virtuale gestita da Data Factory tramite endpoint privato
Questa esercitazione illustra i passaggi per l'uso della portale di Azure per configurare collegamento privato Servizio e accedere a SQL Server locale da una rete virtuale gestita usando un endpoint privato. L'uso di una rete virtuale gestita garantisce che il traffico da e verso l'origine SQL locale passerà attraverso il proprio endpoint privato, garantendo così l'esposizione al cloud pubblico con un livello aggiuntivo di sicurezza e isolamento. Le risorse necessarie indicate di seguito sono necessarie per supportare lo scenario.
Nota
La soluzione presentata in questo articolo descrive la connettività di SQL Server, ma è possibile usare un approccio simile per connettersi ed eseguire query su altri connettori locali disponibili supportati in Azure Data Factory.
Prerequisiti
- Sottoscrizione di Azure. Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
- Rete virtuale. Se non si dispone di un Rete virtuale, crearne uno seguendo Crea Rete virtuale.
- Da rete virtuale a rete locale. Creare una connessione tra rete virtuale e rete locale usando ExpressRoute o VPN. Se si preferisce usare una macchina virtuale cloud in una rete privata, è possibile farlo anche. È sufficiente creare una rete virtuale per le macchine virtuali cloud e un collegamento privato alla rete virtuale e accedervi come se fossero macchine locali nella rete privata anche se sono ospitate nel cloud.
- Data Factory con rete virtuale gestita abilitata. Se non si dispone di una data factory o di una rete virtuale gestita non è abilitata, crearne una seguendo Create Data Factory with Managed VNet (Crea data factory con rete virtuale gestita).
Creare subnet per le risorse
Usare il portale per creare subnet nella rete virtuale.
Subnet | Descrizione |
---|---|
be-subnet | subnet per i server back-end |
fe-subnet | subnet per il servizio di bilanciamento del carico interno standard |
pls-subnet | subnet per il servizio collegamento privato |
Creare un'istanza di Load Balancer Standard
Usare il portale per creare un servizio Load Balancer Standard interno.
Sul lato superiore sinistro della schermata selezionare Crea una risorsa Bilanciamento > del carico di rete>.
Nella scheda Informazioni di base della pagina Crea servizio di bilanciamento del carico immettere o selezionare le informazioni seguenti:
Impostazione Valore Subscription Selezionare la propria sottoscrizione. Resource group Selezionare il gruppo di risorse. Nome Immettere myLoadBalancer. Paese Selezionare Stati Uniti orientali. Type Selezionare Interno. SKU Selezionare Standard. Rete virtuale Selezionare la rete virtuale. Subnet Selezionare fe-subnet creata nel passaggio precedente. Assegnazione indirizzi IP Selezionare Dinamico. Zona di disponibilità Selezionare Con ridondanza della zona. Accettare i valori predefiniti per le impostazioni rimanenti e quindi selezionare Rivedi e crea.
Nella scheda Rivedi e crea selezionare Crea.
Creare risorse di bilanciamento del carico
Creare un pool back-end
Un pool di indirizzi back-end contiene gli indirizzi IP delle schede di interfaccia di rete virtuale connesse al bilanciamento del carico.
Creare il pool di indirizzi back-end myBackendPool per includere le macchine virtuali per il bilanciamento del carico del traffico Internet.
- Selezionare Tutti i servizi nel menu a sinistra, quindi Tutte le risorse e infine selezionare myLoadBalancer nell'elenco di risorse.
- In Impostazioni selezionare Pool back-end e quindi selezionare Aggiungi.
- Nella pagina Aggiungi pool back-end digitare myBackEndPool come nome per il pool back-end e quindi selezionare Aggiungi.
Creare un probe di integrità
Il servizio di bilanciamento del carico monitora lo stato dell'app con un probe di integrità.
Il probe di integrità aggiunge o rimuove le macchine virtuali nel servizio di bilanciamento del carico in base alla rispettiva risposta ai controlli di integrità.
Creare un probe di integrità denominato myHealthProbe per monitorare l'integrità delle macchine virtuali.
Selezionare Tutti i servizi nel menu a sinistra, quindi Tutte le risorse e infine selezionare myLoadBalancer nell'elenco di risorse.
In Impostazioni selezionare Probe integrità e quindi selezionare Aggiungi.
Impostazione valore Nome Immettere myHealthProbe. Protocollo Selezionare TCP. Port Immettere 22. Intervallo Immettere 15 in Intervallo come numero di secondi tra i tentativi del probe. Soglia non integra Selezionare 2 per Soglia di non integrità come numero di errori di probe consecutivi che devono verificarsi prima che una macchina virtuale venga considerata non integra. Lasciare le impostazioni predefinite rimanenti e selezionare OK.
Creare una regola di bilanciamento del carico
Una regola di bilanciamento del carico consente di definire come il traffico verrà distribuito alle VM. È possibile definire la configurazione IP front-end per il traffico in ingresso e il pool IP back-end che riceve il traffico. La porta di origine e quella di destinazione vengono definite nella regola.
In questa sezione verrà creata una regola di bilanciamento del carico:
Selezionare Tutti i servizi nel menu a sinistra, quindi Tutte le risorse e infine selezionare myLoadBalancer nell'elenco di risorse.
In Impostazioni selezionare Regole di bilanciamento del carico e quindi selezionare Aggiungi.
Usare questi valori per configurare la regola di bilanciamento del carico:
Impostazione valore Nome Immettere myRule. Versione IP Selezionare IPv4. Indirizzo IP front-end Selezionare LoadBalancerFrontEnd. Protocollo Selezionare TCP. Port Immettere 1433. Porta back-end Immettere 1433. Pool back-end Selezionare myBackendPool. Probe di integrità Selezionare myHealthProbe. Timeout di inattività (minuti) Spostare il dispositivo di scorrimento su 15 minuti. Reimpostazione TCP selezionare Disabilitato. Accettare tutte le impostazioni predefinite e quindi selezionare OK.
Creare un servizio Collegamento privato
In questa sezione verrà creato un servizio Collegamento privato dietro un'istanza di Load Balancer Standard.
Nell'angolo in alto a sinistra della pagina nel portale di Azure selezionare Crea una risorsa.
Cercare Collegamento privato nella casella Cerca nel Marketplace.
Seleziona Crea.
In Panoramica, nella pagina Centro collegamento privato, selezionare il pulsante blu Crea servizio Collegamento privato.
Nella scheda Informazioni di base della pagina Crea servizio Collegamento privato immettere o selezionare le informazioni seguenti:
Impostazione Valore Dettagli di progetto Subscription Selezionare la propria sottoscrizione. Gruppo di risorse Selezionare il gruppo di risorse. Dettagli istanza Nome Immettere myPrivateLinkService. Paese Selezionare Stati Uniti orientali. Selezionare la scheda Impostazioni in uscita o selezionare Avanti: Impostazioni in uscita nella parte inferiore della pagina.
Nella scheda Informazioni traffico in uscita immettere o selezionare le informazioni seguenti:
Impostazione Valore Bilanciamento del carico Selezionare myLoadBalancer. Indirizzo IP front-end del servizio di bilanciamento del carico Selezionare LoadBalancerFrontEnd. Subnet NAT di origine Selezionare pls-subnet. Abilita proxy TCP V2 Lasciare l'impostazione predefinita No. Impostazioni dell'indirizzo IP privato Lasciare le impostazioni predefinite. Selezionare la scheda Sicurezza di accesso o selezionare Avanti: Sicurezza di accesso nella parte inferiore della pagina.
Nella scheda Sicurezza di accesso lasciare l'impostazione predefinita Solo controllo degli accessi in base al ruolo.
Selezionare la scheda Tag o selezionare Avanti: Tag nella parte inferiore della pagina.
Selezionare la scheda Rivedi e crea oppure selezionare Avanti: Rivedi e crea nella parte inferiore della pagina.
Nella scheda Rivedi e crea selezionare Crea.
Creare i server back-end
Nell'angolo in alto a sinistra del portale selezionare Crea una macchina virtuale di calcolo > delle risorse>.
In Crea macchina virtuale digitare o selezionare i valori nella scheda Nozioni di base:
Impostazione Valore Dettagli di progetto Abbonamento Seleziona la tua sottoscrizione di Azure. Gruppo di risorse Selezionare il gruppo di risorse. Dettagli istanza Virtual machine name Immettere myVM1. Paese Selezionare Stati Uniti orientali. Opzioni di disponibilità Selezionare Zone di disponibilità. Zona di disponibilità Selezionare 1. Immagine Selezionare Ubuntu Server 22.04 LTS. Istanza Spot di Azure Selezionare No. Dimensione Scegliere le dimensioni della macchina virtuale o usare l'impostazione predefinita. Account amministratore Username Immettere un nome utente. Origine chiave pubblica SSH Generare una nuova coppia di chiavi. Nome della coppia di chiavi mySSHKey. Regole porta in ingresso Porte in ingresso pubbliche None Selezionare la scheda Rete oppure selezionare Avanti: Dischi e quindi Avanti: Rete.
Nella scheda Rete, selezionare o immettere:
Impostazione Valore Interfaccia di rete Rete virtuale Selezionare la rete virtuale. Subnet be-subnet. IP pubblico Selezionare Nessuno. Gruppo di sicurezza di rete della scheda di interfaccia di rete Selezionare Nessuno. Bilanciamento del carico Associare questa macchina virtuale a una soluzione di bilanciamento del carico esistente? Selezionare Sì. Impostazioni di bilanciamento del carico Opzioni di bilanciamento del carico Selezionare Bilanciamento del carico di Azure. Selezionare un servizio di bilanciamento del carico Selezionare myLoadBalancer. Selezionare un pool back-end Selezionare myBackendPool. Selezionare Rivedi e crea.
Rivedere le impostazioni e quindi selezionare Crea.
È possibile ripetere il passaggio da 1 a 6 per avere più di 1 macchina virtuale del server back-end per la disponibilità elevata.
Creazione di una regola di inoltro all'endpoint
Accedere e copiare gli script ip_fwd.sh nelle macchine virtuali del server back-end.
Eseguire lo script con le opzioni seguenti:
sudo ./ip_fwd.sh -i eth0 -f 1433 -a <FQDN/IP> -b 1433
Impostare il segnaposto
<FQDN/IP>
è l'indirizzo IP di SQL Server di destinazione.Nota
FQDN non funziona per SQL Server locale, a meno che non si aggiunga un record nella zona DNS di Azure.
Eseguire il comando seguente e controllare le tabelle iptable nelle macchine virtuali del server back-end. È possibile visualizzare un record nelle tabelle iptable con l'indirizzo IP di destinazione.
sudo iptables -t nat -v -L PREROUTING -n --line-number**
Nota
Se sono presenti più origini dati o SQL Server, è necessario definire più regole di bilanciamento del carico e record di tabella IP con porte diverse. In caso contrario, ci sarà qualche conflitto. ad esempio:
Porta nella regola di bilanciamento del carico Porta back-end nella regola di bilanciamento del carico Comando eseguito nella macchina virtuale del server back-end SQL Server 1 1433 1433 sudo ./ip_fwd.sh -i eth0 -f 1433 -a <FQDN/IP> -b 1433 SQL Server 2 1434 1434 sudo ./ip_fwd.sh -i eth0 -f 1434 -a <FQDN/IP> -b 1433 Nota
È importante tenere presente che la configurazione all'interno della macchina virtuale non è permanente. Ciò significa che ogni volta che la macchina virtuale viene riavviata, sarà necessaria una riconfigurazione.
Creare un endpoint privato per collegamento privato servizio
Selezionare Tutti i servizi nel menu a sinistra, selezionare Tutte le risorse e quindi selezionare la data factory nell'elenco delle risorse.
Selezionare Crea e monitora per avviare l'interfaccia utente di Data Factory in una scheda separata.
Passare alla scheda Gestisci e quindi passare alla sezione Endpoint privati gestiti .
Selezionare + Nuovo in Managed private endpoints (Endpoint privati gestiti).
Selezionare il riquadro collegamento privato Servizio dall'elenco e selezionare Continua.
Immettere il nome dell'endpoint privato e selezionare myPrivateLinkService nell'elenco dei servizi di collegamento privato.
Aggiungere l'oggetto
<FQDN>
di SQL Server locale di destinazione.Nota
Quando si distribuisce SQL Server in una macchina virtuale all'interno di una rete virtuale, è essenziale migliorare il nome di dominio completo aggiungendo privatelink. In caso contrario, verrà in conflitto con altri record nell'impostazione DNS. Ad esempio, è possibile modificare semplicemente il nome di dominio completo di SQL Server da sqlserver.westus.cloudapp.azure.net a sqlserver.privatelink.westus.cloudapp.azure.net.
Nota
Attualmente ApplicationIntent e MultiSubnetFailover non sono supportati nelle proprietà di connessione SQL.
Creare un endpoint privato.
Creare un servizio collegato e testare la connessione
Passare alla scheda Gestisci e quindi passare alla sezione Servizi collegati.
Selezionare + Nuovo in Servizio collegato.
Selezionare il riquadro di SQL Server dall'elenco e selezionare Continua.
Abilitare la creazione interattiva.
Immettere il nome di dominio completo dell'istanza locale di SQL Server, il nome utente e la password.
Fare quindi clic su Test connessione.
Nota
Se si dispone di più di un'istanza di SQL Server ed è necessario definire più regole di bilanciamento del carico e record di tabella IP con porte diverse, assicurarsi di aggiungere in modo esplicito il nome della porta dopo il nome di dominio completo quando si modifica il servizio collegato. La macchina virtuale NAT gestirà la conversione delle porte. Se non è specificato in modo esplicito, la connessione verrà sempre timeout.
Risoluzione dei problemi
Passare alla macchina virtuale del server back-end, verificare che telnet funzioni: telnet< FQDN> 1433.
Contenuto correlato
Passare all'esercitazione seguente per informazioni sull'accesso a Microsoft Istanza gestita di SQL di Azure dalla rete virtuale gestita di Data Factory usando l'endpoint privato: