Partager via


Optimiser l’administration des instances SQL Server dans des environnements locaux et multiclouds à l’aide d’Azure Arc

Azure Arc
SQL Server
Azure Kubernetes Service (AKS)
Azure Resource Manager
Azure SQL Managed Instance

Cette architecture de référence montre comment utiliser Azure Arc pour la gestion, la maintenance et le monitoring des instances SQL Server dans des environnements locaux et multiclouds.

Architecture

Diagramme illustrant différents scénarios qui tirent parti d’Azure Arc pour optimiser l’administration des instances SQL Server résidant localement ou hébergées par des fournisseurs de cloud tiers. Le premier groupe de scénarios se compose d’instances SQL Server s’exécutant sur des serveurs physiques ou des machines virtuelles. Le deuxième groupe de scénarios comprend des clusters Kubernetes hébergés par un cloud tiers ou des clusters Azure Kubernetes Service exécutés sur Azure Local, avec le contrôleur de données Azure Arc servant de couche de gestion intermédiaire. Tous ces scénarios offrent une intégration à une gamme de services Azure, tels qu’Azure Monitor et Log Analytics, Azure Policy, Microsoft Defender pour cloud et Microsoft Sentinel.

Téléchargez un fichier Visio de cette architecture.

Composants

L’architecture est constituée des fonctionnalités et composants suivants :

  • SQL Server est une plateforme de base de données relationnelle qui prend en charge un large éventail de langages de développement, de types de données, d’environnements locaux ou cloud et de systèmes d’exploitation. Dans cette architecture, elle sert de moteur de données principal hébergé en dehors d’Azure et géré via Azure Arc pour la gouvernance et la supervision unifiées.
  • Azure Arc est un service cloud qui étend la gestion Azure aux ressources non-Azure. Dans cette architecture, elle permet le contrôle centralisé des instances SQL Server, des clusters Kubernetes et des machines virtuelles sur des environnements locaux et multiclouds.
  • Les serveurs avec Azure Arc assurent la gestion des machines Windows et Linux en dehors d’Azure sur votre réseau d’entreprise ou un autre fournisseur de cloud. Dans cette architecture, ils fournissent la base de la gestion des instances SQL Server en tant que ressources Azure hybrides.
  • Sql Server avec Azure Arc étend les services Azure aux instances SQL Server hébergées en dehors d’Azure. Dans cette architecture, elle permet des fonctionnalités avancées de surveillance, de sécurité et de conformité pour SQL Server qui s’exécute dans des centres de données, des configurations de périphérie ou multiclouds.
  • Kubernetes est une plateforme open source permettant de gérer et d’orchestrer des charges de travail conteneurisées. Dans cette architecture, elle héberge les services de données avec Azure Arc, notamment les déploiements conteneurisés d’Azure SQL Managed Instance.
  • Azure Kubernetes Service (AKS) est un service Kubernetes managé dans Azure. Dans cette architecture, AKS sur Azure Local simplifie le déploiement et la gestion des charges de travail SQL conteneurisées dans des environnements locaux.
  • AKS sur Azure Local est une implémentation locale d’AKS. Dans cette architecture, elle exécute des applications conteneurisées à grande échelle sur Azure Local.
  • Kubernetes avec Azure Arc permet la gestion Azure des clusters Kubernetes qui s’exécutent en dehors d’Azure. Dans cette architecture, elle prend en charge la gouvernance, l’application des stratégies et la surveillance des charges de travail SQL déployées sur Kubernetes.
  • Les services de données avec Azure Arc permettent aux services de données Azure de s’exécuter sur n’importe quelle infrastructure, y compris sur site et multicloud. Dans cette architecture, ils hébergent des instances conteneurisées de SQL Managed Instance, qui permettent des fonctionnalités natives cloud dans des environnements hybrides.
  • SQL Managed Instance est un service de base de données SQL managé qui offre une compatibilité élevée avec SQL Server. Dans cette architecture, elle est déployée dans un formulaire conteneurisé via des services de données avec Azure Arc pour fournir des fonctionnalités de base de données évolutives, sécurisées et persistantes.
  • Sql Managed Instance avec Azure Arc est une version conteneurisée de SQL Managed Instance qui s’exécute sur des services de données avec Azure Arc. Dans cette architecture, elle offre une compatibilité SQL Server quasi complète avec un déploiement flexible sur Kubernetes ou AKS sur Azure Local.
  • VMware vSphere avec Azure Arc étend la gestion Azure aux environnements basés sur VMware. Dans cette architecture, elle permet la gouvernance et la surveillance des instances SQL Server hébergées sur vSphere.
  • System Center Virtual Machine Manager (SCVMM) compatible avec Azure Arc intègre une infrastructure gérée par SCVMM avec Azure. Dans cette architecture, elle prend en charge la gestion unifiée des charges de travail SQL Server dans SCVMM et Azure.
  • Azure Resource Manager est un framework de déploiement et de gestion pour les ressources Azure. Dans cette architecture, elle sert de plan de contrôle pour la gestion des instances SQL Server hybrides et des services associés. Vous pouvez utiliser des fonctionnalités de gestion, telles que le contrôle d’accès, les verrous et les balises, pour sécuriser et organiser vos ressources après le déploiement.
  • Azure Monitor est un service de supervision qui collecte et analyse les données de télémétrie à partir d’Azure et de ressources hybrides. Dans cette architecture, elle surveille les performances, la disponibilité et la conformité des instances SQL Server gérées via Azure Arc.
  • Log Analytics est une fonctionnalité d’Azure Monitor qui permet d’interroger et d’analyser les données de journal dans les environnements. Dans cette architecture, elle prend en charge les évaluations SQL et les vérifications d’intégrité pour SQL Server avec Azure Arc.
  • Microsoft Sentinel est une solution SIEM (Security Information Event Management) native cloud et de réponse automatisée de l’orchestration de la sécurité (SOAR) pour la détection et la réponse aux menaces. Dans cette architecture, il surveille les événements de sécurité et les alertes pour les instances SQL Server qu’Azure Arc gère.
  • Microsoft Defender pour Cloud est une plateforme de sécurité qui assure la gestion de la sécurité et la protection contre les menaces. Dans cette architecture, elle renforce la posture de sécurité de votre patrimoine de données et permet une détection avancée des menaces sur les charges de travail hybrides.
  • Sauvegarde Azure fournit des solutions de sauvegarde sécurisées et évolutives pour les environnements Azure et hybrides. Dans cette architecture, elle prend en charge la rétention de sauvegarde à long terme pour SQL Managed Instance avec Azure Arc déployée en mode connecté directement.

