Sélectionnez l'EC2instance adaptée aux charges de travail SQL du serveur - 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.

Sélectionnez l'EC2instance adaptée aux charges de travail SQL du serveur

Important

Avant de lire cette section, nous vous recommandons de lire d'abord les sections Comprendre les licences SQL du serveur et Sélectionner le type d'instance adapté aux charges de travail Windows de ce guide.

Présentation

Microsoft SQL Server fonctionne sur des instances Amazon Elastic Compute Cloud (AmazonEC2) depuis plus de 15 ans. AWS a tiré parti de cette expérience pour développer des EC2 instances Amazon adaptées aux charges de travail des SQL serveurs, qu'il s'agisse de spécifications minimales ou de clusters multirégionaux à hautes performances.

Le choix de l'EC2instance appropriée pour le SQL serveur dépend largement de votre charge de travail. Comprendre comment SQL Server est licencié, comment il utilise la mémoire et comment les fonctionnalités SQL du serveur s'alignent sur les EC2 offres Amazon peut vous aider à trouver l'EC2instance la mieux adaptée à votre application.

Cette section aborde diverses charges de travail sur les SQL serveurs et explique comment elles peuvent être associées à certaines EC2 instances afin de minimiser vos coûts de licence et de calcul.

Comparaison des coûts

Amazon vous EC2 permet d'apporter votre propre licence (BYOL) ou de payer au fur et à mesure avec les licences Windows SQL Server et Server. Pour les pay-as-you-go licences, les coûts de licence pour les licences Windows SQL Server et Server sont intégrés au coût horaire de l'EC2instance. Par exemple, vous pouvez avoir AMIs des prix différents. Le prix du AMI dépend de l'édition SQL Server sur laquelle il AMI fonctionne.

Les tarifs de Windows SQL Server et Server ne sont pas détaillés. Vous ne trouverez pas de prix détaillés sur des outils tels que le AWS Pricing Calculator. Si vous sélectionnez différentes combinaisons d'offres avec licence, les coûts de licence peuvent être déduits, comme le montre le tableau suivant.

EC2instance AMI Calculez le prix Prix de la licence Windows SQLprix de licence Prix total
r5.xlarge Linux (tarification du calcul) 183,96$ - - 183,96$
r5.xlarge SQLDéveloppeur Linux + 183,96$ $0 $0 183,96$
r5.xlarge Windows Server (LI) 183,96$ 134,32$ - 318,28$
r5.xlarge SQLDéveloppeur Windows + 183,96$ 134,32$ $0 318,28$
r5.xlarge Windows + SQL Web (LI) 183,96$ 134,32$ 49,64$ 367,92$
r5.xlarge Windows + SQL Standard (LI) 183,96$ 134,32$ 350,4$ 668,68$
r5.xlarge Windows + SQL Entreprise (LI) 183,96$ 134,32$ 1095$ 1413,28$
Note

Les prix indiqués dans le tableau précédent sont basés sur les tarifs à la demande dans la us-east-1 région.

La méthode la plus rentable pour exécuter SQL Server consiste à utiliser une édition de niveau inférieur jusqu'à ce que vous ayez besoin d'une fonctionnalité d'une édition de niveau supérieur. Pour plus d'informations, consultez la section Comparer les éditions du SQL serveur de ce guide. La mise à niveau de l'édition SQL SQL Server Web vers l'édition Server Standard représente plus de sept fois le coût de licence SQL Server et plus de trois fois le coût du passage de l'édition Standard à l'édition Enterprise. La disparité des coûts de licence est un facteur important à prendre en compte et est explorée dans le reste de cette section.

Scénario d'optimisation des coûts

Prenons l'exemple d'un scénario dans lequel une société d'analyse effectuant le suivi des véhicules de livraison cherche à améliorer les performances de son SQL serveur. Après qu'un MACO expert a examiné les problèmes de performance de l'entreprise, celle-ci passe des instances x1e.2xlarge aux instances x2iedn.xlarge. Bien que la taille de l'instance soit plus petite, les améliorations apportées aux instances x2 améliorent les performances et l'optimisation SQL du serveur en utilisant des extensions de pool de mémoire tampon. Cela a permis à l'entreprise de passer de l'édition SQL Server Enterprise à l'édition SQL Server Standard et de réduire ses licences de SQL serveur de 8 vCPUs à 4vCPUs.

Avant l'optimisation :

Serveur EC2instance SQLÉdition serveur Coût mensuel
Prod DB1 x1e.2xlarge Enterprise 3 918,64$
Prod DB2 x1e.2xlarge Enterprise 3 918,64$
Total     7 837,28$

Après optimisation :

Serveur EC2instance SQLÉdition serveur Coût mensuel
Prod DB1 x2iedn.xlarge Standard 1 215,00$
Prod DB2 x2iedn.xlarge Standard 1 215,00$
Total     2 430,00$

