Ottimizzare l'amministrazione delle istanze di SQL Server in ambienti locali e multi-cloud usando Azure Arc

Azure
Azure Arc
Servizio Azure Kubernetes
Azure Resource Manager
Istanza gestita di SQL di Azure

Questa architettura di riferimento illustra come usare Azure Arc per la gestione, la manutenzione e il monitoraggio delle istanze di SQL Server in ambienti locali e multicloud.

Architettura

Diagram illustrating different scenarios that leverage Azure Arc to optimize administration of SQL Server instances residing on-premises or hosted by third-party cloud providers. The first group of scenarios consists of SQL Server instances running on physical servers or virtual machines. The second group of scenarios comprises on-premises, third-party cloud hosted Kubernetes clusters, or Azure Kubernetes Service clusters running on Azure Stack HCI, with Azure Arc data controller serving as an intermediary management layer. All of these scenarios offer integration with a range of Azure services, such as Azure Monitor and Log Analytics, Azure Policy, Microsoft Defender for Cloud, and Microsoft Sentinel.

Scaricare un file di Visio di questa architettura.

Componenti

L'architettura è costituita dai componenti e dalle funzionalità seguenti:

  • SQL Server. Questa piattaforma dati offre un'ampia gamma di linguaggi di sviluppo, tipi di dati, ambienti locali o cloud e sistemi operativi.
  • Azure Arc. Questo servizio basato sul cloud estende il modello di gestione basato su Azure Resource Manager a risorse non di Azure, incluse macchine virtuali (VM), cluster Kubernetes e database in contenitori.
  • Server con abilitazione di Azure Arc. Questo servizio ibrido consente di gestire i computer Windows e Linux, ospitati all'esterno di Azure, nella rete aziendale o in un altro provider di servizi cloud. Questo è simile al modo in cui si gestiscono macchine virtuali native di Azure.
  • SQL Server abilitato per Azure Arc. Questa parte dei server con abilitazione di Azure Arc estende i servizi di Azure alle istanze di SQL Server ospitate all'esterno di Azure nel data center del cliente, sul perimetro o in un ambiente multicloud.
  • Kubernetes. Si tratta di una piattaforma open source portabile ed estendibile per la gestione e l'orchestrazione di carichi di lavoro in contenitori.
  • Servizio Azure Kubernetes. Si tratta di un servizio che semplifica la distribuzione di un cluster Kubernetes gestito in Azure.
  • Azure Stack HCI (20H2). Si tratta di una soluzione cluster HCI (Hyperconverged Infrastructure) che ospita carichi di lavoro del sistema operativo Windows e Linux virtualizzati e delle relative risorse di archiviazione in un ambiente locale ibrido. Un cluster è costituito da due a 16 nodi fisici.
  • servizio Azure Kubernetes in Azure Stack HCI. Si tratta di un'implementazione del servizio Azure Kubernetes, che automatizza l'esecuzione di applicazioni in contenitori su larga scala in Azure Stack HCI.
  • Kubernetes abilitato per Azure Arc. Questo servizio ibrido consente di semplificare la distribuzione e la gestione dei cluster Kubernetes all'interno o all'esterno di Azure.
  • Servizi dati con abilitazione di Azure Arc. Questo servizio ibrido consente di eseguire i servizi dati di Azure in locale, nella rete perimetrale e nei cloud pubblici usando Kubernetes e l'infrastruttura preferita.
  • Istanza gestita di SQL di Azure. Questo servizio di database cloud intelligente e scalabile combina la più ampia compatibilità del motore di database di SQL Server con tutti i vantaggi di una piattaforma distribuita come servizio completamente gestita e sempreverdi.
  • Istanza gestita di SQL con abilitazione di Azure Arc. Questo servizio dati SQL di Azure può essere creato nella scelta dell'infrastruttura che ospita i servizi dati abilitati per Azure Arc.
  • Azure Resource Manager. Azure Resource Manager è il servizio di distribuzione e gestione di Azure. Fornisce un livello di gestione che consente di creare, aggiornate ed eliminare risorse nell'account Azure. Si usano funzionalità di gestione, ad esempio il controllo di accesso, i blocchi e i tag per proteggere e organizzare le risorse dopo la distribuzione.
  • Monitoraggio di Azure. Questo servizio basato sul cloud ottimizza la disponibilità e le prestazioni delle applicazioni e dei servizi offrendo una soluzione completa per la raccolta, l'analisi e l'esecuzione dei dati di telemetria da posizioni di Azure e non Azure.
  • Log Analytics. Questo è lo strumento principale nella portale di Azure per la scrittura di query di log e l'analisi interattiva dei risultati.
  • Microsoft Sentinel. Si tratta di una soluzione SIEM (Security Information Event Management) scalabile, nativa del cloud e soAR (Security Orchestration Automated Response).
  • Microsoft Defender per il cloud. Questo sistema unificato di gestione della sicurezza dell'infrastruttura rafforza il comportamento di sicurezza dei data center e fornisce protezione avanzata dalle minacce nei carichi di lavoro ibridi.
  • Backup di Azure. Il servizio Backup di Azure offre soluzioni semplici, sicure ed economicamente convenienti per eseguire il backup dei dati e ripristinarli dal cloud di Microsoft Azure.

