Architettura della connettività di SQL di AzureAzure SQL Connectivity Architecture

Questo articolo illustra non solo l'architettura della connettività del database SQL di Azure e di SQL Data Warehouse, ma anche il funzionamento dei diversi componenti per indirizzare il traffico a un'istanza di SQL di Azure.This article explains the Azure SQL Database and SQL Data Warehouse connectivity architecture as well as how the different components function to direct traffic to your instance of Azure SQL. La funzione dei componenti di connettività è indirizzare il traffico di rete verso il database SQL di Azure o SQL Data Warehouse con client che si connettono dall'interno di Azure e client che si connettono dall'esterno di Azure.These connectivity components function to direct network traffic to the Azure SQL Database or SQL Data Warehouse with clients connecting from within Azure and with clients connecting from outside of Azure. Questo articolo include anche alcuni esempi di script per modificare la modalità di connessione e propone alcune considerazioni sulla modifica delle impostazioni di connettività predefinite.This article also provides script samples to change how connectivity occurs, and the considerations related to changing the default connectivity settings.

Architettura della connettivitàConnectivity architecture

Il diagramma seguente offre una panoramica generale dell'architettura della connettività del database SQL di Azure.The following diagram provides a high-level overview of the Azure SQL Database connectivity architecture.

panoramica dell'architettura

I passaggi seguenti descrivono come viene stabilita una connessione a un database SQL di Azure:The following steps describe how a connection is established to an Azure SQL database:

  • I client si connettono al gateway, che ha un indirizzo IP pubblico ed è in ascolto sulla porta 1433.Clients connect to the gateway, that has a public IP address and listens on port 1433.
  • A seconda dei criteri di connessione effettivi, il gateway reindirizza o trasmette tramite proxy il traffico al cluster di database corretto.The gateway, depending on the effective connection policy, redirects or proxies the traffic to the right database cluster.
  • All'interno del cluster di database il traffico viene inoltrato al database SQL di Azure appropriato.Inside the database cluster traffic is forwarded to the appropriate Azure SQL database.

Criteri di connessioneConnection policy

Il database SQL di Azure supporta le tre opzioni seguenti per l'impostazione dei criteri di connessione di un server di database SQL.Azure SQL Database supports the following three options for the connection policy setting of a SQL Database server:

  • Redirect (scelta consigliata): i client stabiliscono connessioni dirette al nodo che ospita il database.Redirect (recommended): Clients establish connections directly to the node hosting the database. Per abilitare la connettività, i client devono consentire le regole del firewall in uscita a tutti gli indirizzi IP di Azure nell'area usando gruppi di sicurezza rete (NSG) con tag di servizio) per le porte 11000-11999, non solo l'indirizzo IP gateway di Database SQL di Azure indirizzi sulla porta 1433.To enable connectivity, the clients must allow outbound firewall rules to all Azure IP addresses in the region using Network Security Groups (NSG) with service tags) for ports 11000-11999, not just the Azure SQL Database gateway IP addresses on port 1433. I pacchetti vengono inviati direttamente al database e si verifica quindi un miglioramento di prestazioni in termini latenza e velocità effettiva.Because packets go directly to the database, latency and throughput have improved performance.
  • Proxy: in questa modalità, tutte le connessioni vengono trasmesse tramite proxy ai gateway del database SQL di Azure.Proxy: In this mode, all connections are proxied via the Azure SQL Database gateways. Per abilitare la connettività, il client deve avere regole del firewall in uscita che consentano solo gli indirizzi IP dei gateway del database SQL di Azure (in genere due indirizzi IP per ogni area).To enable connectivity, the client must have outbound firewall rules that allow only the Azure SQL Database gateway IP addresses (usually two IP addresses per region). Se si sceglie questa modalità, è possibile che si riscontri un aumento della latenza e una riduzione della velocità effettiva, a seconda della natura del carico di lavoro.Choosing this mode can result in higher latency and lower throughput, depending on nature of the workload. Se si preferisce la minor latenza e la maggiore velocità effettiva possibili, quindi, si consiglia di scegliere i criteri di connessione Redirect anziché Proxy.We highly recommend the Redirect connection policy over the Proxy connection policy for the lowest latency and highest throughput.
  • Default: i criteri di connessione applicati in tutti i server dopo la creazione, se non esplicitamente impostati su Proxy o Redirect.Default: This is the connection policy in effect on all servers after creation unless you explicitly alter the connection policy to either Proxy or Redirect. I criteri applicati dipendono dall'origine delle connessioni, ossia se provengono dall'interno di Azure (Redirect) o dall'esterno di Azure (Proxy).The effective policy depends on whether connections originate from within Azure (Redirect) or outside of Azure (Proxy).