Les modifications combinées des instances x1e.2xlarge aux instances x2iedn.xlarge ont permis au client exemple d'économiser 5 407$ par mois sur ses serveurs de base de données de production. Cela a réduit le coût total de la charge de travail de 69 %.

Note

Les prix indiqués dans le tableau précédent sont basés sur les tarifs à la demande dans la us-east-1 région.

Recommandations d'optimisation des coûts

instances de mémoire optimisée

L'un des aspects les plus importants de SQL Server est de comprendre sa dépendance à l'égard de la mémoire. SQLLe serveur tente d'utiliser toutes les données disponibles qui RAM ne sont pas utilisées par le système d'exploitation (jusqu'à 2 To pour une installation par défaut). Il le fait pour des raisons de performance. Travailler avec des données en mémoire est bien plus performant que de devoir constamment extraire des données du disque, apporter des modifications, puis les réécrire sur le disque. Au lieu de cela, le SQL serveur essaie de charger autant de données que possible à partir des bases de données jointes et conserve ces donnéesRAM. Les modifications apportées aux données sont enregistrées en mémoire et sont ensuite enregistrées sur disque.

Note

Pour une explication détaillée de la façon dont le SQL serveur écrit les modifications, voir Writing Pages dans la documentation Microsoft.

Étant donné que le SQL serveur fonctionne mieux avec de plus grandes quantités deRAM, nous recommandons généralement de commencer par les types d'instances optimisés pour EC2 la mémoire Amazon. Les instances optimisées pour la mémoire sont polyvalentes et offrent de nombreuses options différentes. La famille R a un vCPU-to-RAM ratio de 1 pour 8 et propose des options pour les processeurs Intel, les AMD processeurs, la mise en réseau améliorée, les EBS performances améliorées, le stockage d'instance et la vitesse du processeur améliorée. Pour les charges de travail gourmandes en mémoire, il existe également une gamme X qui combine bon nombre des mêmes options et étend le vCPU-to-RAM ratio de 1 à 32. Grâce à la polyvalence des instances optimisées pour la mémoire, vous pouvez les appliquer à des charges de travail de SQL serveur de toutes formes et de toutes tailles.

Charges de travail inférieures au minimum de ressources (moins de 4vCPUs)

Bien que certains cas d'utilisation fonctionnent bien avec les instances burstables (T3), nous vous recommandons généralement d'éviter d'utiliser des instances burstables pour SQL les charges de travail du serveur. La licence pour le SQL serveur est basée sur le nombre de licences vCPUs attribuées à une instance. Si le SQL serveur est inactif la majeure partie de la journée et qu'il obtient des crédits en rafale, vous payez pour SQL des licences que vous n'utilisez pas pleinement. En outre, le SQL serveur doit disposer d'une licence minimale de 4 cœurs par serveur. Cela signifie que si vous avez une charge de travail de SQL serveur qui ne nécessite pas vCPUs 4 % de puissance de calcul, vous payez une licence de SQL serveur que vous n'utilisez pas. Dans ces scénarios, il serait préférable de consolider plusieurs instances de SQL serveur sur un serveur plus grand.

Charges de travail utilisant un minimum de ressources (moins de 64 GoRAM)

De nombreuses charges de travail de SQL serveurs inférieures à 64 Go RAM ne privilégient ni les hautes performances ni la haute disponibilité. Pour ces types de charges de travail, l'édition SQL Server Web peut être adaptée si l'application est couverte par les restrictions de licence de Microsoft.

Important

SQLL'édition Server Web comporte un cas d'utilisation restreint basé sur les termes de licence de Microsoft. SQLL'édition Web Server ne peut être utilisée que pour prendre en charge les pages Web, les sites Web, les applications Web et les services Web publics et accessibles à Internet. Il ne peut pas être utilisé pour prendre en charge line-of-business des applications (par exemple, la gestion de la relation client, la gestion des ressources d'entreprise et d'autres applications similaires).

SQLL'édition Server Web peut atteindre 32 vCPUs et 64 Go RAM et est 86 % moins chère que l'édition SQL Server Standard. Pour les charges de travail nécessitant peu de ressources, l'utilisation d'une instance optimisée pour la AMD mémoire telle que la r6a, dont le coût de calcul est 10 % inférieur à celui de son homologue Intel, est également un bon moyen de réduire les coûts de calcul et de SQL licence au minimum.

Charges de travail avec des ressources moyennes (moins de 128 GoRAM)

SQLL'édition Server Standard est utilisée pour la majorité des charges de travail de SQL serveur jusqu'à 128 GoRAM. SQLL'édition Server Standard est 65 à 75 % moins chère que l'édition SQL Server Enterprise et peut atteindre 48 vCPUs ou 128 Go. RAM Étant donné que la RAM limite de 128 Go est généralement atteinte avant la CPU limite de 48 V, la plupart des clients souhaitent éviter de passer à l'édition SQL Server Enterprise.

SQLLe serveur possède une fonctionnalité appelée extension du pool de mémoire tampon. Cette fonctionnalité permet au SQL serveur d'utiliser une partie d'un disque pour agir en tant qu'extension deRAM. L'extension de pool de mémoire tampon fonctionne bien lorsqu'elle est associée à un stockage ultrarapide, comme celui NVMe SSDs utilisé dans le stockage d'EC2instances Amazon. Les EC2 instances Amazon contenant un stockage d'instance sont signalées par un « d » dans le nom de l'instance (par exemple, r5d, r6id et x2iedn).

Les extensions du pool de mémoire tampon ne remplacent pas le pool normalRAM. Toutefois, si vous avez besoin de plus de 128 Go de mémoire tamponRAM, vous pouvez utiliser des extensions de pool de mémoire tampon avec des EC2 instances telles que r6id.4xlarge et x2iedn.xlarge pour retarder la mise à niveau vers les licences de l'édition Enterprise.

Charges de travail hautes performances (plus de 128 GoRAM)

SQLLes charges de travail des serveurs nécessitant des performances élevées sont difficiles à optimiser en raison de leur dépendance à de nombreuses ressources. Cependant, comprendre les différences entre les EC2 cas peut vous éviter de faire le mauvais choix.

Le tableau suivant présente diverses EC2 instances optimisées pour la mémoire et leurs limites de performances.

  r5b r6idn r7iz x2iden x2iezn
Processeur

3.1 GHz

Processeur Intel Xeon de 2e génération

3,5 GHz

Processeur Intel Xeon de 3e génération

3.9 GHz

Processeur évolutif Intel Xeon de 4e génération

3,5 GHz

Processeur Intel Xeon de 3e génération

4,5 GHz

Processeur Intel Xeon de 2e génération

CPU: RAM ratio 1:8 1:8 1:8 1:32 1:32
Max v CPU 96 128 128 128 48
Max RAM 768 GO 1 024 GO 1 024 GO 4 096 GO 1 536 GO
Stockage d'instances

NVMe SSD

(4 x 1900 Go)

NVMe SSD

(2 x 1900 Go)

io2 Block Express Pris en charge Pris en charge Pris en charge Pris en charge
Max EBS IOPS 260 000 350 000 160 000 260 000 80 000
EBSDébit maximal 60 Gbit/s 80 Gbit/s 40 Gbit/s 80 Gbit/s 19 Gbit/s
Bande passante réseau maximale 25 Gb/s 200 Gb/s 50 Gb/s 100 Gbit/s 100 Gbit/s

Chaque instance est utilisée dans un but différent. Comprendre la charge de travail de votre SQL serveur peut vous aider à choisir le type d'instance qui vous convient le mieux.

Détails sur les attributs :

  • r5b — L'attribut « b » dans r5b signifie que ce type d'instance est axé sur les hautes performances. EBS Dans la cinquième génération d'instances optimisées pour la mémoire, le r5b était le choix préféré. Il s'agit du premier type d'instance à utiliser les volumes io2 Block Express et à atteindre un maximum IOPS de 260 000 unités de stockage. Le type d'instance r5b reste une alternative rentable pour les besoins de hautes EBS performances.

  • r6idn — La sixième génération d'instances optimisées pour la mémoire offrait des améliorations considérables par rapport à la génération précédente. Les améliorations de EBS performances apportées par le r5b vont encore plus loin avec le r6idn, portant le maximum à 350 000. IOPS Le r6idn dispose également d'un volume de stockage d'instance pour les extensions tempdb et de pool de mémoire tampon afin d'améliorer encore les performances du serveur. SQL

  • x2iedn — Le x2iedn est similaire au r6idn. Il offre des niveaux similaires de mise en réseau et de stockage d'NVMeSSDinstance améliorés et améliorés, mais avec un vCPU-to-RAM ratio de 1:32 pour les charges de travail de mémoire élevées et les faibles CPU quantités (coûts de licence de SQL serveur inférieurs). EBS

  • x2iezn — L'attribut « z » dans x2iezn indique que ce type d'instance est axé sur les performances élevées du processeur. Le processeur Cascade Lake possède une fréquence turbo tout-cœur allant jusqu'à 4,5GHz. Nous vous recommandons d'utiliser cette EC2 instance, associée à un vCPU-to-RAM ratio de 1:32, dans un scénario où vous souhaitez maintenir une faible CPU quantité de v. Cela permet à son tour de maintenir les coûts de licence des SQL serveurs à un faible niveau.

  • r7iz — L'attribut « z » dans r7iz indique que ce type d'instance est axé sur les performances élevées du processeur. Le processeur Sapphire Rapids a une fréquence turbo tout-cœur allant jusqu'à 3,9. GHz Comme les instances x2iezn, le r7iz donne la priorité aux performances des processeurs haute fréquence, mais avec un ratio de 1:8. vCPU-to-RAM

Ressources supplémentaires