Dettagli dello scenario

Tra gli usi tipici di questa architettura sono inclusi:

  • Valutazione della configurazione, della disponibilità, delle prestazioni e della conformità di SQL Server con abilitazione di Azure Arc tramite Monitoraggio di Azure.
  • Rilevamento e correzione delle minacce alla sicurezza destinate a SQL Server con abilitazione di Azure Arc tramite Microsoft Defender per il cloud e Microsoft Sentinel.
  • Automazione della distribuzione e della gestione delle Istanza gestita di SQL abilitate per Azure Arc in Kubernetes abilitato per Azure Arc in ambienti locali e multicloud.
  • Automazione della distribuzione e della gestione delle Istanza gestita di SQL abilitate per Azure Arc in servizio Azure Kubernetes (AKS) in Azure Stack HCI.

Consigli

Le raccomandazioni seguenti sono valide per la maggior parte degli scenari. Seguire queste indicazioni, a meno che non si disponga di un requisito specifico che le escluda.

Valutare, monitorare e ottimizzare le prestazioni, la disponibilità, la conformità e la sicurezza delle istanze di SQL Server abilitate per Azure Arc usando i servizi di Azure

Senza un modello operativo e di gestione unificato coerente, l'amministrazione di singole istanze di SQL Server potrebbe comportare costi generali significativi. Senza un set appropriato di strumenti, sono necessarie competenze avanzate e sforzi continui per identificare e mantenere la configurazione di SQL Server ad alte prestazioni, resilienti e sicure. È particolarmente importante risolvere queste sfide man mano che il panorama tecnologico aziendale si evolve e diventa sempre più complesso, con più istanze di SQL Server in esecuzione su hardware diverso in data center locali, più cloud pubblici e privati e perimetrali.

È possibile usare istanze di SQL Server abilitate per Azure Arc, ospitate in macchine virtuali e fisiche che si trovano all'esterno di Azure, che eseguono un sistema operativo Windows o Linux con un agente del computer installato in locale Connessione ed. L'agente viene installato automaticamente quando si registra l'istanza di SQL Server con Azure. Azure Arc usa l'agente per stabilire una connessione logica tra la risorsa non di Azure e Azure. Dopo aver stabilito questa connessione, una risorsa non di Azure diventa automaticamente una risorsa ibrida di Azure, con la propria identità e un ID risorsa di Azure Resource Manager. Azure Resource Manager è l'interfaccia di gestione che consente di creare, modificare ed eliminare le risorse di Azure. Dopo aver abilitato Arc una risorsa non di Azure, è possibile usare Azure Resource Manager per facilitare l'implementazione di altri servizi di Azure che migliorano la gestibilità delle istanze di SQL Server.

Nota

L'installazione dell'agente machine Connessione ed di Azure fa parte anche dell'implementazione dei server con abilitazione di Azure Arc. In effetti, non è necessario installare quando si implementa SQL Server con abilitazione di Azure Arc nei server con abilitazione di Azure Arc.

