Dimensionamiento correcto de las cargas de trabajo de Windows
Descripción general
El dimensionamiento correcto es una de las herramientas de ahorro de costos más potentes. AWS ofrece varios métodos para recopilar información sobre el tamaño correcto, desde revisar las posibles cargas de trabajo mediante una evaluación de Optimización y evaluación de licencias (OLA) de AWS (OLA de AWS)
En esta sección se muestra cómo utilizar AWS Compute Optimizer para identificar oportunidades de dimensionamiento correcto de Amazon EC2. Compute Optimizer permite evitar el aprovisionamiento en exceso y el aprovisionamiento insuficiente de los siguientes tipos de recursos de AWS:
-
Tipos de instancias de Amazon Elastic Compute Cloud (Amazon EC2)
-
Servicios de Amazon Elastic Container Service (Amazon ECS) en
AWS Fargate -
Funciones de AWS Lambda
basadas en los datos de uso proporcionados por Amazon CloudWatch
Escenario de optimización de costos
Calcular la eficacia del dimensionamiento correcto puede ser un desafío, ya que este proceso puede llevarse a cabo para una aplicación específica, u un equipo o toda una organización. Por ejemplo, pensemos en una organización que migra varios miles de instancias a cargas de trabajo de Windows a AWS, donde el 90 % de su flota está compuesta por cargas de trabajo de Windows. La organización puede emplear Compute Optimizer para analizar su flota y detectar un exceso significativo de aprovisionamiento en sus cuentas y Regiones de AWS. Luego, pueden usar Automatización de AWS Systems Manager para ajustar el tamaño de su flota mediante varios periodos de mantenimiento. Como resultado, la organización logra dimensionar correctamente el tipo de instancia del 70 % de su flota y obtener un ahorro del 35 %.
El siguiente panel ilustra los ahorros logrados durante varios meses, ya que esta organización de ejemplo implementó estratégicamente las recomendaciones de dimensionamiento correcto de Compute Optimizer. Su objetivo era operar sus cargas de trabajo existentes de la manera más eficiente posible para reanudar una migración estancada desde un centro de datos de coubicación cuyo contrato estaba a punto de expirar.
Recomendaciones de optimización de costos
Le recomendamos que siga estos pasos para optimizar sus costos mediante Compute Optimizer:
-
Activación de Compute Optimizer
-
Activación de la recopilación de métricas de memoria para los nodos de Windows
-
Consumir las recomendaciones de Compute Optimizer
-
Etiquetado de las instancias que se deben redimensionar
-
Activar la etiqueta de asignación de costos para que funcione con las herramientas de facturación de AWS
-
Implementar las recomendaciones de dimensionamiento correcto con Automatización de AWS Systems Manager
-
Métodos alternativos de redimensionamiento
-
Revisión del antes y el después de los costos en Explorador de costos
Activación de Compute Optimizer
Puede activar Compute Optimizer par toda la organización o para una única cuenta en AWS Organizations. La configuración de toda la organización proporciona informes continuos para las instancias nuevas y existentes de toda la flota y para todas las cuentas de miembros. Esto permite que el dimensionamiento correcto sea una actividad recurrente en lugar de una actividad puntual.
Nivel de organización
Para la mayoría de las organizaciones, la forma más eficiente de usar Compute Optimizer es hacerlo a un nivel organizacional. Esto ofrece información de varias cuentas y regiones de la organización y centraliza los datos en un único origen para su revisión. Para activar Compute Optimizer por organización, haga lo siguiente:
-
Inicie sesión en su cuenta de administración de Organizations con un rol que tenga los permisos necesarios y seleccione la opción de inclusión para todas las cuentas de esta organización. Su organización debe tener habilitadas todas las características.
-
Después de activar la cuenta de administración, puede iniciar sesión en ella, ver todas las otras cuentas de miembros y consultar sus recomendaciones.
nota
Se recomienda configurar una cuenta de administración delegada para Compute Optimizer. Esto le permite ejercer el principio de privilegio mínimo. De esta forma, puede minimizar el acceso a la cuenta de administración de la organización y, al mismo tiempo, seguir proporcionando acceso al servicio de toda la organización.
Nivel de cuenta única
Si quiere trabajar con una cuenta con costos elevados, pero no tiene acceso a AWS Organizations, puede activar Compute Optimizer para esa cuenta y región. Para obtener más información sobre el proceso de inclusión, consulte Getting started with AWS Compute Optimizer en la documentación de Compute Optimizer.
Activación de la recopilación de métricas de memoria para los nodos de Windows
Las métricas de memoria proporcionan a Compute Optimizer las métricas esenciales necesarias para hacer recomendaciones bien informadas sobre el dimensionamiento correcto de su organización. Antes de hacer una recomendación, se analiza la CPU, la memoria, la red y el almacenamiento.
Para transferir las métricas de memoria de las instancias de EC2 de Windows a Compute Optimizer, debe activar el agente de CloudWatch y configurar las métricas de memoria para que se recopilen cada 60 segundos. El uso de métricas de memoria con CloudWatch no conlleva ningún costo adicional.
Activación del agente de CloudWatch y configuración de las métricas de memoria
Descargue el archivo ComputeOptimize.yml
-
Almacén de parámetros de AWS Systems Manager: almacena la configuración del agente de CloudWatch necesaria para recopilar las métricas de memoria.
-
Rol de AWS Identity and Access Management (IAM) con políticas administradas de AWS para AWS Systems Manager adjuntas: este componente es necesario para los documentos de Automatización de Systems Manager.
-
Documento de AWS Systems Manager: instala y configura el agente de CloudWatch (y sustituye cualquier configuración de CloudWatch existente).
-
Asociación de AWS Systems Manager State Manager: permite que los documentos de Systems Manager se usen en todas las instancias de su cuenta.
importante
El uso de esta plantilla sobrescribe cualquier configuración de CloudWatch existente en las instancias.
Después, haga lo siguiente:
-
Inicie sesión en la Consola de administración de AWS y abra la consola de CloudFront
. -
En el panel de navegación, seleccione Stacks (Pilas).
-
Elija Create stack (Crear pila) y, a continuación, seleccione With existing resources (import resources) (Con recursos existentes (importar recursos)).
-
Elija Siguiente.
-
En Recurso de plantilla, elija Cargar un archivo de plantilla.
-
Elija archivo y cargue el archivo
ComputeOptimize.yml. -
Elija Siguiente.
-
En la página Especificar los detalles de la pila, en el campo Nombre de la pila, ingrese un nombre para esta pila y, a continuación, elija Siguiente.
-
En la página Identificar recursos, ingrese los valores de los identificadores de los recursos que va a importar.
-
Seleccione Importar recursos.
-
Una vez implementada la pila, seleccione la pestaña Salidas para buscar la clave, el valor y la descripción de la asociación.
Supervisión del progreso de la asociación
-
Una vez completada la implementación de la pila de CloudFormation, abra la consola de Systems Manager
. -
En el panel de navegación, en Administración de nodos, seleccione State Manager.
-
En la página Asociaciones, elija el ID de su asociación.
-
Elija la pestaña Execution history (Historial de ejecución).
-
En la columna ID de ejecución, elija el ID de ejecución de su asociación. El estado debe ser Éxito.
Visualización de métricas con CloudWatch
Le recomendamos que espere al menos cinco minutos para que las métricas aparezcan en CloudWatch.
-
En el panel de navegación, expanda la sección Métricas y seleccione Todas las métricas.
-
Confirme que las métricas aparecen en el espacio de nombres CWAgent.
nota
Para aplicar la configuración a cualquier instancia nueva, vuelva a poner en marcha la asociación.
Consumir las recomendaciones de Compute Optimizer
Supongamos que nos centramos en realizar los cambios de tamaño en una sola cuenta y una sola región. En este ejemplo, Compute Optimizer se activa en un nivel organizativo para todas las cuentas. Tenga en cuenta que el dimensionamiento es un proceso disruptivo que, en la mayoría de los casos, los propietarios de las aplicaciones llevan a cabo con precisión durante un periodo de mantenimiento programado que dura varias semanas.
Si accede a Compute Optimizer desde la cuenta de administración de una organización (como se muestra en los pasos siguientes), puede elegir la cuenta que desea investigar. En este ejemplo, hay seis instancias que se ponen en marcha en una sola cuenta en la región de us-east-1. Las seis instancias están sobreaprovisionadas. El objetivo es cambiar el tamaño de las instancias según las recomendaciones de Compute Optimizer.
Identificación de las instancias sobreaprovisionadas y exportación de los detalles de las recomendaciones
-
Inicie sesión en Consola de administración de AWS y abra la consola de Compute Optimizer
-
En el panel de navegación, elija Panel.
-
En el cuadro de búsqueda de la página Panel, ingrese Región=Este de EE. UU. (Norte de Virginia). Luego, ingrese Resultados=Sobreprovisionados. Estos filtros le permiten ver todas las instancias sobreaprovisionadas en la región
us-east-1. -
Para ver las recomendaciones detalladas sobre las instancias de EC2 sobreaprovisionadas, desplácese hacia abajo hasta la tarjeta instancias de EC2 y, a continuación, seleccione Ver recomendaciones.
-
Elija Exportar y guarde el archivo para usarlo en el futuro.
-
En Bucket de S3, ingrese el nombre del bucket de Amazon S3 que desea que sea el destino del archivo de exportación.
nota
Para guardar las recomendaciones y poder revisarlas en el futuro, debe tener un bucket de S3 disponible para que Compute Optimizer escriba en cada región. Para obtener más información, consulte Amazon S3 bucket policy for AWS Compute Optimizer en la documentación de Compute Optimizer.
-
En la sección Exportar filtros, seleccione la casilla Incluir recomendaciones para todas las cuentas de miembros de la organización.
-
En Tipo de recurso, elija Instancias de EC2.
-
En la sección Columnas para incluir, marque la casilla Seleccionar todo.
-
Seleccione Exportar.
Selección de instancias en función de las recomendaciones
Las recomendaciones de instancias se basan en las métricas de rendimiento recopiladas y analizadas por Compute Optimizer. Es esencial conocer las cargas de trabajo que se ponen en marcha en la instancia para asegurarse de elegir la mejor instancia. En este ejemplo se presupone que puede elegir entre la última generación de instancias R6i
-
En la consola de Compute Optimizer
, seleccione Recomendaciones de instancias de EC2 en la barra de navegación. En esta página, se muestra una comparación del tipo de instancia actual con las opciones recomendadas para reemplazarla. -
Para obtener el ID de la instancia que quiere redimensionar, abra la consola de Amazon S3
desde la cuenta de administración en AWS Organizations. -
En el panel de navegación, elija Buckets y, a continuación, elija el bucket que utiliza para almacenar los resultados exportados.
-
En la pestaña Objetos, seleccione el archivo de exportación de la lista de objetos y, a continuación, seleccione Descargar.
-
Para extraer la información de la instancia del archivo, puede utilizar el botón Texto a columnas de la pestaña Datos de Microsoft Excel.
nota
Los ID de instancias se representan como nombres de recurso de Amazon (ARN). Asegúrese de establecer el delimitador en “/” y de extraer el ID de la instancia. Como alternativa, puede escribir un script o usar un entorno de desarrollo integrado (IDE) para recortar el ARN.
-
En Excel, filtre la columna de búsqueda para ver solo las instancias OVER_PROVISIONED. Estas son las instancias que debe redimensionar.
-
Guarde los ID de las instancias en un editor de texto para acceder a ellas más adelante.
Etiquetado de las instancias que se deben redimensionar
Etiquetar las cargas de trabajo es una herramienta poderosa para organizar sus recursos en AWS. Las etiquetas le permiten obtener una visibilidad detallada de los costos y facilitar la redistribución de gastos. Para obtener más información sobre las estrategias y los métodos para agregar etiquetas a los recursos AWS, consulte el documento técnico de AWS Best Practices for Tagging AWS Resources. Para este ejemplo, puede usar Editor de etiquetas de AWS para ajustar las etiquetas de las instancias sobreaprovisionadas que quiera redimensionar durante un periodo de mantenimiento. También puede usar esta etiqueta para ver los costos antes y después del cambio.
-
Inicie sesión en Consola de administración de AWS y abra la consola de Grupos de recursos de AWS
con la cuenta que contiene las instancias que se van a redimensionar. -
En la barra de navegación, en la sección Etiquetado, seleccione Editor de etiquetas.
-
En Regiones, seleccione la región de destino.
-
En Tipos de recursos, elija AWS::EC2::Instance.
-
Seleccione Buscar recursos.
-
En la página Resultados de la búsqueda de recursos, seleccione todas las instancias que quiera redimensionar y, a continuación, seleccione Administrar las etiquetas de los recursos seleccionados.
-
Seleccione Agregar etiqueta.
-
En Clave de etiqueta, ingrese Dimensionamiento correcto. En Valor de etiqueta, ingrese habilitado. A continuación, seleccione Revisar y aplicar los cambios de etiquetas.
nota
Puede incluir metadatos adicionales, como el equipo o la unidad de negocio, para facilitar el filtrado más adelante en Explorador de costos.
Después de crear y aplicar etiquetas definidas por el usuario a los recursos, las etiquetas pueden tardar hasta 24 horas en aparecer en la página de etiquetas de asignación de costos para su activación. Después de seleccionar las etiquetas para la activación, pueden tardar hasta 24 horas más en activarse.
Los usuarios avanzados pueden usar AWS CloudShell
bash #!/bin/bash # Set variables TAG_KEY="rightsizing" TAG_VALUE="type-m5" # Get a list of instance IDs INSTANCE_IDS=$(aws ec2 describe-instances —query "Reservations[].Instances[].InstanceId" —output text) # Loop through each instance ID and add the tag for INSTANCE_ID in $INSTANCE_IDS; do aws ec2 create-tags —resources $INSTANCE_ID —tags Key=$TAG_KEY,Value=$TAG_VALUE done
Activar la etiqueta de asignación de costos para que funcione con las herramientas de facturación de AWS
Recomendamos activar la etiqueta de asignación de costos definida por el usuario. Esto permite reconocer y filtrar la etiqueta Dimensionamiento correcto en las herramientas de facturación de AWS (por ejemplo, Explorador de costos y AWS Cost and Usage Report). Si no activa esta opción, la opción de filtrado de etiquetas y los datos no estarán disponibles. Para obtener más información sobre el uso de etiquetas de asignación de costos, consulte Activating user-defined cost allocation tags en la documentación de Administración de facturación y costos de AWS.
-
Inicie sesión en Consola de administración de AWS y abra la consola de AWS Billing
. -
En el panel de navegación, en la sección Facturación, elija Etiquetas de asignación de costos.
-
En la pestaña Etiquetas de asignación de costos definidas por el usuario, ingrese Dimensionamiento correcto.
-
Seleccione la clave de etiqueta Dimensionamiento correcto y, a continuación, elija Activar.
Transcurridas 24 horas, la etiqueta debería aparecer en Explorador de costos.
Implementación de las recomendaciones de dimensionamiento correcto con Automatización de Systems Manager
El redimensionamiento es un escenario que requiere detener e iniciar una instancia. En este escenario, es posible que tenga que gestionar esta interrupción en un periodo de mantenimiento y que necesite que diferentes equipos se encarguen de su propio redimensionamiento. Antes de cambiar un tipo de instancia, consulte Cambios de tipos de instancias de Amazon EC2 en la documentación de Amazon EC2.
Los pasos de ejemplo de esta sección implementan las recomendaciones de dimensionamiento correcto por cuenta y región mediante un documento de Automatización de Systems Manager denominado AWS-ResizeInstance. Esta estrategia la habitual en la mayoría de las organizaciones, ya que estas suelen requerir diferentes tipos de instancias para diferentes propósitos. También puede usar el mismo documento de automatización AWS-ResizeInstance para segmentar las implementaciones de una o varias cuentas.
-
Inicie sesión en Consola de administración de AWS y abra la consola de Systems Manager
. -
En el panel de navegación, en la sección Recursos compartidos, elija Documentos.
-
En la barra de búsqueda, ingrese AWS-ResizeInstance, y, a continuación, elija AWS-ResizeInstance en los resultados de la búsqueda.
-
Elija Ejecutar automatización.
-
En la página Ejecutar el runbook de automatización, seleccione Ejecución simple.
-
En la sección Parámetros de entrada, ingrese InstanceId y InstanceType. No cambie ningún otro valor.
-
Seleccione Ejecutar, y, a continuación, espere a que la automatización complete los pasos necesarios para cambiar el tipo de instancia.
Métodos alternativos de redimensionamiento
Si utiliza una plantilla de lanzamiento para implementar sus instancias, puede actualizar la plantilla con el tipo de instancia del tamaño correcto y, a continuación, actualizar la instancia para reemplazar las instancias por la versión correctamente dimensionada.
Si planea usar el proceso de dimensionamiento correcto en varias cuentas y regiones, debe crear un documento personalizado de Automatización de Systems Manager. Este documento le permite introducir varias instancias como parámetro y trasladar las instancias de destino al mismo tipo de instancia de destino (por ejemplo, todas las instancias en transición a t3a.medium, independientemente del tipo de instancia de origen).
Revisión del antes y el después de los costos en Explorador de costos
Una vez que haya dimensionado correctamente sus recursos, puede usar Explorador de costos para ver los costos anteriores y posteriores usando la etiqueta Dimensionamiento correcto. Recuerde que puede usar etiquetas de recursos para hacer un seguimiento de los costos. Al usar varias capas de etiquetas, puede lograr una visibilidad detallada de sus costos. En el ejemplo que se describe en esta guía, la etiqueta Dimensionamiento correcto se utiliza para aplicar una etiqueta genérica a todas las instancias objetivo. A continuación, se utiliza una etiqueta de equipo para organizar aún más los recursos. El siguiente paso consiste en ingresar etiquetas de aplicación para ver mejor el impacto en los costos derivados del funcionamiento de una aplicación específica.
En el siguiente diagrama, se muestra la estructura de etiquetas de una organización.
Imagine una empresa que dimensiona correctamente los servidores web de producción del equipo de operaciones. En Explorador de costos, la etiqueta Dimensionamiento correcto está habilitada, mientras que la etiqueta Equipo es operaciones. En este ejemplo, el dimensionamiento correcto reduce los costos operativos de 0,89 USD a 0,28 USD por hora. Suponiendo que un mes tiene 744 horas, el costo anual antes del dimensionamiento correcto es de 7945,92 USD. Tras redimensionar, el costo anual se reduce a 2499,84 USD. Esto se traduce en una disminución del 68,5 % en los costos anuales de la carga de trabajo. Imagine el impacto que puede tener esto en una organización grande. Tenga en cuenta que esto se hace en un entorno de muestra y las instancias están en su mayoría inactivas. En un entorno de producción, puede obtener ahorros de entre un 10 % y un 35 %.
Ahora, considere el impacto que tendría el dimensionamiento correcto del host bastión del equipo de ingeniería. En Explorador de costos, la etiqueta Dimensionamiento correcto está habilitada, mientras que la etiqueta Equipo es ingeniería. En este ejemplo, el dimensionamiento correcto reduce los costos de 0,75 USD a 0,44 USD por hora. Suponiendo que un mes tiene 744 horas, el costo anual antes del dimensionamiento correcto es de 6696,00 USD. Tras redimensionar, el costo anual se reduce a 3928,32 USD.
Si utilizas varias etiquetas, puede filtrar los datos para obtener detalles pormenorizados de los costos. En este ejemplo, la etiqueta Equipo reduce el ruido para que pueda ver el impacto por equipo. Como la etiqueta Dimensionamiento correcto está habilitada, también puede filtrar por cualquier instancia que tenga esa etiqueta habilitada o sin ningún valor. Esto puede proporcionar una visión global de sus esfuerzos de redimensionamiento, especialmente si se ven en la cuenta de administración (pagadora) en Explorador de costos. Esta vista le permite ver todas las cuentas e instancias.
Imagine una cuenta única en la que la etiqueta Dimensionamiento correcto esté habilitada. Los costos operativos se reducen de 1,64 USD la hora a 0,72 USD la hora. Suponiendo que un mes tiene 744 horas, el costo anual antes del dimensionamiento correcto es de 14 641,92 USD. Tras redimensionar, el costo anual se reduce a 6428,16 USD. Esto se traduce en una disminución del 56 % en los costos de computación de esta cuenta.
Antes de empezar con el proceso de dimensionamiento correcto, tenga en cuenta lo siguiente:
-
AWS ofrece muchas opciones para reducir los costos. Esto incluye OLA de AWS
, un servicio en el que AWS revisa las instancias en las instalaciones antes de transferirlas a AWS. La evaluación de OLA de AWS también le proporciona recomendaciones de tamaño y orientación en materia de licencias. -
Complete todos los procesos de dimensionamiento antes de adquirir Savings Plans
. Esto puede ser de ayuda para evitar compra en exceso cuando se contrate Savings Plans.
Recomendaciones
A continuación, recomendamos los pasos próximos:
-
Revise la situación actual y considere la posibilidad de convertir los volúmenes gp2 de Amazon EBS en volúmenes gp3.
-
Revise Savings Plans
Recursos adicionales
-
AWS Compute Optimizer
(documentación de AWS) -
Prácticas recomendadas para el etiquetado de los recursos de AWS (documentos técnicos de AWS)
-
How to collect data from AWS Compute Optimizer and AWS Trusted Advisor across your AWS Organizations
(YouTube) -
Optimizing performance and reducing licensing costs: Leveraging AWS Compute Optimizer for Amazon EC2 SQL Server instances
(blog de cargas de trabajo de Microsoft en AWS)