Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Seleccione la EC2 instancia adecuada para las cargas de trabajo de SQL Server
importante
Antes de leer esta sección, le recomendamos que lea las secciones Explicación de las licencias de SQL Server y Selección del tipo de instancia adecuado para las cargas de trabajo de Windows de esta guía.
Descripción general de
Microsoft SQL Server se ha estado ejecutando en instancias de Amazon Elastic Compute Cloud (Amazon EC2) durante más de 15 años. AWS ha aprovechado esa experiencia y la ha utilizado para ayudar a desarrollar EC2 instancias de Amazon que se adapten a las cargas de trabajo de SQL Server, desde especificaciones mínimas hasta clústeres multirregionales de alto rendimiento.
La elección de la EC2 instancia correcta para SQL Server depende en gran medida de la carga de trabajo. Entender cómo se licencia SQL Server, cómo utiliza la memoria y cómo las funciones de SQL Server se alinean con EC2 las ofertas de Amazon puede ayudarle a encontrar la mejor EC2 instancia para su aplicación.
En esta sección se abordan diversas cargas de trabajo de SQL Server y cómo pueden combinarse con determinadas EC2 instancias para reducir al mínimo los costes de licencias y procesamiento.
Comparación de los costos
Amazon EC2 le permite traer su propia licencia (BYOL) o pagar por uso con las licencias de Windows Server y SQL Server. En el caso de las pay-as-you-go licencias, los costes de las licencias de Windows Server y SQL Server se incluyen en el coste por hora de la EC2 instancia. Por ejemplo, puede tener diferentes AMIs precios. El precio de la AMI depende de la edición de SQL Server en la que funcione la AMI.
Los precios de Windows Server y SQL Server no están detallados. No encontrará precios detallados en herramientas como Calculadora de precios de AWS
| EC2 instancia | AMI | Precio de los recursos de computación | Precio de la licencia de Windows | Precio de la licencia de SQL | Precio total |
|---|---|---|---|---|---|
| r5.xlarge | Linux (precios de computación) | 183,96$ | - | - | 183,96 DÓLARES |
| r5.xlarge | Linux + Edición Developer de SQL | 183,96 DÓLARES | $0 | $0 | 183,96 DÓLARES |
| r5.xlarge | Windows Server (licencia incluida) | 183,96 DÓLARES | 134,32 DÓLARES | - | 318,28 DÓLARES |
| r5.xlarge | Windows + Edición Developer de SQL | 183,96 DÓLARES | 134,32 DÓLARES | $0 | 318,28 DÓLARES |
| r5.xlarge | Windows + Edición Web de SQL (licencia incluida) | 183,96 DÓLARES | 134,32 DÓLARES | 49,64 DÓLARES | 367,92 DÓLARES |
| r5.xlarge | Windows + Edición Standard de SQL (licencia incluida) | 183,96 DÓLARES | 134,32 DÓLARES | 350,4 DÓLARES | 668,68 DÓLARES |
| r5.xlarge | Windows + Edición Enterprise de SQL (licencia incluida) | 183,96 DÓLARES | 134,32 DÓLARES | 1095 DÓLARES | 1413,28 DÓLARES |
nota
Los precios de la tabla anterior se basan en los precios bajo demanda de la región us-east-1.
El método más rentable para poner en marcha SQL Server consiste en utilizar una edición de nivel inferior hasta que necesite una característica de una edición de nivel superior. Para obtener más información, consulte la sección Comparación de las ediciones de SQL Server de esta guía. Pasar de la edición Web de SQL Server a la edición Standard de SQL Server multiplica por más de siete el costo adquirir la licencia de SQL Server y por más de tres el costo de pasar de la edición Standard a la edición Enterprise. La disparidad en los costos de las licencias es un factor importante que se debe tener en cuenta; esto se analiza en el resto de la sección.
Escenario de optimización de costos
Imagine un escenario en el que una empresa de análisis que hace un seguimiento de los vehículos de entrega busca mejorar el rendimiento de SQL Server. Una vez que un experto en MACO analiza los problemas de rendimiento de la empresa, la empresa pasa de las instancias x1e.2xlarge a las instancias x2iedn.xlarge. Si bien el tamaño de la instancia es menor, las mejoras introducidas en las instancias x2 mejoran el rendimiento y la optimización de SQL Server mediante el uso de extensiones de grupos de búferes. Esto permitió a la empresa pasar de la edición SQL Server Enterprise a la edición SQL Server Standard y reducir sus licencias de SQL Server de 8 a 4 vCPUs . CPUs
Antes de la optimización:
| Server | EC2 instancia | Edición de SQL Server | Costo mensual |
|---|---|---|---|
| Prod DB1 | x1e.2xlarge | Enterprise | 3.918,64 DÓLARES |
| Prod DB2 | x1e.2xlarge | Enterprise | 3.918,64 DÓLARES |
| Total | 7.837,28 DÓLARES |
Tras la optimización:
| Server | EC2 instancia | Edición de SQL Server | Costo mensual |
|---|---|---|---|
| Prod DB1 | x2iedn.xlarge | Standard | 1.215,00$ |
| Orgulloso DB2 | x2iedn.xlarge | Standard | 1.215,00$ |
| Total | 2.430,00 DÓLARES |
Los cambios combinados de las instancias x1e.2xlarge a las instancias x2iedn.xlarge permitieron al cliente del ejemplo ahorrar 5407 USD al mes en sus servidores de bases de datos de producción. Esto redujo el costo total de la carga de trabajo en un 69 %.
nota
Los precios de la tabla anterior se basan en los precios bajo demanda de la región us-east-1.
Recomendaciones de optimización de costos
instancias optimizadas para memoria
Uno de los aspectos más importantes de SQL Server es comprender que depende de la memoria. SQL Server intenta utilizar toda la RAM disponible que no esté siendo utilizada por el sistema operativo (hasta 2 TB para una instalación predeterminada). Lo hace por motivos de rendimiento. Trabajar con datos en la memoria es mucho más eficaz que tener que extraer datos del disco constantemente, realizar cambios y volver a escribirlos en el disco. En su lugar, SQL Server intenta cargar tantos datos de las bases de datos adjuntas como sea posible y los guarda en la RAM. Los cambios realizados en los datos se producen en la memoria y, posteriormente, se almacenan en el disco.
nota
Para obtener una explicación detallada de cómo SQL Server escribe los cambios, consulte Writing Pages
Dado que SQL Server funciona mejor con grandes cantidades de RAM, normalmente recomendamos empezar con los tipos de instancias optimizadas para EC2 memoria de Amazon
Cargas de trabajo por debajo del mínimo de recursos (menos de 4 v) CPUs
Si bien algunos casos de uso funcionan bien con las instancias ampliables (T3), le recomendamos que, en general, evite el uso de instancias ampliables para las cargas de trabajo de SQL Server. La licencia de SQL Server se basa en la cantidad de v CPUs asignada a una instancia. Si SQL Server está inactivo la mayor parte del día y está adquiriendo créditos de ampliación, tendrá que pagar por las licencias de SQL que no utilice en su totalidad. Además, SQL Server requiere una licencia mínima de 4 núcleos por servidor. Esto significa que si tiene una carga de trabajo de SQL Server que no requiere una potencia de cálculo equivalente a 4 vCPUs , está pagando una licencia de SQL Server que no está utilizando. En estos escenarios, lo mejor sería unificar varias instancias de SQL Server en un servidor más grande.
Cargas de trabajo con un uso mínimo de recursos (menos de 64 GB de RAM)
Muchas cargas de trabajo de SQL Server de menos de 64 GB de RAM no dan prioridad al alto rendimiento ni a la alta disponibilidad. En este tipo de cargas de trabajo, la edición Web de SQL Server podría ser una buena opción si la aplicación está cubierta por las restricciones de licencia de Microsoft.
importante
La edición Web de SQL Server tiene un caso de uso restringido según los términos de licencia de Microsoft. SQL Server Web Edition solo se puede usar para admitir páginas web, sitios web, aplicaciones web y servicios web públicos y accesibles a través de Internet. No se puede usar para dar soporte a line-of-business aplicaciones (por ejemplo, aplicaciones de administración de relaciones con los clientes, administración de recursos empresariales y otras aplicaciones similares).
La edición Web de SQL Server se amplía hasta 32 V CPUs y 64 GB de RAM y es un 86 por ciento más económica que la edición SQL Server Standard. En el caso de cargas de trabajo con pocos recursos, utilizar una instancia optimizada para memoria de AMD como la r6a, que tiene un precio de procesamiento un 10 % más económico que su homóloga de Intel, también es una buena forma de reducir al mínimo los costos asociados al uso de licencias de SQL y al uso de recursos de computación.
Cargas de trabajo con un uso medio de recursos (menos de 128 GB de RAM)
La edición Standard de SQL Server se utiliza en la mayoría de las cargas de trabajo de SQL Server de hasta 128 GB de RAM. La edición SQL Server Standard es entre un 65 y un 75 por ciento más económica que la edición SQL Server Enterprise y puede ampliarse hasta 48 V CPUs y 128 GB de RAM. Dado que el límite de 128 GB de RAM suele alcanzarse antes que el límite de 48 vCPU, es el objetivo de la mayoría de los clientes que desean evitar usar la edición Enterprise de SQL Server.
SQL Server tiene una característica llamada extensión de grupo de búferes
Las extensiones de grupos de búferes no son un reemplazo de la RAM normal. Sin embargo, si necesitas más de 128 GB de RAM, puedes usar extensiones de grupos de búferes con EC2 instancias como la r6id.4xlarge y la x2iedn.xlarge para retrasar la actualización a las licencias de la edición Enterprise.
Cargas de trabajo de alto rendimiento (más de 128 GB de RAM)
Las cargas de trabajo de SQL Server que requieren un alto rendimiento representan un desafío para la optimización de costos debido a que dependen de una gran cantidad de recursos. Sin embargo, comprender las diferencias entre las instancias puede evitar que tome una decisión equivocada. EC2
En la siguiente tabla, se muestran diversas EC2 instancias con memoria optimizada y sus límites de rendimiento.
| r5b | r6idn | r7iz | x2iedn | x2iezn | |
|---|---|---|---|---|---|
| Procesador | 3.1 GHz Procesador Intel Xeon de 2.ª generación |
3.5 GHz Procesador Intel Xeon de 3.ª generación |
3.9 GHz Procesador escalable Intel Xeon de 4.ª generación |
3.5 GHz Procesador Intel Xeon de 3.ª generación |
4.5 GHz Procesador Intel Xeon de 2.ª generación |
| Proporción CPU:RAM | 1:8 | 1:8 | 1:8 | 1:32 | 1:32 |
| vCPU máxima | 96 | 128 | 128 | 128 | 48 |
| RAM máxima | 768 GB | 1024 GB | 1024 GB | 4096 GB | 1536 GB |
| Almacenamiento de instancias | – | NVMe SSD (4 × 1900 GB) |
– | NVMe SSD (2 × 1900 GB) |
– |
| io2 Block Express | Soportado | Soportado | Soportado | compatible | – |
| IOPS máximas de EBS | 260 000 | 350.000 | 160 000 | 260 000 | 80 000 |
| Rendimiento máximo de EBS | 60 Gbps | 80 Gbps | 40 Gbps | 80 Gbps | 19 Gbps |
| Ancho de banda de la red máximo | 25 Gbps | 200 Gbps | 50 Gbps | 100 Gbps | 100 Gbps |
Cada instancia se usa para un propósito diferente. Comprender la carga de trabajo de SQL Server puede ser útil para elegir el tipo de instancia que mejor se adapte a sus necesidades.
Detalles sobre los atributos:
-
r5b: el atributo “b” de r5b significa que este tipo de instancia se centra en un alto rendimiento de EBS. En la 5.ª generación de instancias optimizadas para memoria, la r5b era la opción más popular. Fue el primer tipo de instancia que utilizó los volúmenes de io2 Block Express y alcanzó un máximo de 260 000 IOPS de almacenamiento. El tipo de instancia r5b sigue siendo una alternativa rentable para las necesidades de alto rendimiento de EBS.
-
r6idn: la 6.ª generación de instancias optimizadas para memoria ofreció mejoras considerables con respecto a la generación anterior. Las mejoras de rendimiento de EBS derivadas de la r5b van un paso más allá con la r6idn, que eleva el máximo de IOPS a 350 000. La r6idn también tiene un volumen de almacén de instancias para tempdb y las extensiones de grupos de búferes a fin de aumentar aún más el rendimiento de SQL Server.
-
x2iedn: la x2iedn es similar a la r6idn. Ofrece niveles similares de EBS mejorado, redes mejoradas y almacenamiento de instancias en NVMe SSD, pero con una vCPU-to-RAM proporción de 1:32 para cargas de trabajo de memoria elevadas y una cantidad de CPU reducida (costes de licencia de SQL Server más bajos).
-
x2iezn: el atributo “z” de x2iezn indica que este tipo de instancia se centra en un alto rendimiento del procesador. El procesador Cascade Lake tiene una frecuencia turbo integrada en todos los núcleos de hasta 4,5. GHz Le recomendamos que utilice esta EC2 instancia, junto con una vCPU-to-RAM proporción de 1:32, en un escenario en el que desee mantener baja la cantidad de vCPU. Esto, a su vez, puede mantener bajos los costos asociados al uso de licencias de SQL Server.
-
r7iz: el atributo “z” de r7iz indica que este tipo de instancia se centra en un alto rendimiento del procesador. El procesador Sapphire Rapids tiene una frecuencia turbo integral de hasta 3,9. GHz Al igual que las instancias x2iezn, el r7iz prioriza el rendimiento del procesador de alta frecuencia, pero con una relación de 1:8. vCPU-to-RAM
Recursos adicionales
-
EC2Instancias de Amazon de uso general
(AWS documentación) -
Comparison tool
(Vantage) -
Licencias: SQL Server
(AWS documentación)