Dopo aver soddisfatto tutti i prerequisiti per SQL Server con abilitazione di Azure Arc, inclusa l'installazione dell'agente di Log Analytics, sarà possibile usare automaticamente le funzionalità di Azure seguenti:

  • Valutazione SQL su richiesta di SQL Server con abilitazione di Azure Arc. La valutazione si basa sull'agente di Log Analytics per raccogliere i dati pertinenti e caricarli nell'area di lavoro Log Analytics designata. Con i log caricati nell'area di lavoro, la soluzione Sql Server Assessment Log Analytics gestisce l'analisi dei dati e consente di esaminarne i risultati direttamente nel portale di Azure. Quando applicabile, la soluzione fornisce anche raccomandazioni relative ai potenziali miglioramenti. I risultati dell'analisi sono organizzati in quattro categorie: qualità della valutazione, sicurezza e conformità, disponibilità e continuità e prestazioni e scalabilità. L'agente di Log Analytics analizza gli aggiornamenti a intervalli regolari e li carica automaticamente nell'area di lavoro Log Analytics per assicurarsi che i risultati da esaminare siano aggiornati.

Nota

L'agente di Log Analytics viene comunemente definito Microsoft Monitoring Agent (MMA).

  • Sicurezza dei dati avanzata per SQL Server con abilitazione di Azure Arc. Questa funzionalità consente di rilevare e correggere le anomalie di sicurezza e le minacce alle istanze di SQL Server abilitate per Azure Arc. Analogamente alla valutazione SQL su richiesta, per abilitare SQL Server con abilitazione di Azure Arc, è necessario installare l'agente di Log Analytics nel server che ospita l'istanza di SQL Server. È anche necessario abilitare la funzionalità Microsoft Defender per il cloud di Microsoft Defender per il cloud per definire automaticamente l'ambito della raccolta dati e analizzarlo. È possibile esaminare i risultati di questa analisi nel Microsoft Defender per il cloud e, dopo aver eseguito l'onboarding di Microsoft Sentinel, usarlo per analizzare ulteriormente gli avvisi di sicurezza direttamente nel portale di Azure.

Automatizzare la distribuzione e la gestione delle Istanza gestita di SQL abilitate per Azure Arc in ambienti locali e multicloud

L'abilitazione di Azure Arc Istanza gestita di SQL diventa una distribuzione in contenitori in esecuzione sui servizi dati con abilitazione di Azure Arc. Per ospitare la distribuzione, è possibile usare le opzioni seguenti:

  • Servizi dati abilitati per Azure Arc in un cluster Kubernetes abilitato per Azure Arc. Kubernetes abilitato per Azure Arc supporta un'ampia gamma di distribuzioni Kubernetes ospitate in ambienti cloud o locali in server virtuali o fisici.
  • Servizi dati abilitati per Azure Arc in un cluster del servizio Azure Kubernetes ospitato in un cluster Azure Stack HCI fisico locale.

Entrambe le opzioni supportano funzionalità equivalenti correlate a SQL Server perché queste funzionalità si basano sul livello dei servizi dati con abilitazione di Azure Arc. Tuttavia, quando si usa Azure Stack HCI, è necessario implementare il servizio Azure Kubernetes perché semplifica l'implementazione e la gestione dell'infrastruttura Kubernetes e dei relativi carichi di lavoro.

Il Istanza gestita di SQL abilitato per Azure Arc offre quasi il 100% di compatibilità con il motore di database di SQL Server più recente. Ciò semplifica le migrazioni in modalità lift-and-shift ai servizi dati abilitati per Azure Arc con modifiche minime di applicazioni e database.

Azure Arc abilitato Istanza gestita di SQL si basa sul controller dati di Azure Arc per stabilire e gestire una connessione logica al piano di controllo di Azure Resource Manager. Il controller di dati diventa un gruppo di pod in esecuzione all'interno del cluster Kubernetes o del servizio Azure Kubernetes locale. I pod orchestrano Istanza gestita di SQL attività operative e di gestione, ad esempio il provisioning e il deprovisioning, il failover automatico, gli aggiornamenti, il ridimensionamento, il backup e il ripristino e il monitoraggio.

