Blog de Amazon Web Services (AWS)
Reduzca los costos de licenciamiento de Microsoft SQL Server con AWS Compute Optimizer
AWS Compute Optimizer aprovecha los tipos de carga de trabajo inferidos para detectar si SQL Server se está ejecutando en una instancia de Amazon EC2. Para posteriormente poder detectar si es que se están utilizando funciones de SQL Server Enterprise Edition para recomendar a los clientes el cambio a SQL Server Standard Edition como una opción para ahorrar en costos de licencia.
Abordar los desafíos de la optimización del rendimiento y las licencias de SQL Server
Los administradores de bases de datos (DBA) buscan formas más fáciles de optimizar sus instancias de SQL Server en Amazon EC2. Mientras que las necesidades de rendimiento de la base de datos cambian con frecuencia, lo que da como resultado diferentes requisitos de hardware, características y configuraciones. Lo anterior lleva a los clientes a requerir DBA dedicados para analizar y evaluar manualmente el rendimiento de las bases de datos.
AWS Compute Optimizer proporciona a los clientes recomendaciones de tamaño adecuadas para sus instancias de Amazon EC2 así como de sus volúmenes de Amazon Elastic Block Store (Amazon EBS), lo que puede proporcionar ahorros en costos de infraestructura. Con AWS Compute Optimizer y tipos de carga de trabajo inferidos, los DBA pueden identificar rápida y fácilmente una instancia de Amazon EC2 que ejecuta cargas de trabajo de SQL Server y revisar las recomendaciones sugeridas después de hacer liberaciones mayores de aplicaciones y bases de datos, el análisis de tamaño correcto y las recomendaciones se centran principalmente en optimizar el costo y el rendimiento de la instancia de Amazon EC2 y los volúmenes de Amazon EBS, pero carece de información sobre las características de la base de datos necesarias, lo que limita las recomendaciones de la edición necesaria.
Una optimización de costos que comúnmente se pasa por alto para las cargas de trabajo de SQL Server es la edición del licenciamiento. Por ejemplo, es posible que se haya requerido una función de edición de SQL Server Enterprise cuando se lanzó originalmente la aplicación, pero en versiones posteriores ya no se usa. Sin un conocimiento profundo de los cambios de las versiones individuales por aplicación/base de datos, los clientes podrían omitir un cambio en los requisitos de características y es posible que no puedan identificar la oportunidad de cambio de la edición de SQL Server.
Un caso de uso adicional para identificar oportunidades del cambio de edición son las actualizaciones mayores de la versión de SQL Server. Las características de la edición SQL Server Enterprise y Standard pueden cambiar entre diferentes versiones. Por ejemplo, Transparent Data Encryption (TDE) es una característica popular en la edición SQL Server en su edición Enterprise. Con el lanzamiento de SQL Server 2019, TDE ya está disponible en la edición Standard, eliminando así el requisito de edición Enterprise. AWS Compute Optimizer proporciona recomendaciones de cambio de la edición de licencias de SQL Server para clientes que ejecutan cargas de trabajo de SQL Server en Amazon EC2.
AWS Compute Optimizer comprueba una gran variedad de características de la edición SQL Server Enterprise, que incluyen:
- Instancias que requieren más de 128 GB de memoria para el pool de búfer; o 48 vCPU.
- Funciones de uso común, como son grupos de disponibilidad, gobernador de recursos y réplicas de lectura asincrónicas
- Funciones utilizadas con menos frecuencia, como memoria compatible con NUMA y metadatos en tempdb optimizados en memoria
Si ninguna de estas características o limitaciones está presente, AWS Compute Optimizer recomienda el cambio de edición de SQL Server y muestra el potencial de ahorro de precios bajo demanda (ver Figura 1). Si desea obtener más información sobre las comparaciones de características de la edición de SQL Server, consulte “Ediciones y características compatibles de SQL Server 2022”.
Estos análisis y recomendaciones automatizadas pueden ayudar a los DBA y a los clientes a identificar y validar fácilmente cuando existe la oportunidad de cambiar las ediciones de SQL Server y optimizar los costos de sus cargas de trabajo. Con AWS Compute Optimizer evaluando las características de la edición de SQL Server, los DBA y los clientes pueden estar seguros de que están utilizando la edición más rentable de SQL Server en todo momento.
La edición SQL Server Enterprise es 73% más cara que la edición Standard, por lo que el cambio de la edición Enterprise a la Standard puede generar ahorros significativos en los costos, como se muestra en la Tabla 1. Los precios mostrados se basan en los precios públicos de Microsoft, a partir de la fecha de publicación de esta entrada de blog, para SQL Server 2022 y SQL Server 2019.
Tabla 1. Comparación de precios para las ediciones SQL Server Enterprise y Standard
Además de reducir los costos de licencia de SQL Server, el cambio de edición de SQL Server de Enterprise a Standard puede ayudar a los clientes de BYOL a reducir los costos de Software Assurance. Los clientes de BYOL pueden optimizar su inversión en licencias reutilizando o guardando licencias Enterprise Edition no utilizadas, evitando costos adicionales de licencia si se reutilizan y/o reduciendo los costos de true-up.
Las recomendaciones de tamaño correctas de AWS Compute Optimizer están disponibles sin costo adicional. La recomendación de cambio de edición requiere que los clientes habiliten Amazon CloudWatch Application Insights, que utiliza una métrica personalizada con costo. Para obtener más información, lea ¿Qué es Amazon CloudWatch Application Insights?.
Primeros pasos con AWS Compute Optimizer
- Para comenzar a recibir recomendaciones de AWS Compute Optimizer, se debe enrolar en AWS Compute Optimizer. Una vez que se haya enrolado, comenzará a recibir recomendaciones de tamaño correcto de recursos tales como selecciones de tipos de instancia de Amazon EC2 y recomendaciones de rendimiento e IOPS de volúmenes de Amazon EBS. La función de tipo de carga de trabajo inferida está habilitada de forma predeterminada, por lo que no se requieren configuraciones adicionales para detectar si SQL Server se está ejecutando en una instancia de Amazon EC2. Recomendamos habilitar la utilización de memoria con el agente de Amazon CloudWatch para sus cargas de trabajo de SQL Server en instancias de Amazon EC2 para obtener información más detallada sobre el uso de la memoria.
- Para que la función de recomendaciones de licencias de software comercial de AWS Compute Optimizer proporcione recomendaciones, deberá habilitar Amazon CloudWatch Application Insights para instancias individuales de Amazon EC2. Para ver qué instancias de Amazon EC2 tienen Amazon CloudWatch Application Insights habilitado o requieren habilitarlo, haga clic en “Licenses” en el panel de navegación dentro de la consola de AWS Compute Optimizer, como se muestra en la Figura 3.
- En el panel de recomendaciones de licencias, se enumerarán las instancias de Amazon EC2 que ejecutan cargas de trabajo de SQL Server y se pueden ordenar por hallazgos. Hay tres hallazgos potenciales:
a. Optimizado: para estas instancias de Amazon EC2, Amazon CloudWatch Application Insights está habilitado y AWS Compute Optimizer ha determinado que se están utilizando funciones de la edición Enterprise y, por lo tanto, ya está optimizado.
b. No optimizado: para estas instancias de Amazon EC2, Amazon CloudWatch Application Insights está habilitado y AWS Compute Optimizer ha identificado que no está utilizando las características de la edición SQL Server Enterprise y se debería considerar la posibilidad de cambiar a Standard edition.
c. Métricas insuficientes: para estas instancias, Amazon CloudWatch Application Insights no está habilitado o no tiene los permisos adecuados y, por lo tanto, no se puede proporcionar una recomendación.
4. Para las instancias de Amazon EC2 que muestran métricas insuficientes, haga clic en el ID de instancia para iniciar el proceso de habilitación de Application Insights.
5. Para permitir el acceso a AWS Compute Optimizer y Amazon CloudWatch Application Insights para verificar el uso de las características de SQL Server Enterprise Edition, se debe seleccionar o crear un secreto (consulte la Figura 4). El secreto serán las credenciales para el inicio de sesión autenticado de SQL Server, esto es nombre de usuario y contraseña, que debe configurarse en la instancia de SQL Server de destino. Deberá asegurarse de que el inicio de sesión de SQL Server tenga los siguientes permisos:
GRANT VIEW SERVER STATE TO [LOGIN];
GRANT VIEW ANY DEFINITION TO [LOGIN];
Una vez que haya creado las credenciales para el inicio de sesión y le haya otorgado los permisos sobre la instancia de SQL Server de destino, puede utilizar AWS Secrets Manager para almacenar las credenciales de inicio de sesión para que las use Amazon CloudWatch Application Insights. Seleccione el secreto en el menú desplegable.
- También deberá configurar una política de IAM y un rol de instancia para permitir que la instancia de Amazon EC2 acceda al secreto seleccionado anteriormente. Este rol de instancia debe adjuntarse a la instancia de Amazon EC2 de destino que ejecuta SQL Server para habilitar las recomendaciones de licencias. Haga clic en la casilla de verificación “Confirm Instance Role and Policy is attached”.
- Posteriormente hacer clic en “Enable license recommendations” (ver Figura 5). Una vez que haya hecho clic, debe obtener una marca de verificación verde en la parte superior que indique “CloudWatch Application Insights is successfully enabled”.
Después de habilitar Amazon CloudWatch Application Insights, las recomendaciones tardarán 24 horas en completarse en el panel de AWS Compute Optimizer. El proceso de habilitación implementará un servicio de Windows denominado PrometheusSqlExporterSQL (ver Figura 6), en la instancia de Amazon EC2 de destino. Este servicio es necesario para determinar si se está utilizando alguna característica de SQL Server Enterprise Edition.
Para ver los detalles de la recomendación, puede hacer clic en un ID de instancia que se identifique como sobreaprovisionado en la columna de hallazgos en el panel de recomendaciones para licencias (ver Figura 7). Esto le llevará a la página de detalles de la instancia, donde verá una nueva pestaña en la parte superior etiquetada como “License Recommendations”. En esta pestaña, puede ver los hallazgos, tal como: no optimizado y; encontrar la razón como licencia sobreaprovisionada.
Al hacer clic en el ID de instancia, puede ver más detalles sobre las recomendaciones de licencia. En la página específica de la instancia, verá detalles sobre los costos de la licencia actual versus la recomendación. En la Figura 8, Enterprise es la edición actual siendo Standard la recomendación.
También podrá ver detalles como el porcentaje estimado de ahorro mensual y oportunidad de ahorro si cambia la edición de SQL Server. En la Figura 9, los ahorros de Amazon EC2 y los ahorros de recomendación de SQL Server se dividen en un gráfico circular, mostrando los ahorros estimados para ambos. La recomendación también incluye el precio bajo demanda del cambio de licencia comparado con permanecer en la edición actual, permitiendo a los clientes tener transparencia total de ahorro de costos.
Cambio de licencia de SQL Server Enterprise edition a SQL Server Standard edition
Los clientes que ejecuten SQL Server en Amazon EC2 con AMI que incluya la licencia de SQL Server deben lanzar una nueva AMI de edición estándar de SQL Server y completar una migración de base de datos en lugar de intentar el cambio de licencia de la instancia. Revise nuestra documentación sobre los métodos de migración de bases de datos de SQL Server para conocer los diferentes métodos de migración nativa de SQL Server.
Un documento de automatización de AWS Systems Manager también puede ayudar a los clientes que ejecutan SQL Server en Amazon EC2 con el modelo BYOL de SQL Server a cambiar la edición de SQL Server Enterprise Edition a Standard o Developer Edition. Por favor revise esta entrada de blog detallada sobre cómo usar la automatización para cambio de ediciones: Cambio de edición de SQL Server Enterprise edition usando AWS Systems Manager Document para reducir costos.
Conclusión
Al seleccionar la edición correcta de SQL Server, los clientes pueden lograr importantes ahorros de costos al tiempo que garantizan que se utilicen las funciones de SQL Server necesarias. La adición de la evaluación de funciones de SQL Server Enterprise Edition a AWS Compute Optimizer puede ayudar a las organizaciones a reducir los costos de licencias e infraestructura de SQL Server. Con esta característica, los clientes pueden asegurarse de que sus instancias de SQL Server en Amazon EC2 se ejecutan en un estado de rendimiento, licencia y costos optimizados.
Este artículo se tradujo del Blog Post de AWS en Inglés.
Sobre o autor
Blake Lyles es un arquitecto de soluciones especialista en cargas de trabajo de Microsoft con un enfoque especial en SQL Server. Blake ha estado en Amazon por más de 6 años, pasando la mayor parte de ese tiempo trabajando con cargas de trabajo de bases de datos, incluyendo SQL Server en EC2, compatible con RDS, Database Migration Service y Amazon DocumentDB. Blake ha ayudado a los clientes a migrar y modernizar sus cargas de trabajo de bases de datos en AWS.
Reghardt van Rooyen es un arquitecto especialista senior de soluciones, enfocado en cargas de trabajo de Microsoft, en Amazon Web Services. Utilizando sus 14 años de experiencia en administración y liderazgo de bases de datos SQL Server, Reghardt se especializa en arquitectura de soluciones SQL Server HADR de alto rendimiento para clientes empresariales. Siempre inquisitivo, explora la infraestructura de AWS y los límites de rendimiento de la base de datos SQL Server para garantizar que las implementaciones de los clientes tengan un rendimiento óptimo y se optimicen los costos. Como nativo de Sudáfrica, Reghardt disfruta del rugby, barbacoa y pasar tiempo con su familia y amigos al aire libre.
Yogi es Arquitecta principal de Soluciones quien cuenta con 22 años de experiencia trabajando con diferentes tecnologías de Microsoft, su especialidad es en SQL Server y diferentes tecnologías de bases de datos. Yogi tiene un profundo conocimiento y experiencia de AWS en la ejecución de cargas de trabajo de Microsoft en AWS.