Modifier

Optimiser l’administration des instances SQL Server dans les environnements locaux et multiclouds avec Azure Arc

Azure
Azure Arc
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

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.

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

Components

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

  • SQL Server. Cette plateforme de données vous offre un large éventail de langages de développement, de types de données, d’environnements locaux ou dans le cloud, ainsi que de systèmes d’exploitation.
  • Azure Arc . Ce service basé sur le cloud étend le modèle de gestion basé sur Azure Resource Manager aux ressources non Azure, notamment les machines virtuelles, les clusters Kubernetes et les bases de données conteneurisées.
  • Serveurs compatibles avec Azure Arc. Ce service hybride vous permet de gérer vos machines Windows et Linux hébergées en dehors d’Azure sur votre réseau d’entreprise ou un autre fournisseur de cloud. Cette méthode est similaire à celle que vous utilisez pour gérer les machines Azure natives.
  • SQL Server compatible avec Azure Arc . Cette partie des serveurs avec Azure Arc étend les services Azure aux instances SQL Server hébergées en dehors d’Azure dans le centre de données du client, à la périphérie ou dans un environnement multicloud.
  • Kubernetes. Il s’agit d'une plateforme open source portable et extensible pour la gestion et l’orchestration des charges de travail conteneurisées.
  • Azure Kubernetes Service. Ce service simplifie le déploiement d’un cluster Kubernetes managé dans Azure.
  • Azure Stack HCI (20H2) . Cette solution de cluster d’infrastructure hyperconvergée qui héberge des charges de travail des systèmes d’exploitation Windows et Linux virtualisées et leur stockage dans un environnement local hybride. Un groupe est constitué de deux à 16 nœuds physiques.
  • Azure Kubernetes Service sur Azure Stack HCI . Il s’agit d'une implémentation d’AKS, qui automatise l’exécution d’applications conteneurisées à grande échelle sur Azure Stack HCI.
  • Kubernetes avec Azure Arc. Ce service hybride vous permet de rationaliser le déploiement et la gestion des clusters Kubernetes à l’intérieur ou à l’extérieur d’Azure.
  • Services de données compatibles avec Azure Arc. Ce service hybride vous permet d’exécuter des services de données Azure localement, à la périphérie et dans des clouds publics en utilisant Kubernetes et l’infrastructure de votre choix.
  • Azure SQL Managed Instance. Ce service de base de données cloud intelligent et évolutif combine la plus grande compatibilité de moteur de base de données SQL Server avec tous les avantages d’une plateforme en tant que service entièrement gérée et persistante.
  • SQL Managed Instance compatible avec Azure Arc . Ce service de données Azure SQL peut être créé sur l’infrastructure de votre choix qui héberge les services de données compatibles avec Azure Arc.
  • Azure Resource Manager. Azure Resource Manager est le service de déploiement et de gestion d’Azure. Il fournit une couche de gestion qui vous permet de créer, de mettre à jour et de supprimer des ressources dans votre compte Azure. Les fonctionnalités de gestion, telles que le contrôle d’accès, les verrous et les étiquettes, vous permettent de sécuriser et d’organiser vos ressources après le déploiement.
  • Azure Monitor. Ce service cloud optimise la disponibilité et les performances des applications et services en fournissant une solution complète pour collecter, analyser et utiliser les données de télémétrie des emplacements Azure et autres.
  • Log Analytics. Il s’agit du principal outil dans le Portail Azure pour l’écriture de requêtes de journal et l’analyse interactive de leurs résultats.
  • Microsoft Sentinel. Il s’agit d’une solution native cloud et évolutive de type SIEM (Security Information and Event Management) et SOAR (Security Orchestrated Automated Response).
  • Microsoft Defender pour le cloud. Ce système de gestion de la sécurité de l’infrastructure unifié renforce la posture de sécurité de vos centres de données et fournit une protection avancée contre les menaces pour vos charges de travail hybrides.
  • Sauvegarde Azure. Le service de sauvegarde Azure fournit des solutions simples, sécurisées et rentables pour sauvegarder vos données et les récupérer à partir du cloud Microsoft Azure.

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 de SQL Managed Instance compatible avec Azure Arc sur Azure Kubernetes Service (AKS) sur Azure Stack HCI.

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 relever ces défis car le paysage technologique des entreprises évolue et devient de plus en plus complexe, avec de multiples instances SQL Server fonctionnant sur différents matériels dans les centres de données locaux, des clouds publics et privés, et sur 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 rempli toutes les conditions préalables pour SQL Server compatible avec Azure Arc, notamment l’installation de l’agent Log Analytics, vous avez 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.
  • Azure Arc a permis de fournir des services de données sur un cluster AKS hébergé sur un cluster Azure Stack HCI physique 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, lors de l’utilisation d’Azure Stack HCI, 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.

Lorsque vous planifiez des services de données compatibles avec Azure Arc, vous devez décider si le contrôleur de données fonctionnera en mode de connexion directe ou en mode de connexion indirecte. 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 (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 SQL Managed Instance compatible avec Azure Arc, vous pouvez collecter et analyser les journaux et la télémétrie des API Kubernetes et implémenter la surveillance locale en utilisant les tableaux de bord Kibana et Grafana. Vous avez également la possibilité de fournir et de gérer SQL Managed Instance compatible avec Azure Arc à l’aide d’un certain nombre d’outils de gestion SQL Server standard, notamment Azure Data Studio et Azure CLI, ainsi que d’outils de gestion Kubernetes, tels que Helm et kubectl.

De plus, comme SQL Managed Instance avec Azure Arc s’exécute sur Kubernetes avec Azure Arc ou AKS sur Azure Stack HCI, 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

Le cadre de référence Microsoft Azure Well-Architected Framework est un ensemble de principes directeurs qui sont suivis dans cette architecture de référence. Les considérations suivantes s’inscrivent dans le contexte de ces principes.

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 Vue d’ensemble du pilier d’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 maintiennent son fonctionnement en production. Pour plus d’informations, consultez Vue d’ensemble du pilier 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 à s’adapter à la demande des utilisateurs de façon efficace. Pour plus d’informations, consultez Vue d’ensemble du pilier d’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.

  • Lorsque vous planifiez le déploiement d’Azure SQL Managed Instance compatible 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 SQL Managed Instance prévus. 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 .

Fiabilité

La fiabilité permet de s’assurer que votre application tient vos engagements auprès de vos clients. Pour plus d’informations, consultez la page Vue d’ensemble du pilier de 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 Azure SQL à haute disponibilité utilise des groupes de disponibilité Always On pour répliquer les données d’une instance vers une autre de façon 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 Vue d’ensemble du pilier Sécurité.

  • 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.

Étapes suivantes