Connettività dall'interno di AzureConnectivity from within Azure

Se ci si connette dall'interno di Azure, il criterio di connessione predefinito per le connessioni è Redirect.If you are connecting from within Azure your connections have a connection policy of Redirect by default. Un criterio Redirect significa che, dopo aver stabilito la sessione TCP al database SQL di Azure, la sessione client viene reindirizzata al cluster di database corretto sostituendo l'indirizzo IP virtuale di destinazione del gateway del database SQL di Azure con quello del cluster.A policy of Redirect means that after the TCP session is established to the Azure SQL database, the client session is then redirected to the right database cluster with a change to the destination virtual IP from that of the Azure SQL Database gateway to that of the cluster. Tutti i pacchetti successivi passano poi direttamente al cluster, ignorando il gateway del database SQL di Azure.Thereafter, all subsequent packets flow directly to the cluster, bypassing the Azure SQL Database gateway. Il diagramma seguente illustra il flusso del traffico.The following diagram illustrates this traffic flow.

panoramica dell'architettura

Connettività dall'esterno di AzureConnectivity from outside of Azure

Se ci si connette dall'esterno di Azure, le connessioni usano un criterio di connessione Proxy per impostazione predefinita.If you are connecting from outside Azure, your connections have a connection policy of Proxy by default. Il criterio Proxy significa che la sessione TCP viene stabilita tramite il gateway del database SQL di Azure e che tutti i pacchetti successivi passano attraverso il gateway.A policy of Proxy means that the TCP session is established via the Azure SQL Database gateway and all subsequent packets flow via the gateway. Il diagramma seguente illustra il flusso del traffico.The following diagram illustrates this traffic flow.

panoramica dell'architettura

Indirizzi IP del gateway del database SQL di AzureAzure SQL Database gateway IP addresses

La tabella seguente elenca gli indirizzi IP del gateway dall'area.The table below lists the IP Addresses of Gateways by region. Per connettersi a un Database SQL di Azure, è necessario consentire il traffico di rete a & dal tutti gateway per l'area.To connect to an Azure SQL Database, you need to allow network traffic to & from all Gateways for the region.

In futuro verrà aggiunta più gateway in ogni area e ritirare i gateway nella colonna indirizzo IP del Gateway messo fuori servizio della tabella sottostante.Going forward, we'll add more Gateways in each region and retire the Gateways in the Decommissioned Gateway IP address column of the table below. Altre informazioni sulla disabilitazione di processo fornito nell'articolo seguente: Migrazione ad Azure SQL Database il traffico al gateway più recenteMore details about decommissioning process given in the following article: Azure SQL Database traffic migration to newer Gateways

