Architecture à EC2 nœud unique de SQL Server sur Amazon - AWS Conseils prescriptifs

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Architecture à EC2 nœud unique de SQL Server sur Amazon

Le schéma suivant illustre une architecture recommandée pour un serveur SQL à nœud unique sur Amazon Elastic Compute Cloud (Amazon EC2) avant d'ajouter la prise en charge de la haute disponibilité (HA) et de la reprise après sinistre (DR).

Dans cette architecture, la base de données SQL Server est déployée sur une EC2 instance, à l'aide d'une Amazon Machine Image (AMI) pour SQL Server et de volumes distincts pour le système d'exploitation, les données, le journal et les sauvegardes. Le stockage express (NVMe) en mémoire non volatile est attaché directement à l' EC2 instance et utilisé pour la base de données tempdb de SQL Server. AWS Directory Service est utilisé pour configurer l'authentification Windows pour la base de données SQL Server. Vous pouvez également l'utiliser AWS Systems Manager pour détecter et installer les correctifs et les mises à jour de SQL Server.

Architecture SQL Server à nœud unique sur Amazon EC2 avant HA/DR

Le tableau suivant récapitule les recommandations relatives à la configuration de cette architecture. Ces recommandations sont examinées en détail dans les sections qui suivent.

Type d'instance/AMI
Édition SQL Server
  • Édition SQL Server Developer (hors production)

  • Éditions SQL Server Standard et Enterprise (production)

Type de stockage
Volumes
  • Système d’exploitation

  • DATA

  • LOG

  • tempdb

  • Espace libre pour le stockage et le téléchargement des sauvegardes

Options de reprise après sinistre
  • Amazon EC2

  • Instantanés Amazon EBS

  • Sauvegardes natives de SQL Server

Types d’instances

AWS propose une sélection de classes d'instances pour vos charges de travail SQL Server. Vous pouvez choisir entre des types optimisés pour le calcul, pour la mémoire, pour le stockage, pour usage général, etc., en fonction de la charge de travail attendue sur le serveur de base de données, de la version, des options HA/DR, des cœurs requis et des considérations relatives aux licences. Nous vous recommandons de choisir les types d'instances optimisés pour Amazon EBS pour SQL Server. Ils offrent le meilleur débit avec des volumes EBS attachés dans un réseau dédié, ce qui est essentiel pour les charges de travail SQL Server susceptibles de nécessiter de lourdes exigences d'accès aux données. Pour les charges de travail de base de données standard, vous pouvez exécuter des classes d'instance optimisées pour la mémoire telles que R5, R5b, R5d et R5n. Vous pouvez également inclure le stockage d'instance ou le NVMe stockage. Elles sont toutes deux idéales pour tempdb et offrent des performances équilibrées pour les charges de travail des bases de données.

Pour les charges de travail critiques, l'instance z1d à hautes performances est optimisée pour les charges de travail impliquant des coûts de licence élevés, telles que SQL Server. L'instance z1d est construite avec un processeur Intel Xeon Scalable personnalisé qui fournit une fréquence turbo intégrale soutenue allant jusqu'à 4.0 GHz, ce qui est nettement plus rapide que les autres instances. Pour les charges de travail nécessitant un traitement séquentiel plus rapide, vous pouvez exécuter moins de cœurs avec une instance z1d et obtenir des performances identiques ou supérieures à celles des autres instances dotées de plus de cœurs.

Amazon propose également un service dédié à AMIsSQL Server sur Microsoft Windows Server pour vous aider à héberger les dernières éditions de SQL Server sur Amazon EC2.

Stockage

Certains types d'instances proposent des volumes de stockage d' NVMe instance. NVMe est une option de stockage temporaire (éphémère). Ce stockage est directement attaché à l' EC2 instance. Bien que le NVMe stockage soit temporaire et que les données soient perdues au redémarrage, il offre des performances optimales. Par conséquent, il convient à la base de données tempdb de SQL Server, qui présente des modèles d'E/S élevés et d'accès aux données aléatoires. L'utilisation d'un magasin d' NVMe instance pour tempdb est gratuite. Pour obtenir des conseils supplémentaires, consultez la section Placer tempdb dans un magasin d'instance du guide Meilleures pratiques pour le déploiement de SQL Server sur Amazon. EC2

Amazon EBS est une solution de stockage durable qui répond aux exigences de SQL Server en matière de stockage rapide et disponible. Microsoft recommande de séparer les volumes de données et de journaux pour des performances optimales. Les raisons de cette séparation sont notamment les suivantes :

  • Différentes méthodes d'accès aux données. Les volumes de données utilisent un accès aléatoire aux données par traitement des transactions en ligne (OLTP), tandis que les volumes de journaux utilisent un accès série.

  • De meilleures options de restauration. La perte d'un volume n'affecte pas l'autre volume et contribue à la restauration des données.

  • Différents types de charge de travail. Les volumes de données sont destinés aux charges de travail OLTP, tandis que les volumes de journaux ciblent les charges de travail de traitement analytique en ligne (OLAP).

  • Différentes exigences de performance. Les volumes de données et de journaux ont des exigences différentes en termes d'IOPS et de latence, des taux de débit minimaux et des critères de performance similaires.

