Unificación de instancias - 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.

Unificación de instancias

Esta sección se centra en la técnica de optimización de costos, que consiste en combinar varias instancias de SQL Server en el mismo servidor para minimizar los costos asociados al uso de licencias y maximizar la utilización de los recursos.

Descripción general de

La creación de una instancia forma parte del proceso de instalación del motor de base de datos de SQL Server. La instancia de SQL Server es una instalación completa que contiene sus propios archivos de servidor, inicios de sesión de seguridad y bases de datos del sistema (master, model, msdb y tempdb). Como una instancia tiene todos sus propios archivos y servicios, puede instalar varias instancias de SQL Server en el mismo sistema operativo sin que las instancias interfieran entre sí. Sin embargo, dado que las instancias están instaladas en el mismo servidor, todas comparten los mismos recursos de hardware, como el procesamiento, la memoria y las redes.

Lo habitual es utilizar solo una instancia de SQL Server por servidor en los entornos de producción, de modo que una instancia “ocupada” no utilice en exceso los recursos de hardware compartidos. Asignar a cada instancia de SQL Server su propio sistema operativo, con recursos independientes, constituye un límite mejor que depender únicamente de la gobernanza de recursos. Esto es especialmente cierto en el caso de las cargas de trabajo de SQL Server de alto rendimiento que requieren grandes cantidades de recursos de RAM y CPU.

Sin embargo, no todas las cargas de trabajo de SQL Server utilizan una gran cantidad de recursos. Por ejemplo, algunas organizaciones asignan a cada uno de sus clientes su propia instancia de SQL Server dedicada por motivos de cumplimiento o seguridad. En el caso de clientes más pequeños o clientes que no suelen estar activos, eso significa poner en marcha las instancias de SQL Server con un mínimo de recursos.

Como se indica en Microsoft SQL Server 2019: Licensing guide, cada servidor que use SQL Server debe tener un mínimo de cuatro licencias de CPU. Esto significa que, incluso si ejecuta un servidor con solo dos vCPUs, debe seguir licenciando SQL Server para cuatro versionesCPUs. Según el precio público de SQL Server de Microsoft, esto supone una diferencia de 3.945$ si utilizas la edición estándar de SQL Server. En el caso de las organizaciones que utilizan varios servidores con una única instancia de SQL Server y utilizan un mínimo de recursos, el costo combinado de tener que licenciar los recursos no utilizados puede ser considerable.

Escenario de optimización de costos

En esta sección se analiza un escenario de ejemplo en el que se compara la diferencia entre poner en marcha cuatro servidores de Windows Server, cada uno con una única instancia de SQL Server, y poner en marcha un único servidor de Windows Server de mayor tamaño que usa varias instancias de SQL Server simultáneamente.

Si cada instancia de SQL Server solo necesita dos v CPUs y 8 GB de RAM, el coste total por servidor es de 7.890$ para la licencia de SQL Server, además de un coste informático por hora de 0,096$.

EC2 instancia v CPUs RAM Precio v CPUs para licenciar Costo total de las licencias de SQL Server
m6i.large 2 8 0.096 4 7.890 DÓLARES

Si se amplía esta cifra a cuatro servidores, el costo total de la licencia de SQL Server es de 31 560 USD, con un costo asociado al uso de recursos de computación por hora de 0,384 USD.

EC2 instancia v CPUs RAM Precio v CPUs para licenciar Costo total de las licencias de SQL Server
4 m6i.large 2 32 0.384 16 31.560 DÓLARES

Si combina las cuatro instancias de SQL Server en una sola EC2 instancia, la cantidad total de recursos de cómputo y de cómputo permanece igual. Sin embargo, al eliminar los costos innecesarios de licencias de SQL Server, puede reducir el costo total de poner en marcha la carga de trabajo en 15 780 USD.

EC2 instancia v CPUs RAM Precio v CPUs para licenciar Costo total de las licencias de SQL Server
m6i.2xlarge 8 32 0.384 8 15.780 DÓLARES
nota

En las tablas anteriores, los costos de procesamiento muestran los precios por hora y bajo demanda para EC2 los servidores de Amazon que ejecutan Windows Server en la us-east-1 región. Los costos asociados al uso de licencias de la edición Standard de SQL Server se basan en la información de Precios y licencias de SQL Server 2022.

Recomendaciones de optimización de costos

Si está pensando en unificar las instancias de SQL Server, el mayor problema al que se enfrenta es el consumo de recursos de cada una de las instancias que desee unificar. Es importante obtener métricas de rendimiento durante periodos prolongados para comprender mejor los patrones de carga de trabajo de cada servidor. Algunas herramientas comunes para la supervisión del consumo de recursos son Amazon CloudWatch, Windows Performance Monitor (perfmon) y las herramientas de supervisión nativas de SQL Server.

Le recomendamos que tenga en cuenta las siguientes preguntas al analizar si las cargas de trabajo de SQL Server se pueden combinar para utilizar los mismos recursos del servidor sin que interfieran entre sí:

  • ¿Qué recursos (CPU, memoria y ancho de banda de la red) se consumen durante el estado estable?

  • ¿Qué recursos (CPU, memoria y ancho de banda de la red) se consumen durante los picos?

  • ¿Con qué frecuencia se producen los picos? ¿Los picos son consistentes?

  • ¿Los picos de recursos de un servidor coinciden con los picos de recursos de otro servidor?

  • ¿Qué capacidad de IOPS y rendimiento de almacenamiento requiere SQL Server?

Si desea seguir adelante con un plan para combinar instancias de SQL Server, consulte la publicación Ejecutar varias instancias de SQL Server en una EC2 instancia de Amazon en el blog AWS Cloud Operations & Migrations. En esta publicación, se proporcionan instrucciones sobre cómo realizar los cambios de configuración en SQL Server para agregar instancias adicionales. Antes de empezar, tenga en cuenta las pequeñas diferencias que se producen cuando se instalan varias instancias en el mismo servidor:

  • La instancia de base de datos de SQL Server predeterminada se demp,oma MSSQLSERVER y utiliza el puerto 1433.

  • Cada instancia adicional instalada en el mismo servidor es una instancia de base de datos “con nombre”.

  • Cada instancia con nombre tiene un nombre de instancia y un puerto únicos.

  • El navegador de SQL Server debe ponerse en marcha para coordinar el tráfico a las instancias con nombre.

  • Cada instancia puede usar ubicaciones distintas para los archivos de datos de la base de datos y los inicios de sesión independientes.

  • La configuración máxima de memoria de SQL Server debe configurarse de acuerdo con las necesidades de rendimiento de cada instancia, y su total combinado también debe dejar suficiente memoria para el sistema operativo subyacente.

  • Puede utilizar las capacidades de copia de seguridad y restauración nativas de SQL Server o AWS DMS para la migración o unificación.

Recursos adicionales