Nome areaRegion Name Indirizzo IP del gatewayGateway IP address Gateway necessario rimuovere le autorizzazioniDecommissioned Gateway
Indirizzo IPIP address
Note sulla rimozione delle autorizzazioniNotes on Decommission
Australia orientaleAustralia East 13.75.149.87, 40.79.161.113.75.149.87, 40.79.161.1
Australia sud-orientaleAustralia South East 191.239.192.109, 13.73.109.251191.239.192.109, 13.73.109.251
Brasile meridionaleBrazil South 104.41.11.5104.41.11.5
Canada centraleCanada Central 40.85.224.24940.85.224.249
Canada orientaleCanada East 40.86.226.16640.86.226.166
Stati Uniti centraliCentral US 13.67.215.62, 52.182.137.1513.67.215.62, 52.182.137.15 23.99.160.13923.99.160.139 Nessuna connessione dopo il 1 settembre 2019No connections after September 1, 2019
Cina orientale 1China East 1 139.219.130.35139.219.130.35
Cina orientale 2China East 2 40.73.82.140.73.82.1
Cina settentrionale 1China North 1 139.219.15.17139.219.15.17
Cina settentrionale 2China North 2 40.73.50.040.73.50.0
Asia orientaleEast Asia 191.234.2.139, 52.175.33.150191.234.2.139, 52.175.33.150
Stati Uniti orientali 1East US 1 40.121.158.30, 40.79.153.1240.121.158.30, 40.79.153.12 191.238.6.43191.238.6.43 Nessuna connessione dopo il 1 settembre 2019No connections after September 1, 2019
Stati Uniti orientali 2East US 2 40.79.84.180, 52.177.185.181, 52.167.104.040.79.84.180, 52.177.185.181, 52.167.104.0 191.239.224.107191.239.224.107 Nessuna connessione dopo il 1 settembre 2019No connections after September 1, 2019
Francia centraleFrance Central 40.79.137.0, 40.79.129.140.79.137.0, 40.79.129.1
Germania centraleGermany Central 51.4.144.10051.4.144.100
Germania nord-orientaleGermany North East 51.5.144.17951.5.144.179
India centraleIndia Central 104.211.96.159104.211.96.159
India meridionaleIndia South 104.211.224.146104.211.224.146
India occidentaleIndia West 104.211.160.80104.211.160.80
Giappone orientaleJapan East 13.78.61.196, 40.79.184.8, 13.78.106.22413.78.61.196, 40.79.184.8, 13.78.106.224 191.237.240.43191.237.240.43 Nessuna connessione dopo il 1 settembre 2019No connections after September 1, 2019
Giappone occidentaleJapan West 104.214.148.156, 40.74.100.192104.214.148.156, 40.74.100.192 191.238.68.11191.238.68.11 Nessuna connessione dopo il 1 settembre 2019No connections after September 1, 2019
Corea del Sud centraleKorea Central 52.231.32.4252.231.32.42
Corea del Sud meridionaleKorea South 52.231.200.8652.231.200.86
Stati Uniti centro-settentrionaliNorth Central US 23.96.178.19923.96.178.199 23.98.55.7523.98.55.75 Nessuna connessione dopo il 1 settembre 2019No connections after September 1, 2019
Europa settentrionaleNorth Europe 40.113.93.9140.113.93.91 191.235.193.75191.235.193.75 Nessuna connessione dopo il 1 settembre 2019No connections after September 1, 2019
Stati Uniti centro-meridionaliSouth Central US 13.66.62.12413.66.62.124 23.98.162.7523.98.162.75 Nessuna connessione dopo il 1 settembre 2019No connections after September 1, 2019
Asia sudorientaleSouth East Asia 104.43.15.0104.43.15.0 23.100.117.9523.100.117.95 Nessuna connessione dopo il 1 settembre 2019No connections after September 1, 2019
Regno Unito meridionaleUK South 51.140.184.1151.140.184.11
Regno Unito occidentaleUK West 51.141.8.1151.141.8.11
Stati Uniti centro-occidentaliWest Central US 13.78.145.2513.78.145.25
Europa occidentaleWest Europe 191.237.232.75, 40.68.37.158191.237.232.75, 40.68.37.158
Stati Uniti occidentali 1West US 1 23.99.34.75, 104.42.238.20523.99.34.75, 104.42.238.205
Stati Uniti occidentali 2West US 2 13.66.226.20213.66.226.202

Modificare il criterio di connessione del database SQL di AzureChange Azure SQL Database connection policy

Per modificare il criterio di connessione del database SQL di Azure per un server di database SQL di Azure, usare il comando conn-policy.To change the Azure SQL Database connection policy for an Azure SQL Database server, use the conn-policy command.

  • Se il criterio di connessione è impostato su Proxy, tutti i pacchetti di rete passano attraverso il gateway del database SQL di Azure.If your connection policy is set to Proxy, all network packets flow via the Azure SQL Database gateway. Per questa impostazione, è necessario consentire il traffico in uscita solo per l'indirizzo IP del gateway del database SQL di Azure.For this setting, you need to allow outbound to only the Azure SQL Database gateway IP. L'uso dell'impostazione Proxy ha una latenza maggiore rispetto all'impostazione Redirect.Using a setting of Proxy has more latency than a setting of Redirect.
  • Se il criterio di connessione è impostato su Redirect, tutti i pacchetti di rete passano direttamente al cluster di database.If your connection policy is setting Redirect, all network packets flow directly to the database cluster. Per questa impostazione, è necessario consentire il traffico in uscita verso più IP.For this setting, you need to allow outbound to multiple IPs.