Détails du scénario

Utilisations courantes de cette architecture :

  • Évaluation de la configuration, de la disponibilité, des performances et de la conformité de SQL Server compatible avec Azure Arc en utilisant Azure Monitor.
  • Détection et correction des menaces de sécurité ciblant SQL Server avec Azure Arc à l’aide de Microsoft Defender pour le cloud et Microsoft Sentinel.
  • Automatisation du déploiement et de la gestion d’Azure SQL Managed Instance avec Azure Arc sur Kubernetes avec Azure Arc dans des environnements locaux et multiclouds.
  • Automatisation du déploiement et de la gestion d’Azure Arc avec SQL Managed Instance sur Azure Kubernetes Service (AKS) sur Azure Local.

Recommandations

Les recommandations suivantes s’appliquent à la plupart des scénarios. Suivez ces recommandations, sauf si vous avez un besoin spécifique qui vous oblige à les ignorer.

Évaluer, superviser et optimiser les performances, la disponibilité, la conformité et la sécurité des instances SQL Server avec Azure Arc en utilisant les services Azure

Sans un modèle opérationnel et de gestion cohérent et unifié, l’administration d’instances SQL Server individuelles pourrait entraîner des coûts de surcharge significatifs. Sans un ensemble d’outils approprié, il vous faut des compétences avancées et des efforts continus pour identifier et maintenir la configuration haute performance, résiliente et sécurisée de SQL Server. Il est particulièrement important de résoudre ces défis à mesure que le paysage de la technologie métier évolue et devient de plus en plus complexe, avec plusieurs instances SQL Server s’exécutant sur différents matériels sur différents centres de données locaux, plusieurs clouds publics et privés, et la périphérie.