Quando si pianificano i servizi dati abilitati per Azure Arc, è necessario decidere se il titolare del trattamento dei dati funzionerà in modalità di connettività direttamente Connessione o indirettamente Connessione ed. La decisione ha implicazioni importanti per le funzionalità di gestione e la quantità di dati inviati ad Azure. Se i servizi dati abilitati per Azure Arc sono direttamente connessi ad Azure, è possibile gestirli usando le interfacce e gli strumenti standard basati su Azure Resource Manager, inclusi i modelli di portale di Azure, interfaccia della riga di comando di Azure (interfaccia della riga di comando di Azure) o Azure Resource Manager. Se i servizi dati abilitati per Azure Arc sono connessi indirettamente ad Azure, Azure Resource Manager fornisce l'inventario di sola lettura. Analogamente, la modalità Direttamente Connessione ed è necessaria se si vogliono fornire servizi dati con abilitazione di Azure Arc con supporto per Microsoft Entra ID, controllo degli accessi in base al ruolo di Azure o integrazione con tali servizi di Azure, ad esempio Microsoft Defender per il cloud, Monitoraggio di Azure o Backup di Azure.

Attenzione

La modalità di connettività Connessione indirettamente richiede una quantità minima di dati da recapitare ad Azure per scopi di inventario e fatturazione almeno una volta al mese.

Sebbene la modalità indirettamente Connessione ed offra funzionalità ridotte, consente di gestire una serie di scenari che impediscono l'uso della modalità direttamente Connessione ed. Questo vale, ad esempio, per i data center locali che bloccano la connettività esterna diretta a causa di requisiti aziendali o normativi o a causa di problemi relativi ad attacchi esterni o esfiltrazione di dati. Fornisce inoltre il supporto per le posizioni dei siti perimetrali con connettività limitata o senza connettività diretta a Internet.

Il set comune di funzionalità del Istanza gestita di SQL abilitato per Azure Arc include:

  • Supporto per gli aggiornamenti automatizzati. Microsoft fornisce spesso aggiornamenti ai servizi dati abilitati per Azure Arc tramite Microsoft Container Registry (MCR). Sono incluse le patch di manutenzione e le nuove funzionalità e offre un'esperienza simile a quella dei servizi dati gestiti di Azure. Tuttavia, è possibile controllare la pianificazione e la cadenza della distribuzione.
  • Scalabilità elastica. L'architettura basata su contenitori supporta intrinsecamente la scalabilità elastica, con limiti che dipendono dalla capacità dell'infrastruttura. Questa funzionalità supporta scenari burst con esigenze volatili, tra cui l'inserimento e l'esecuzione di query sui dati in tempo reale, su qualsiasi scala, con tempi di risposta secondari.
  • Provisioning self-service. Con l'orchestrazione basata su Kubernetes, è possibile effettuare il provisioning di un database in pochi secondi usando l'interfaccia grafica o gli strumenti dell'interfaccia della riga di comando di Azure.
  • Monitoraggio e gestione flessibili. Con l'abilitazione di Azure Arc Istanza gestita di SQL, è possibile raccogliere e analizzare i log e i dati di telemetria dalle API Kubernetes e implementare il monitoraggio locale usando i dashboard Kibana e Grafana. È anche possibile effettuare il provisioning e gestire i Istanza gestita di SQL abilitati per Azure Arc usando diversi strumenti di gestione standard di SQL Server, tra cui Azure Data Studio e l'interfaccia della riga di comando di Azure e kubernetes, ad esempio Helm e kubectl.

Inoltre, poiché azure Arc abilitato Istanza gestita di SQL viene eseguito in Kubernetes abilitato per Azure Arc o nel servizio Azure Kubernetes in Azure Stack HCI, è anche possibile usare le relative funzionalità di gestione, sicurezza e conformità, tra cui:

Attenzione

Verificare che le funzionalità di Azure Arc che si intende usare nell'ambiente di produzione siano disponibili.

