Automatización de la programación de parada e inicio - 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.

Automatización de la programación de parada e inicio

Descripción general de

Programador de instancias en AWS puede ser útil para reducir los costos operativos al automatizar el inicio y la detención de las instancias de Amazon EC2 y Amazon Relational Database Service (Amazon RDS). Si deja todas sus instancias en funcionamiento a pleno rendimiento de forma continua, podría terminar pagando por los recursos que no se utilizan. El programador de instancias activado AWS le permite desactivar las instancias en momentos en que no se necesitan, como fuera del horario laboral, los fines de semana u otros períodos en los que el uso es bajo. Esto puede suponer un importante ahorro en costos a largo plazo.

El programador de instancias activado AWS también ofrece la programación de instancias entre cuentas, el etiquetado automatizado y la posibilidad de configurar programas o períodos mediante una interfaz de línea de comandos o el período de mantenimiento. AWS Systems Manager Gracias a estas características, puede gestionar sus instancias de forma más eficaz y precisa, realizar un seguimiento y distribuir los costos entre distintos proyectos o equipos.

Casos prácticos

Pensemos en el ejemplo de una empresa que utiliza Instance Scheduler AWS en un entorno de producción para detener automáticamente las instancias fuera del horario laboral todos los días. Si esta empresa deja todas sus instancias en ejecución a pleno rendimiento, puede ahorrar hasta un 70 % en los costos de las instancias que solo son necesarias durante el horario laboral habitual. En el siguiente gráfico se muestra cómo se reduce la utilización semanal de 168 horas a 50 horas.

Gráfico de reducción de la utilización semanal

Vayamos con otro ejemplo. La empresa eléctrica Jamaica Public Service Company Limited (JPS) migró su base de datos a Amazon RDS. Ahora, JPS usa Amazon EC2 para alojar servicios de API y poner en marcha otras aplicaciones. Para JPS, Instance Scheduler on AWS se convirtió en la herramienta clave para gestionar los entornos no productivos. JPS utilizó el programador de instancias AWS para reducir los costos de desarrollo y administrar las instancias de EC2 en función de las necesidades del equipo y los horarios de trabajo. Esto ayudó a JPS a reducir los costos en un 40 %. Para obtener más información, consulte el AWS caso práctico El servicio público de Jamaica migra eficientemente a la nube y reduce los costos en un 40% con AWS Instance Scheduler.

Escenario de optimización de costos

El siguiente escenario de ejemplo ayuda a ilustrar las ventajas económicas de usar Instance Scheduler en. AWS En este escenario, una importante empresa minorista de Singapur implementa dos entornos Windows en Amazon EC2. El equipo de marketing utiliza el primer entorno, denominado “carga de trabajo A”, para analizar en tiempo real las transacciones en las tiendas mientras las tiendas están abiertas. El segundo entorno, denominado “carga de trabajo B”, está reservado para el equipo de contabilidad, que solo trabaja durante el horario laboral habitual. El cronograma operativo actual de ambos entornos (24 horas al día, 7 días a la semana) no es ideal dados los patrones de uso actuales y requiere una optimización para reducir los costos operativos de la empresa.

En el siguiente diagrama, se muestra el costo mensual antes de la optimización.

Costo mensual antes de la optimización

Por ejemplo, hay 31 días en el mes de marzo, de los cuales, 23 son días laborables. Si el equipo de marketing usa Instance Scheduler activado AWS y opera sus instancias solo cuando es necesario (es decir, 321 horas al mes en lugar de 730 horas al mes), podría ahorrarse 932,52$ al mes. Esto equivale a una reducción del 56 % en los costos operativos. El equipo de contabilidad también puede disfrutar de importantes ventajas, ya que el tiempo de uso de las instancias se reduce de 730 horas al mes a 230 horas. Esto se traduce en una reducción de 1140 USD, es decir, un 68,5 %. La empresa podría ahorrar un total combinado de 2072,52 USD al mes (lo que equivale a una reducción del 62 %), o 24 870,24 USD al año.

En el siguiente diagrama, se muestra el costo mensual después de la optimización.

Costo mensual después de la optimización
nota