Vous pouvez utiliser des instances SQL Server avec Azure Arc, hébergées sur des machines physiques et virtuelles résidant en dehors d’Azure, qui fonctionnent sur un système d’exploitation Windows ou Linux avec un agent Connected Machine installé localement. L’agent est installé automatiquement lorsque vous inscrivez l’instance de SQL Server auprès d’Azure. Azure Arc utilise l’agent pour établir une connexion logique entre la ressource non-Azure et Azure. Après avoir établi cette connexion, une ressource non Azure devient automatiquement une ressource Azure hybride, avec sa propre identité et un ID de ressource Azure Resource Manager. Azure Resource Manager est l’interface de gestion qui vous permet de créer, de modifier et de supprimer des ressources Azure. Une fois que vous avez activé Arc sur une ressource non-Azure, vous pouvez utiliser Azure Resource Manager pour faciliter l’implémentation d’autres services Azure qui améliorent la facilité de gestion des instances SQL Server.

Notes

L’installation d’Azure Connected Machine Agent fait également partie de l’implémentation des serveurs compatibles avec Azure Arc. En fait, il n’est pas nécessaire de l’installer lors de l’implémentation de SQL Server compatible avec Azure Arc sur des serveurs dotés d’Azure Arc.

Une fois que vous avez satisfait à toutes les conditions préalables requises pour SQL Server avec Azure Arc, notamment l’installation de l’agent Log Analytics, vous avez automatiquement la possibilité d’utiliser les fonctionnalités Azure suivantes :

  • SQL Assessment à la demande de SQL Server compatible avec Azure Arc. L’évaluation s’appuie sur l’agent Log Analytics pour collecter les données pertinentes et les charger dans l’espace de travail Log Analytics que vous désignez. Avec les journaux chargés vers l’espace de travail, la solution SQL Server Assessment Log Analytics gère l’analyse des données et vous permet d’examiner ses résultats directement dans le Portail Azure. Le cas échéant, la solution fournit également des recommandations concernant les améliorations potentielles. Les résultats de l’analyse sont organisés en quatre catégories : qualité de l’évaluation, sécurité et conformité, disponibilité et continuité, ainsi que performances et extensibilité. L’agent Log Analytics recherche les mises à jour à intervalles réguliers et les charge automatiquement dans l’espace de travail Log Analytics pour s’assurer que les résultats que vous examinez sont à jour.

Notes

L’agent Log Analytics est communément appelé Microsoft Monitoring Agent (MMA).

  • Sécurité avancée des données pour SQL Server compatible avec Azure Arc. Cette fonctionnalité vous aide à détecter et à corriger les anomalies de sécurité et les menaces qui pèsent sur les instances SQL Server compatibles avec Azure Arc. Comme c’est le cas pour SQL Assessment à la demande, pour activer SQL Server compatible avec Azure Arc, vous devez installer l’agent Log Analytics sur le serveur hébergeant l’instance SQL Server. Vous devez également activer la fonctionnalité Microsoft Defender pour le cloud de Microsoft Defender pour le cloud pour définir automatiquement l’étendue de la collecte de données et l’analyser. Vous pouvez visualiser les résultats de cette analyse dans Microsoft Defender pour le cloud et, après avoir intégré Microsoft Sentinel, vous baser sur celle-ci pour approfondir les alertes de sécurité directement dans le portail Azure.

Automatiser le déploiement et la gestion d’Azure SQL Managed Instance avec Azure Arc dans des environnements locaux et multiclouds

SQL Managed Instance compatible avec Azure Arc devient un déploiement conteneurisé fonctionnant sur les services de données compatibles avec Azure Arc. Pour héberger votre déploiement, vous pouvez utiliser les options suivantes :

  • Services de données avec Azure Arc sur un cluster Kubernetes avec Azure Arc. Kubernetes avec Azure Arc prend en charge une large gamme de distributions Kubernetes hébergées dans des environnements cloud ou locaux sur des serveurs virtuels ou physiques.
  • Services de données avec Azure Arc sur un cluster AKS hébergé sur une instance locale d’Azure Local.

Les deux options prennent en charge des fonctionnalités équivalentes liées à SQL Server, car ces fonctionnalités s’appuient sur la couche des services de données compatibles avec Azure Arc. Toutefois, lorsque vous utilisez Azure Local, vous devez implémenter AKS, car cela simplifie l’implémentation et la gestion de l’infrastructure Kubernetes et de ses charges de travail.