Considerazioni

Microsoft Azure Well-Architected Framework è un set di set di principi guida seguiti in questa architettura di riferimento. Le considerazioni seguenti sono incluse nel contesto di questi set di dati.

Ottimizzazione dei costi

L'ottimizzazione dei costi riguarda l'analisi dei modi per ridurre le spese non necessarie e migliorare l'efficienza operativa. Per altre informazioni, vedere Panoramica del pilastro di ottimizzazione dei costi.

  • Azure Arc consente di ridurre al minimo o persino eliminare la necessità di sistemi di gestione e monitoraggio locali, riducendo così i costi e la complessità operativa, soprattutto in ambienti di grandi dimensioni, diversi e distribuiti. Ciò consente di compensare i costi aggiuntivi associati ai servizi correlati ad Azure Arc. Ad esempio, la sicurezza dei dati avanzata per l'istanza di SQL Server abilitata per Azure Arc richiede la funzionalità [Microsoft Defender per il cloud] di Microsoft Defender per il cloud, con implicazioni sui prezzi.
  • L'inserimento in contenitori dell'ambiente SQL Server tramite l'abilitazione di Azure Arc Istanza gestita di SQL consente di aumentare la densità e la mobilità del carico di lavoro. Ciò facilita un utilizzo più efficiente dell'hardware, che tende a massimizzare il ritorno sugli investimenti (ROI) e a ridurre al minimo i costi operativi, consentendo di accelerare le iniziative di consolidamento dei data center.

Eccellenza operativa

L'eccellenza operativa copre i processi operativi che distribuiscono un'applicazione e la mantengono in esecuzione nell'ambiente di produzione. Per altre informazioni, vedere Panoramica del pilastro dell'eccellenza operativa.

  • Per eseguire la registrazione di singole istanze di SQL Server abilitate per Azure Arc, è possibile eseguire in modo interattivo uno script disponibile direttamente dalla portale di Azure. Per le distribuzioni su larga scala, è possibile eseguire lo stesso script in modo automatico, sfruttando un'entità servizio Microsoft Entra.

  • Per eseguire una valutazione su richiesta della configurazione e dell'integrità delle istanze di SQL Server abilitate per Azure Arc tramite Monitoraggio di Azure, è necessario distribuire l'agente di Log Analytics nel server che ospita l'istanza di SQL Server. È possibile automatizzare questa distribuzione su larga scala usando Criteri di Azure per abilitare Monitoraggio di Azure per le macchine virtuali per i server con abilitazione di Azure Arc.

  • Valutazione SQL su richiesta e sicurezza dei dati avanzata sono disponibili per le istanze di SQL Server che non sono abilitate per Azure Arc. Azure Arc semplifica tuttavia il provisioning e la configurazione. È ad esempio possibile usare la funzionalità di estensione macchina virtuale per automatizzare la distribuzione dell'agente di Log Analytics nei server che ospitano istanze di SQL Server.

  • Azure Arc abilitato Istanza gestita di SQL condivide la codebase con la versione stabile più recente di SQL Server, fornendo il supporto per lo stesso set di funzionalità di gestibilità.

Efficienza prestazionale

L'efficienza delle prestazioni è la capacità di dimensionare il carico di lavoro per soddisfare in modo efficiente le richieste poste dagli utenti. Per altre informazioni, vedere Panoramica dell'efficienza delle prestazioni.

  • Azure Arc abilitato Istanza gestita di SQL condivide la codebase con la versione stabile più recente di SQL Server, fornendo il supporto per lo stesso set di funzionalità di scalabilità e prestazioni elevate.

  • Quando si pianifica la distribuzione delle Istanza gestita di SQL abilitate per Azure Arc, è necessario identificare la quantità corretta di risorse di calcolo, memoria e archiviazione necessarie per eseguire il controller dati di Azure Arc e i gruppi di server dell'istanza gestita di SQL desiderati. Si noti, tuttavia, che si ha la flessibilità necessaria per estendere la capacità del cluster Kubernetes o del servizio Azure Kubernetes sottostante nel tempo aggiungendo nodi di calcolo o archiviazione aggiuntivi.

  • Kubernetes o il servizio Azure Kubernetes offre un livello di astrazione sullo stack di virtualizzazione e sull'hardware sottostanti. Le classi di archiviazione implementano tale astrazione per l'archiviazione. Quando si esegue il provisioning di un pod, è necessario decidere quale classe di archiviazione usare per i volumi. La decisione è importante dal punto di vista delle prestazioni perché una scelta errata potrebbe comportare prestazioni non ottimali. Quando si pianifica la distribuzione di un'istanza gestita di SQL abilitata per Azure Arc, è consigliabile prendere in considerazione una serie di fattori che influiscono sulla configurazione dell'archiviazione kubernetes-storage-class-factors sia per le istanze del controller dei dati che per le istanze del database.