Pour sélectionner le bon type de volume Amazon EBS, vous devez analyser les méthodes d'accès, les IOPS et le débit de votre base de données. Collectez des statistiques à la fois pendant les heures de travail normales et pendant les pics d'utilisation. SQL Server utilise des extensions pour stocker les données. L'unité atomique de stockage dans SQL Server est une page d'une taille de 8 Ko. Huit pages physiquement contiguës constituent une étendue d'une taille de 64 Ko. Par conséquent, sur une machine SQL Server, la taille de l'unité d'allocation NTFS pour l'hébergement des fichiers de base de données SQL (y compris tempdb) doit être de 64 Ko. Pour savoir comment vérifier la taille d'allocation NTFS de vos disques, consultez le guide Meilleures pratiques pour le déploiement de SQL Server sur Amazon EC2.

Le choix du volume EBS dépend de la charge de travail, c'est-à-dire du fait que la base de données soit intensive en lecture ou en écriture, qu'elle nécessite des IOPS élevées, un stockage d'archives, etc. Le tableau suivant présente un exemple de configuration.

Ressource Amazon EBS Type Description
Disque du système d'exploitation

gp3

Stockage à usage général.

disque de données

io1/io2

Stockage nécessitant beaucoup d'écriture.

Disque LOG

gp3 ou io2

Stockage à usage général pour les charges de travail intensives.

Disque de sauvegarde

st1

Stockage d'archives moins coûteux. Pour de meilleures performances, les sauvegardes peuvent également être stockées sur un disque plus rapide si elles sont copiées régulièrement sur Amazon Simple Storage Service (Amazon S3).

Considérations relatives à Amazon EBS et Amazon S3

Le tableau suivant présente une comparaison entre Amazon EBS et Amazon S3 pour le stockage. Utilisez ces informations pour comprendre les différences entre les deux services et pour choisir l'approche la mieux adaptée à votre cas d'utilisation.

Service Disponibilité Durabilité Remarques
Amazon EBS
  • Tous les types de volumes EBS offrent des fonctionnalités de capture instantanée durables et sont conçus pour une disponibilité de 99,999 %.

  • Vous pouvez utiliser des instantanés pour approvisionner de nouvelles instances dans différentes AWS régions en cas de sinistre.

  • Les données du volume EBS sont répliquées sur plusieurs serveurs au sein d'une seule zone de disponibilité afin d'éviter toute perte de données due à la défaillance d'un composant.

  • Les volumes EBS sont conçus pour un taux de défaillance annuel (AFR) compris entre 0,1 et 0,2 %, la défaillance faisant référence à une perte totale ou partielle du volume, en fonction de la taille et des performances du volume.

  • Une instance optimisée pour Amazon EBS utilise une pile de configuration optimisée et fournit une bande passante dédiée supplémentaire pour les E/S Amazon EBS. Cette optimisation fournit les meilleures performances pour vos volumes EBS en minimisant les conflits entre les E/S Amazon EBS et le reste du trafic provenant de votre instance.

  • Les restaurations rapides d'instantanés sont prises en charge pour un maximum de 50 instantanés en même temps. Vous devez activer cette fonctionnalité de manière explicite pour chaque instantané.

  • Une instance optimisée pour Amazon EBS offre des performances provisionnées complètes lors de l'initialisation, de sorte qu'aucun temps de préchauffage n'est nécessaire.

Amazon S3
  • Hautement disponible.

  • Conçu pour une disponibilité de 99,99 % sur une année donnée.

  • Plusieurs classes de stockage sont disponibles, telles que S3 Standard et S3 Standard-Infrequent Access ((S3 Standard-IA)). Vous pouvez déplacer les fichiers de sauvegarde vers une classe de stockage en fonction d'une période de conservation.

  • Amazon S3, Amazon S3 Glacier et S3 Glacier Deep Archive sont conçus pour une durabilité de 99,999999999 % (11 neuf). Amazon S3 et S3 Glacier offrent tous deux une sauvegarde fiable des données, avec la réplication d'objets sur au moins trois zones de disponibilité géographiquement dispersées.

  • Vous pouvez utiliser Amazon S3 pour des sauvegardes à long terme au niveau des fichiers de SQL Server (y compris les sauvegardes complètes et les journaux de transactions).

  • Amazon S3 prend en charge :

  • Amazon S3 fournit le stockage le moins coûteux. Des frais de transfert de données entre régions s'appliquent.

SQL Server sur le serveur de fichiers Amazon FSx pour Windows

Le serveur de fichiers Amazon FSx pour Windows fournit des performances rapides avec un débit de base pouvant atteindre 2 GB/second per file system, hundreds of thousands of IOPS, and consistent sub-millisecond latencies. To provide the right performance for your SQL Server instances, you can choose a throughput level that is independent of your file system size. Higher levels of throughput capacity also come with higher levels of IOPS that the file server can serve to the SQL Server instances accessing it. The storage capacity determines not only how much data you can store, but also how many I/O opérations par seconde (IOPS) que vous pouvez effectuer sur le stockage : chaque Go de stockage fournit 3 IOPS. Vous pouvez configurer chaque système de fichiers pour une taille maximale de 64 TiB (contre 16 TiB pour Amazon EBS). Vous pouvez également utiliser les FSx systèmes Amazon comme témoin de partage de fichiers pour les déploiements de Windows Server Failover Cluster (WSFC).