Azure SQL Managed Instance compatible avec Azure Arc offre une compatibilité quasi totale avec le dernier moteur de base de données SQL Server. Cela facilite les migrations vers les services de données compatibles avec Azure Arc, avec un minimum de modifications des applications et des bases de données.

SQL Managed Instance compatible avec Azure Arc s’appuie sur le contrôleur de données Azure Arc pour établir et maintenir une connexion logique avec le plan de contrôle Azure Resource Manager. Le contrôleur de données devient un groupe de pods fonctionnant au sein du cluster local Kubernetes ou AKS. Les pods orchestrent les tâches opérationnelles et de gestion de SQL Managed Instance, telles que l’approvisionnement et l’annulation de l’approvisionnement, le basculement automatique, les mises à jour, la mise à l’échelle, la sauvegarde et la restauration ainsi que la surveillance.

Lors de la planification des services de données avec Azure Arc, vous devez décider si le contrôleur de données fonctionne en mode de connectivité connectée directement ou indirectement. Votre décision a des implications importantes sur les capacités de gestion et la quantité de données envoyées à Azure. Si les services de données compatibles avec Azure Arc sont directement connectés à Azure, vous pouvez les gérer en utilisant les interfaces et outils standard basés sur Azure Resource Manager, notamment le Portail Azure, l’interface de ligne de commande Azure (CLI) ou les modèles Azure Resource Manager. Si les services de données compatibles avec Azure Arc sont indirectement connectés à Azure, Azure Resource Manager fournit leur inventaire en lecture seule. De même, le mode de connexion directe est nécessaire si vous souhaitez fournir des services de données avec Azure Arc avec la prise en charge de Microsoft Entra ID, le contrôle d’accès en fonction du rôle Azure (RBAC Azure) ou les intégrer à des services Azure comme Microsoft Defender pour le cloud, Azure Monitor ou Sauvegarde Azure.

Attention

Le mode de connectivité par connexion indirecte nécessite la livraison d’une quantité minimale de données à Azure à des fins d’inventaire et de facturation au moins une fois par mois.

Bien qu’il offre des fonctionnalités réduites, le mode Connecté indirectement vous permet de prendre en charge un certain nombre de scénarios qui empêchent l’utilisation du mode Connecté directement. Cela s’applique, par exemple, à des centres de données locaux qui bloquent la connectivité externe directe en raison d’exigences commerciales ou réglementaires, ou en raison de préoccupations liées à des attaques externes ou à l’exfiltration de données. Il prend également en charge les emplacements de site périphérique avec une connectivité limitée ou indirecte à Internet.

L’ensemble commun de fonctionnalités SQL Managed Instance compatibles avec Azure Arc inclut ce qui suit :

  • Prise en charge des mises à jour automatisées. Microsoft fournit fréquemment des mises à jour des services de données compatibles avec Azure Arc par le biais de Microsoft Container Registry (MCR). Cela comprend la maintenance des correctifs et des nouvelles fonctionnalités et la fourniture d’une expérience similaire à celle des services de données managées Azure. Cependant, vous contrôlez le calendrier et la cadence du déploiement.
  • Mise à l’échelle élastique. L’architecture basée sur les conteneurs prend en charge de manière inhérente la mise à l’échelle élastique, avec des limites qui dépendent de la capacité de votre infrastructure. Cette fonctionnalité convient aux scénarios en rafale qui se caractérisent par des besoins volatils, notamment l’ingestion et l’interrogation de données en temps réel, quelle que soit l’échelle, avec un temps de réponse inférieur à la seconde.
  • Approvisionnement en libre-service. Avec l’orchestration basée sur Kubernetes, vous pouvez déployer une base de données en quelques secondes via l’interface graphique utilisateur (GUI) ou l’interface de ligne de commande Azure.
  • Flexibilité de la surveillance et de la gestion. Avec Azure Arc activé pour SQL Managed Instance, vous pouvez collecter et analyser des journaux et des données de télémétrie à partir des API Kubernetes et implémenter la supervision locale à l’aide de tableaux de bord Kibana et Grafana. Vous pouvez également provisionner et gérer SQL Managed Instance avec Azure Arc à l’aide d’outils de gestion SQL Server standard tels qu’Azure Data Studio et Azure CLI, ainsi que des outils Kubernetes tels que Helm et kubectl.