Affidabilità

L'affidabilità garantisce che l'applicazione possa soddisfare gli impegni che l'utente ha preso con i clienti. Per altre informazioni, vedere Panoramica del pilastro dell'affidabilità.

  • Con l'istanza gestita di SQL abilitata per Azure Arc, la pianificazione dell'archiviazione è fondamentale anche dal punto di vista della resilienza dei dati. In caso di errore hardware, una scelta errata potrebbe introdurre il rischio di perdita totale dei dati. Per evitare questo rischio, è consigliabile prendere in considerazione una serie di fattori che influiscono sulla configurazione della risorsa di archiviazione kubernetes-storage-class-factors sia per il controller dei dati che per le istanze di database.

  • Con l'abilitazione di Azure Arc Istanza gestita di SQL, è possibile distribuire singoli database in un modello singolo o multiplo di pod. Ad esempio, lo sviluppatore o il piano tariffario per utilizzo generico implementa un singolo modello di pod, mentre un piano tariffario business critical a disponibilità elevata implementa un modello a più pod. Un'istanza gestita di Azure SQL a disponibilità elevata usa gruppi di disponibilità AlwaysOn per replicare i dati da un'istanza a un'altra in modo sincrono o asincrono.

  • Azure Arc abilitato Istanza gestita di SQL condivide la codebase con la versione stabile più recente di SQL Server, fornendo supporto per la maggior parte delle funzionalità a disponibilità elevata.

  • L'istanza gestita di SQL abilitata per Azure Arc offre backup locali automatici, indipendentemente dalla modalità di connettività. Nella modalità direttamente Connessione ed è anche possibile applicare Backup di Azure per la conservazione dei backup a lungo termine fuori sede.

Sicurezza

La sicurezza offre garanzie contro attacchi intenzionali e l'abuso di dati e sistemi preziosi. Per altre informazioni, vedere Panoramica del pilastro della sicurezza.

  • Azure Arc abilitato Istanza gestita di SQL condivide la codebase con la versione stabile più recente di SQL Server, fornendo il supporto per lo stesso set di funzionalità di sicurezza.

  • Con l'abilitazione di Azure Arc Istanza gestita di SQL, nella modalità Direttamente Connessione ed, è necessario fornire al titolare del trattamento dei dati l'accesso diretto a MCR per facilitare gli aggiornamenti automatici e l'applicazione di patch. In alternativa, è possibile importare immagini del contenitore da MCR e renderle disponibili in un registro contenitori privato locale accessibile dal titolare del trattamento dei dati.

  • L'agente del computer Connessione ed di Azure comunica in uscita ad Azure Arc sulla porta TCP 443 usando il protocollo Transport Layer Security (TLS).

  • Con l'abilitazione di Azure Arc Istanza gestita di SQL in modalità direttamente Connessione ed, non è necessario aprire porte in ingresso nel perimetro dei data center locali. Il controller di dati ha avviato la connettività in uscita in modo sicuro sulla porta TCP 443 usando il protocollo TLS (Transport Layer Security).

Attenzione

Per migliorare la sicurezza dei dati in transito in Azure, è necessario configurare i server che ospitano le istanze di SQL Server per l'uso di Transport Layer Security (TLS) 1.2.

Passaggi successivi