Los precios de este ejemplo se determinaron utilizando Calculadora de precios de AWS en marzo de 2023.

Recomendaciones de optimización de costos

En esta sección se explica cómo implementar y configurar Programador de instancias en AWS basándonos en el escenario de ejemplo descrito en la sección anterior, Escenario de optimización de costos. Le recomendamos que siga los siguientes pasos para optimizar sus costes mediante el uso del Programador de instancias en: AWS

  1. Lanzamiento de la pila de Programador de instancias

  2. Configuración de periodos

  3. Configuración de programaciones

  4. Etiqueta de instancias .

El siguiente diagrama de arquitectura muestra lo que crea en la pila de Nube de AWS Instance Scheduler.

Arquitectura de la pila de Programador de instancias

En el diagrama, se muestran los siguientes pasos del flujo de trabajo.

  1. Una AWS CloudFormation plantilla configura un CloudWatch evento de Amazon en un intervalo que tú definas. Este evento invoca una AWS Lambda función. Durante la configuración, se definen las cuentas Regiones de AWS y. También debe definir una etiqueta personalizada que Instance Scheduler AWS utiliza para asociar los cronogramas con las instancias de Amazon EC2, las instancias de Amazon RDS y los clústeres aplicables.

  2. Los valores de configuración de la programación se almacenan en Amazon DynamoDB y la función de Lambda los recupera cada vez que se pone en marcha. A continuación, puede aplicar la etiqueta personalizada a las instancias correspondientes.

  3. Durante la configuración inicial de Programador de instancias, debe definir una clave de etiqueta para identificar las instancias de Amazon EC2 y Amazon RDS correspondientes. Al crear un cronograma, el nombre que especifique se usa como el valor de etiqueta que identifica el cronograma que desea aplicar al recurso etiquetado.

Lanzamiento de la pila de Programador de instancias

En esta sección, se muestra cómo lanzar la CloudFormation pila del programador de instancias. AWS

nota

Eres responsable del coste de lo que Servicios de AWS se utilice mientras se ejecuta Instance Scheduler en él. AWS En enero de 2023, el costo de poner en marcha esta solución con la configuración predeterminada en la región us-east-1 era de aproximadamente 9,90 USD al mes en el caso de los cargos de Lambda, o menos si tiene un crédito de uso mensual del nivel gratuito de Lambda. Para obtener más información, consulte la sección de costos de la guía de AWS implementación del programador de instancias en la biblioteca de AWS soluciones.

