Seleccione la EC2 instancia adecuada para las cargas de trabajo de SQL Server - AWS Guía prescriptiva

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. Si selecciona diferentes combinaciones de ofertas con licencia incluida, se pueden deducir los costos de la licencia, tal y como se muestra en la siguiente tabla.

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 en la documentación de Microsoft.

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. Las instancias optimizadas para memoria son versátiles y ofrecen una variedad de opciones diferentes. La familia R tiene una vCPU-to-RAM proporción de 1 a 8 y cuenta con opciones para procesadores Intel, procesadores AMD, redes mejoradas, rendimiento EBS mejorado, almacenamiento de instancias y velocidad de procesador mejorada. Para cargas de trabajo con un uso intensivo de memoria, también hay una familia X que combina muchas de las mismas opciones y amplía la proporción de 1 a 32. vCPU-to-RAM Gracias a la versatilidad de las instancias optimizadas para memoria, puede aplicarlas a cargas de trabajo de SQL Server de todas las formas y tamaños.

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. Esta característica permite a SQL Server utilizar una parte de un disco como extensión de la RAM. La extensión del grupo de búferes funciona bien cuando se combina con un almacenamiento ultrarrápido, como el que NVMe SSDs se usa en el almacenamiento de EC2 instancias de Amazon. Las EC2 instancias de Amazon que contienen almacenamiento de instancias se indican con una «d» en el nombre de la instancia (por ejemplo, r5d, r6id y x2iedn).

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