En outre, étant donné qu’Azure Arc a activé SQL Managed Instance s’exécute sur Kubernetes ou AKS avec Azure Arc sur Azure Local, vous pouvez également utiliser leurs fonctionnalités de gestion, de sécurité et de conformité, notamment :

Attention

Vérifiez que les fonctionnalités Azure Arc que vous envisagez d’utiliser dans votre environnement de production sont disponibles.

Considérations

Ces considérations implémentent les piliers d’Azure Well-Architected Framework, qui est un ensemble d’ensembles guidants qui peuvent être utilisés pour améliorer la qualité d’une charge de travail. Pour plus d’informations, consultez Microsoft Azure Well-Architected Framework.

Fiabilité

La fiabilité permet de s’assurer que votre application tient vos engagements auprès de vos clients. Pour plus d’informations, consultez liste de vérification de la révision de conception pour lede fiabilité.

  • Avec SQL Managed Instance compatible avec Azure Arc, la planification du stockage est également critique du point de vue de la résilience des données. En cas de défaillance matérielle, un mauvais choix peut entraîner un risque de perte totale de données. Pour éviter un tel risque, vous devez prendre en compte une série de facteurs qui affectent la configuration kubernetes-storage-class-factors pour les instances de contrôleur de données et les instances de base de données .

  • Avec Azure SQL Managed Instance avec Azure Arc, vous pouvez déployer des bases de données individuelles sur un ou plusieurs pods. Par exemple, le niveau tarifaire développeur ou usage général implémente un modèle de pod unique, tandis qu’un niveau tarifaire stratégique hautement disponible implémente un modèle à plusieurs pods. Une instance managée SQL hautement disponible utilise des groupes de disponibilité Always On pour répliquer les données d’une instance vers une autre de manière synchrone ou asynchrone.

  • SQL Managed Instance compatible avec Azure Arc partage la base de code avec la dernière version stable de SQL Server, en fournissant le support pour la plupart de ses fonctionnalités de haute disponibilité.

  • SQL Managed Instance compatible avec Azure Arc fournit des sauvegardes locales automatiques, quel que soit le mode de connectivité. En mode de connexion directe, vous avez également la possibilité d’appliquer Sauvegarde Azure pour la conservation des sauvegardes hors site et à long terme.

Sécurité

La sécurité fournit des garanties contre les attaques délibérées, et contre l’utilisation abusive de vos données et systèmes importants. Pour plus d’informations, consultez liste de vérification de la révision de conception pour security.

  • SQL Managed Instance compatible avec Azure Arc partage la base de code avec la dernière version stable de SQL Server, en fournissant le support pour le même ensemble de fonctionnalités de sécurité.

  • Avec SQL Managed Instance compatible avec Azure Arc, en mode connexion directe, vous devez fournir au contrôleur de données un accès direct au registre MCR pour faciliter les mises à niveau et l’application de correctifs automatiques. Vous avez également la possibilité d’importer des images de conteneurs à partir de MCR et de les mettre à disposition dans un registre local privé de conteneurs accessible par le contrôleur des données.

  • Azure Connected Machine Agent communique en sortie avec Azure Arc sur le port TCP 443 en utilisant le protocole TLS (Transport Layer Security).

  • Avec SQL Managed Instance compatible avec Azure Arc, il n’est pas nécessaire d’ouvrir des ports entrants au niveau des centres de données locaux. Connectivité sortante initiée par le contrôleur de données de manière sécurisée sur le port TCP 443 à l’aide du protocole TLS (Transport Layer Security).

Attention

Pour améliorer la sécurité des données en transit vers Azure, vous devez configurer les serveurs hébergeant les instances SQL Server pour utiliser le protocole TLS (Transport Layer Security) 1.2.

Optimisation des coûts

