Como crear una flota de AWS EC2s con Terraform?

Abril 2021

Here I have to add my picture

Hay momentos en los que compañías de cualquier tamaño se encuentran limitado por las capacidades de sus flotas de computadora o laptop. En este articulo conoceremos algunas de las ventajas de usar Amazon Web Services(AWS) y como crear dinámicamente maquinas virtuales (EC2) que pueden ayudar con estas limitaciones en minutos. En este articulo también presentare Terraform y como se puede utilizar para crear EC2s-AMIs de una manera dinámica y productiva.

Introducción

¿Que son maquinas virtuales-EC2?

Las máquinas virtuales o AWS EC2, también llamadas instancias, son diferentes sistemas operativos (Os), que se pueden rentar a AWS de una manera muy fácil. Algunos ejemplos de Os que AWS ofrece son: Amazon Linux, Red Hat Enterprise, MacOs, Suse Liunux, Ubuntu, Microsoft Windows.

Como se puede observar la selección de Os es extensa lo cual brinda una gran ventaja a poder elegir EC2 basado en requisitos de Os, RAM, y CPU. EC2 también ofrece infraestructura como servicio (IaaS) la que proporciona un control completo de los recursos informáticos, los que se pueden incrementar y disminuir según la demanda. Uno de los grandes beneficios de usar EC2 es el ahorro de costo administrativo, planificación y inversión en extra-hardware que no es necesario lo que convierte compañías grandes costos en costos mucho más pequeños. En un momento explicare mas detalles.

Costo = Demanda * Hora

EC2 se clasifican en cinco tipos:

Diagrama 1: AWS EC2s

Teniendo en cuenta que podemos crear o configurar cualquier numero de AWS-EC2 a través de la consola una y otra vez esto lleva tiempo lo cual es un problema. Creando infraestructura usando código (IaC) alivia este problema. Les presento una de mis herramientas preferidas – Terraform.

¿Que es Terraform?

Terraform es una poderosa herramienta declarativa que nos ayuda a administrar la gran mayoría de los servicios en la nube, además de brindar consistencia y visibilidad de los cambios de infraestructura que ocurren en diferentes espacios de trabajo y entornos. Esta funcionalidad una pieza importante de mejora a la calidad del ciclo de vida del proyecto, y también mantiene informados a los ingenieros de software y otras personas del mismo equipo.

Al usar Terraform, no necesitamos iniciar sesión en la consola de administración de AWS. Esto reduce el tiempo de creación de servicios. También permite detectar posibles riesgos de seguridad y errores durante una etapa temprana del proyecto.

Con Terraform podemos trabajar directamente desde la terminal de nuestra computadora utilizando un par de líneas de comandos.

En este proyecto encontrará un repo que guarda una lista de archivos de Terraform los cuales podrá usar para configurar y crear una o mas EC2s-AMIs en cuestión de minutos.

Terraform: Archivos-vista previa

Ahora es el momento de poner manos a la obra en la construcción de esta infraestructura.

Encuentre el repo de este proyecto y instrucciones aquí

Funciones, argumentos y expresiones de Terraform que se utilizaron en este proyecto:

Me gustaría reconocer a mi mentor Derek Morgan. Gracias por todo tu apoyo durante todos estos meses y por el increíble curso "More Than Certified in Terraform" Enlace al curso aquí. Si desea conectarse con él y hacerle preguntas sobre su curso, comuníquese con él a través de LinkedIn Derek Morgan o puedes unirte al canal TechStudySlack aquí.