Con el aumento de la tecnología de computación en la nube, más industrias están migrando sus cargas de trabajo a la infraestructura basada en la nube. Como resultado de este patrón, los tecnólogos han sentido la necesidad de algún mecanismo para automatizar el proceso de implementación de instancias (y otros recursos en la nube). Terraform es una de esas herramientas de código abierto para facilitar este progreso.
Lo que cubriremos
Este artículo mostrará cómo podemos crear una instancia de EC2 en AWS usando Terraform. Veremos un ejemplo de instalar un servidor web simple en esta instancia. Primero hablemos un poco sobre la instalación de Terraform.
Cómo puedes instalar Terraform
Paquetes oficiales de Terraform para varios sistemas operativos como Windows, Mac y distribuciones basadas en Linux, como Ubuntu/Debian, Centos/Rhel, etc., están disponibles. Además, Terraform también mantiene binario precompilado y también puede compilarse de la fuente. Puede consultar los diversos procedimientos de instalación en el sitio web de Terraform. Para verificar su instalación de Terraform, ejecute el siguiente comando:
1 | $ Terraform -version |
Creación de instancia de AWS EC2 usando Terraform
Después de instalar Terraform en su sistema, continúe creando una instancia de EC2 en AWS. Hay algunos archivos para administrar efectivamente una implementación de Terraform. Aunque podemos crear un solo archivo y declarar todas las cosas, este enfoque hará que todo el escenario sea torpe. Entonces, primero creemos un directorio de trabajo como se ve en lo siguiente:
Paso 1. Comience con una carpeta que mantendrá todos los archivos de configuración. Crea la carpeta y muévete dentro de ella como se muestra en lo siguiente:
1 | $ mkdir linuxhint-teraform && cd linuxhint-terraform |
Paso 2. Permítanos crear nuestro primer archivo de configuración, "Variables.tf ”, que contiene información sobre nuestra región de AWS y el tipo de instancia que queremos usar, como se muestra en lo siguiente:
1 | $ nano variables.TF |
Ahora, coloque el texto a continuación dentro y guarde el archivo como se muestra en el siguiente:
1 2 3 4 5 6 7 8 9 10 | variable "aws_region" |
Paso 3. Por defecto, cuando Terraform crea una nueva instancia, el grupo de seguridad predeterminado asociado con la instancia niega todo el tráfico. Por lo tanto, crearemos un nuevo archivo, "SecGRP.TF ", para crear un grupo de seguridad," Web-SG ", que permitirá el tráfico entrante" SSH "y" HTTP ", así como todo el tráfico saliente, como se muestra a continuación:
1 | $ nano secgrp.TF |
Ahora, coloque el siguiente código dentro de él como se muestra en lo siguiente:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dieciséis 17 18 19 20 21 22 23 | recurso "AWS_SECURITY_GROUP" "Web-SG" |
Etapa 4. Crear un "principal.Archivo TF "que definirá la infraestructura deseada como se muestra en lo siguiente:
1 | $ nano principal.TF |
Ahora, coloque la siguiente configuración dentro:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dieciséis 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 sesenta y cinco 66 67 68 | Terraform |
En el código anterior, no olvide cambiar el "nombre del usuario" al nombre del usuario de su sistema y el "nombre de keyPair EC2" al nombre del par de claves en su caso. Veamos un poco sobre los parámetros utilizados en los archivos anteriores:
AWS_Instance: Esto crea un recurso de instancia de EC2. Las instancias se pueden crear, cambiar y destruir
Ami: Especifique la ID de AMI que se utilizará con la instancia de EC2
instancia_type: Esta opción se utiliza para declarar el tipo de instancia que se utilizará
Nombre clave: Especifica el nombre del par de claves que se utilizará con la instancia de EC2
vpc_security_group_ids: Un argumento para una lista de ID de grupo de seguridad para adjuntar
asociado_public_ip_address: Especifique si se adjuntará la IP pública con una instancia dentro de un VPC
datos del usuario: Utilizado para pasar comandos/datos en una instancia al iniciarlo
Ahora, inicialice Terraform ejecutando el siguiente comando:
1 | $ Terraform init |
Ahora, aplique los cambios usando el siguiente comando:
1 | $ Terraform se aplica |
Verificar el procedimiento
Ahora, verifiquemos si se crea la instancia de EC2 deseada. Dirígete a la consola EC2 y verifique las instancias de ejecución como se muestra en la siguiente imagen:
Dado que nuestra instancia se creó con éxito, ahora veremos si el sitio web que implementamos funciona correctamente o no. Copie el nombre DNS o la IP pública de la instancia e ingrese dentro de un navegador web como se muestra en el siguiente:
Bien hecho! Nuestro servidor web funciona bien.
Limpiar los recursos
Cuando haya probado su infraestructura o cuando no la requiera, limpie los recursos ejecutando el siguiente comando:
1 | $ Terraform Destro |
Conclusión
Esta guía nos enseñó sobre la creación de una instancia de EC2 en AWS usando Terraform. También hemos demostrado cómo aprovisionar un servidor web simple de AWS usando Terraform.