Skip to main content

Command Palette

Search for a command to run...

Ahorrando costos de hasta un 70% en instancias EC2

Usando los servicios de EventBridge y Lambda

Published
3 min read
Ahorrando costos de hasta un 70% en instancias EC2

¿Quizás a más de uno le ha pasado que ha dejado corriendo una instancia EC2 y olvido apagarla? 💸

Ahora imagina que tienes corriendo no 1 sino varias instancias EC2 con las que tu equipo trabaja semana tras semana, eso se traduce en 168 horas semanales, en un horario laboral digamos de unas 10 horas (LUN-VIE de 8:30 am a 6:30 pm) menos de la mitad de las horas son donde realmente se hace uso de esas instancias.

image.png

Y si te digo que podemos iniciar y detener las instancias EC2 en función de las etiquetas (tags) para ahorrar costos de hasta un 70% en instancias que solo son necesarias durante ese u otro horario laboral (utilización semanal reducida de 168 horas a ~50 horas).

image.png

Para lograr vamos a hacer uso de funciones lambda para programarlo en función de las horas de trabajo.

Captura de Pantalla 2022-08-29 a la(s) 09.45.21.png

Pero ¿qué es Lambda?

Con serverless no necesitas aprovisionar infraestructura, ni hacer mantenimiento, ni ocuparte del autoescalado. Es altamente disponible y seguro. Serverless no solo es para computo, puede ser para base de datos, almacenamiento u otros servicios

  • Es una de las opciones de computo que nos ofrece AWS, en este caso una opción serverless

  • La unidad de escala es una función y el nivel de abstracción es un runtime

  • Configuramos el código para que se ejecute cuando lo necesite (a demanda) en base por ejemplo a ciertos eventos.

  • Su modelo de pago es por uso (ms) de acuerdo al tiempo de ejecución de la función lambda con incrementos de 1 ms

Captura de Pantalla 2022-08-29 a la(s) 08.50.26.png

y ¿qué es EventBridge?

La versión 2 de Amazon CloudWatch Events

  • Facilita la creación de aplicaciones basadas en eventos a escala mediante eventos generados

  • Puede configurar reglas de enrutamiento para determinar a dónde enviar los datos

  • Cuenta con un bus de evento por defecto (en CloudWatch Events tiene solo un bus)

  • Puede tener buses de eventos adicionales

Diseño sin título (9).png

CRON

  • Cron es un programa de utilidad de Unix que se utiliza para ejecutar comandos o scripts programados.

  • Con una expresión cron, puede definir una regla que se active a una hora especificada de un determinado día de cada semana o mes

  • Las expresiones Cron tienen seis campos obligatorios, que están separados por un espacio en blanco.

Captura de Pantalla 2022-08-29 a la(s) 08.56.58.png

¡Manos a la obra!

¿Qué necesitamos?

  1. Crear una política y un rol de ejecución de AWS Identity and Access Management (IAM) personalizados **para la función Lambda **

  2. Crear las funciones Lambda que detengan e inicien las instancias de EC2 en base al tag de la instancia

  3. Probar las funciones Lambda

  4. Crear reglas de EventBridge que desencadenen la función en un horario.

En este video junto a la comunidad de AWS Girls Chile, les explico el paso a paso de la solución 😊

More from this blog

A

Alfalfita ☁️

19 posts

Software developer motivada y apasionada por la tecnología en la nube (AWS)