Para lanzar la pila de Programador de instancias, siga los pasos que se describen a continuación.

  1. Inicie sesión Consola de administración de AWSy elija Launch solution (plantilla descargable) para lanzar la instance-scheduler-on-aws.template CloudFormation plantilla.

    nota

    También puede descargar la plantilla para usarla como punto de partida para su propia implementación.

  2. La plantilla se lanza en la región Este de EE. UU. (Norte de Virginia) de forma predeterminada. Para lanzar Programador de instancias en una región diferente, utilice el selector de regiones de la barra de navegación de la consola.

    nota

    (En este ejemplo se utiliza la región Asia-Pacífico (Singapur).

  3. En la página Crear pila, en la sección Requisito previo: preparar la plantilla, compruebe que esté seleccionada la opción La plantilla está lista. En la sección Origen de la plantilla, compruebe que esté seleccionada la opción URL de Amazon S3.

  4. Verifique que la URL de la plantilla correcta aparezca en el cuadro de texto URL de Amazon S3 y seleccione Siguiente.

  5. En la página Especificar los detalles de la pila, especifique un nombre para la pila. Para obtener información sobre las limitaciones de nombres de caracteres, consulte los límites de IAM y STS en la AWS Identity and Access Management documentación (IAM). El nombre de la pila para el ejemplo de esta guía es MyInstanceScheduler.

    nota

    El nombre de la pila no puede tener más de 28 caracteres.

  6. En Parámetros, revise los parámetros de la plantilla y modifíquelos según sea necesario.

  7. Elija Siguiente. En la página Configurar opciones de pila, elija Siguiente.

  8. En la página Revisar, revise y confirme la configuración. Seleccione la casilla para aceptar que la plantilla creará recursos de IAM.

  9. Elija Crear para implementar la pila.

Configuración de periodos

Tras implementar la CloudFormation plantilla, la solución crea una tabla de DynamoDB que contiene ejemplos de reglas y programas de períodos que puede utilizar como referencia para crear sus propias reglas y programas de períodos personalizados. Para ver un ejemplo de configuración de periodos, consulte Sample schedules en la documentación de Programador de instancias en AWS .

Para completar el paso de este escenario, debe generar periodos que correspondan a cada carga de trabajo y que satisfagan sus necesidades específicas. Por ejemplo:

Period 1 (Workload A): Name: retail-hours Days: Monday to Sunday Hours: 1100 - 2300 Period 2 (Workload B): Name: office-hours Days: Monday to Friday Hours: 0800 - 1800

Para configurar periodos, siga los pasos que se describen a continuación:

  1. Inicie sesión en la consola de DynamoDB y asegúrese de estar en la misma región en la que lanzó la plantilla para CloudFormation el programador de instancias. AWS

  2. En el panel de navegación, elija Tablas y, a continuación, seleccione la tabla denominada. ConfigTable

  3. Elija Explore los elementos de la tabla.

  4. Para crear un periodo para el horario laboral, seleccione periodo en el elemento office-hours.

  5. En la página Editar elemento, cambie el valor de begintime a 0800 y el de endtime a 1800. Deje el valor predeterminado para los días de semana.

    nota

    Los valores de begintime y endtime determinan cuándo se deben iniciar y detener las instancias, mientras que el valor de weekdays determina a qué días de la semana se aplica esta programación (de lunes a viernes, en este ejemplo).

  6. Seleccione Save changes (Guardar cambios).

  7. Para duplicar el periodo de office-hours y usarlo para crear un nuevo periodo para el horario comercial, seleccione periodo para el elemento office-hours. A continuación, en el menú Acciones, seleccione Elemento duplicado.

  8. Modifique los atributos para que se ajusten a sus necesidades. Los siguientes atributos se utilizan para cumplir los requisitos del escenario de ejemplo:

    type: period name: retail-hours begintime: 11:00 description: Retail hours endtime: 23:00 weekdays: mon-sun
  9. Seleccione Crear elemento.

  10. En ConfigTableDynamoDB, identifique los dos períodos que acaba de crear que aparecen en las listas de elementos.

Configuración de programaciones

En el contexto de Instance Scheduler on AWS, los cronogramas se refieren a la aplicación de uno o más períodos y a la zona horaria correspondiente. Luego, estas programaciones se asignan a sus instancias como etiquetas. En esta sección, se muestra cómo crear dos programaciones (que se muestran a continuación) para adaptarse a los diferentes patrones de tiempo de las dos cargas de trabajo de ejemplo y, a continuación, asociar los programas a los periodos que creó en la sección anterior.

Schedule 1: Name: singapore-office-hours Period: office-hours Timezone: Asia/Singapore Schedule 2: Name: singapore-retail-hours Period: retail-hours Timezone: Asia/Singapore

Para crear y configurar las programaciones, siga los pasos que se describen a continuación:

  1. Inicie sesión en la consola de DynamoDB y asegúrese de estar en la misma región en la que lanzó la plantilla para CloudFormation el programador de instancias. AWS

  2. En el panel de navegación, elija Tablas y, a continuación, seleccione la tabla denominada. ConfigTable

  3. Elija Explore los elementos de la tabla.

  4. Para duplicar el horario de oficina del Reino Unido y usarlo para crear un nuevo horario para su horario de oficina (horario de oficina de Singapur, por ejemplo), seleccione horario para uk-office-hours el elemento. A continuación, en el menú Acciones, seleccione Elemento duplicado.

  5. Modifique los atributos para que se ajusten a sus necesidades. Los siguientes atributos se utilizan para cumplir los requisitos del escenario de ejemplo:

    type: schedule name: singapore-office-hours description: Office hours in Singapore periods: office-hours timezone: Asia/Singapore
  6. Seleccione Crear elemento.

  7. Repita los pasos del 4 al 6 para crear una programación para el horario comercial de Singapur con los siguientes valores de atributo:

    type: schedule name: singapore-retail-hours description: Retail hours in Singapore periods: retail-hours timezone: Asia/Singapore
  8. En ConfigTableDynamoDB, identifique los dos programas y los dos períodos que creó.

Etiqueta de instancias .

Después de definir las programaciones, debe usar etiquetas para asignar las programaciones a las instancias específicas que desee usar. Puede usar el editor de etiquetas de Grupos de recursos de AWS para generar y asignar etiquetas a sus instancias de Amazon EC2.

  1. Inicie sesión en Consola de administración de AWSy asegúrese de que se encuentra en la misma región en la que lanzó la CloudFormation plantilla anteriormente.

  2. Abra la consola de Grupos de recursos. En el panel de navegación, amplíe Etiquetado y, a continuación, seleccione Editor de etiquetas.

  3. En la sección Buscar recursos para etiquetar, en Regiones, elija sus regiones. En Tipos de recursos, elija Amazon EC2 o Amazon RDS. Este escenario se centra en las instancias de Amazon EC2 de la carga de trabajo A. El equipo de marketing utiliza la carga de trabajo A en la región de Singapur. Los recursos de esta carga de trabajo ya están etiquetados con una clave Departamento y un valor Marketing. Puede usar esta etiqueta para buscar las instancias.

  4. Seleccione Buscar recursos.

  5. Seleccione las instancias de la lista de resultados de la búsqueda que desee incluir en la programación y, a continuación, elija Administrar las etiquetas de los recursos seleccionados.

  6. En la sección Editar las etiquetas de todos los recursos seleccionados, elija Agregar etiqueta para agregar las etiquetas de programación de Programador de instancias a las instancias de EC2. Puede usar las claves y los valores de las etiquetas que coincidan con programación (que ya se creó en DynamoDB).

  7. En Clave de etiqueta, agregue Programación. En Valor de etiqueta, introduce singapore-retail-hours.

  8. Seleccione Revisar y aplicar cambios en la etiqueta.

  9. Para aplicar la etiqueta a todas las instancias de EC2 que haya seleccionado, elija Aplicar cambios a todos los elementos seleccionados.

  10. Repita los pasos del 3 al 9 para cualquier otra programación que quiera aplicar.

Validar los resultados

Le recomendamos que lo utilice AWS Cost Explorerpara medir los beneficios económicos de usar Instance Scheduler en AWS. Puede usar Explorador de costos para hacer lo siguiente:

  • Ver y analizar los costos asociados a sus instancias de EC2, lo que incluye las instancias administradas por Programador de instancias.

  • Filtrar la vista de Explorador de costos por etiquetas para poder centrarse en cargas de trabajo específicas y obtener una visión pormenorizada de los ahorros de costos que se obtienen al utilizar Programador de instancias.

  • Obtener información sobre el impacto financiero del uso de Programador de instancias.

  • Identifique oportunidades para una mayor optimización de los costos y tome decisiones basadas en datos para optimizar sus AWS gastos.

Los siguientes gráficos ilustran el costo de operar las cargas de trabajo A y B durante un periodo de siete días (de lunes a domingo) antes de la optimización mediante Programador de instancias.

Gastos totales combinados de las cargas de trabajo A y B

Gastos totales combinados de las cargas de trabajo A y B

Gastos de la carga de trabajo A

Gastos de la carga de trabajo A

Gastos de la carga de trabajo B

Gastos de la carga de trabajo B

En este escenario, Explorador de costos muestra las reducciones de costos que se obtienen al implementar Programador de instancias en AWS. Los siguientes gráficos ilustran los costos operativos de las cargas de trabajo A y B durante un periodo de siete días (de lunes a domingo) después de la optimización.

Gastos totales combinados de las cargas de trabajo A y B

Gastos totales combinados de las cargas de trabajo A y B

Gastos de la carga de trabajo A

Gastos de la carga de trabajo A

Gastos de la carga de trabajo B

Gastos de la carga de trabajo B

Recursos adicionales