L’optimisation des coûts consiste à examiner les moyens de réduire les dépenses inutiles et d’améliorer l’efficacité opérationnelle. Pour plus d’informations, consultez liste de vérification de la révision de conception pour l’optimisation des coûts.

  • Azure Arc contribue à minimiser, voire à éliminer, le besoin de systèmes locaux de gestion et de surveillance, ce qui réduit la complexité et le coût des opérations, en particulier dans les environnements vastes, diversifiés et distribués. Cela permet de compenser les coûts supplémentaires liés aux services liés à Azure Arc. Par exemple, la sécurité avancée des données pour l’instance SQL Server avec Azure Arc requiert la fonctionnalité [Microsoft Defender pour le cloud] de Microsoft Defender pour le cloud, ce qui a des conséquences tarifaires.
  • La mise en conteneur de votre environnement SQL Server à l’aide de SQL Managed Instance compatible avec Azure Arc permet d’augmenter la densité et la mobilité de la charge de travail. Cela permet une utilisation plus efficace du matériel, ce qui tend à maximiser le retour sur investissement (ROI) et à minimiser les coûts opérationnels, ce qui contribue à accélérer les initiatives de consolidation des centres de données.

Excellence opérationnelle

L’excellence opérationnelle couvre les processus d’exploitation qui déploient une application et la conservent en production. Pour plus d’informations, consultez liste de vérification de la révision de conception pour l’excellence opérationnelle.

  • Pour effectuer l’inscription de chaque instance de SQL Server compatible avec Azure Arc, vous pouvez exécuter de manière interactive un script disponible directement à partir du Portail Azure. Pour les déploiements à grande échelle, vous pouvez exécuter le même script sans surveillance, en tirant parti d’un principal de service Microsoft Entra.

  • Pour effectuer une évaluation à la demande de la configuration et de l’état des instances SQL Server compatibles avec Azure Arc en utilisant Azure Monitor, vous devez déployer l’agent Log Analytics sur le serveur hébergeant cette instance SQL Server. Vous pouvez automatiser ce déploiement à grande échelle en utilisant Azure Policy pour activer Azure Monitor pour machines virtuelles pour les serveurs avec Azure Arc.

  • SQL Assessment à la demande et la sécurité avancée des données sont disponibles pour les instances SQL Server qui ne sont pas compatibles avec Azure Arc. Toutefois, Azure Arc simplifie l’approvisionnement et la configuration. Vous pouvez, par exemple, utiliser la fonctionnalité d’extension de machine virtuelle pour automatiser le déploiement de l’agent Log Analytics sur les serveurs hébergeant des instances SQL Server.

  • SQL Managed Instance compatible avec Azure Arc partage la base de code avec la dernière version stable de SQL Server, en fournissant la prise en charge du même ensemble de fonctionnalités de gestion.

Efficacité des performances

L’efficacité des performances est la capacité de votre charge de travail à répondre aux demandes qu’elle impose aux utilisateurs de manière efficace. Pour plus d’informations, consultez liste de vérification de la révision de conception pour l’efficacité des performances.

  • SQL Managed Instance compatible avec Azure Arc partage la base de code avec la dernière version stable de SQL Server, en fournissant le support pour le même ensemble de fonctionnalités de haute scalabilité et de hautes performances.

  • Lors de la planification du déploiement de SQL Managed Instance avec Azure Arc, vous devez identifier la quantité correcte de calcul, de mémoire et de stockage requise pour exécuter le contrôleur de données Azure Arc et les groupes de serveurs d’instances managées SQL prévues. Notez toutefois que vous avez la possibilité d’étendre la capacité du cluster Kubernetes ou AKS sous-jacent au fil du temps en ajoutant des nœuds de calcul ou un stockage supplémentaires.

  • Kubernetes ou AKS offre une couche d’abstraction sur la pile et le matériel de virtualisation sous-jacents. Les classes de stockage implémentent cette abstraction pour le stockage. Lors de l’approvisionnement d’un pod, vous devez choisir la classe de stockage à utiliser pour ses volumes. Votre décision est importante du point de vue des performances, car un choix incorrect peut entraîner des performances non optimales. Lorsque vous planifiez le déploiement d’Azure SQL Managed Instance compatible avec Azure Arc, vous devez prendre en compte une série de facteurs qui affectent la configuration kubernetes-storage-class-factors pour les instances de contrôleur de données et les instances de base de données .

Étapes suivantes