Script per modificare le impostazioni di connessione tramite PowerShellScript to change connection settings via PowerShell

Nota

Questo articolo è stato aggiornato per usare il nuovo modulo Az di Azure PowerShell.This article has been updated to use the new Azure PowerShell Az module. È comunque possibile usare il modulo AzureRM, che continuerà a ricevere correzioni di bug almeno fino a dicembre 2020.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Per altre informazioni sul nuovo modulo Az e sulla compatibilità di AzureRM, vedere Introduzione del nuovo modulo Az di Azure PowerShell.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Per istruzioni sull'installazione del modulo Az, vedere Installare Azure PowerShell.For Az module installation instructions, see Install Azure PowerShell.

Importante

Il modulo Azure PowerShell per Resource Manager è ancora supportato dal Database SQL di Azure, ma i progetti di sviluppo future è per il modulo Az.Sql.The PowerShell Azure Resource Manager module is still supported by Azure SQL Database, but all future development is for the Az.Sql module. Per questi cmdlet, vedere azurerm. SQL.For these cmdlets, see AzureRM.Sql. Gli argomenti per i comandi nel modulo Az e nei moduli AzureRm sono sostanzialmente identici.The arguments for the commands in the Az module and in the AzureRm modules are substantially identical. Lo script seguente richiede la modulo di Azure PowerShell.The following script requires the Azure PowerShell module.

Lo script di PowerShell seguente mostra come modificare il criterio di connessione.The following PowerShell script shows how to change the connection policy.

# Get SQL Server ID
$sqlserverid=(Get-AzSqlServer -ServerName sql-server-name -ResourceGroupName sql-server-group).ResourceId

# Set URI
$id="$sqlserverid/connectionPolicies/Default"

# Get current connection policy
(Get-AzResource -ResourceId $id).Properties.connectionType

# Update connection policy
Set-AzResource -ResourceId $id -Properties @{"connectionType" = "Proxy"} -f

Script per modificare le impostazioni di connessione tramite l'interfaccia della riga di comando di AzureScript to change connection settings via Azure CLI

Importante

Per questo script è necessaria l'interfaccia della riga di comando di Azure.This script requires the Azure CLI.

Comando di Azure in una shell bashAzure CLI in a bash shell

Importante

Per questo script è necessaria l'interfaccia della riga di comando di Azure.This script requires the Azure CLI.

Lo script dell'interfaccia della riga seguente viene illustrato come modificare i criteri di connessione in una shell bash.The following CLI script shows how to change the connection policy in a bash shell.

# Get SQL Server ID
sqlserverid=$(az sql server show -n sql-server-name -g sql-server-group --query 'id' -o tsv)

# Set URI
ids="$sqlserverid/connectionPolicies/Default"

# Get current connection policy
az resource show --ids $ids

# Update connection policy
az resource update --ids $ids --set properties.connectionType=Proxy

Comando di Azure da un prompt dei comandi di WindowsAzure CLI from a Windows command prompt

Importante

Per questo script è necessaria l'interfaccia della riga di comando di Azure.This script requires the Azure CLI.

Lo script dell'interfaccia della riga seguente viene illustrato come modificare il criterio di connessione da un prompt dei comandi di Windows (con Azure CLI installata).The following CLI script shows how to change the connection policy from a Windows command prompt (with Azure CLI installed).

# Get SQL Server ID and set URI
FOR /F "tokens=*" %g IN ('az sql server show --resource-group myResourceGroup-571418053 --name server-538465606 --query "id" -o tsv') do (SET sqlserverid=%g/connectionPolicies/Default)

# Get current connection policy
az resource show --ids %sqlserverid%

# Update connection policy
az resource update --ids %sqlserverid% --set properties.connectionType=Proxy

Passaggi successiviNext steps