En esta sección, aprenderás a crear tu primera configuración de Terraform. Este ejercicio te guiará a través de los pasos necesarios para definir y aplicar una infraestructura básica utilizando Terraform.
Objetivos
- Crear un archivo de configuración de Terraform.
- Definir un proveedor y un recurso.
- Inicializar y aplicar la configuración de Terraform.
- Verificar la infraestructura creada.
Requisitos Previos
- Terraform instalado en tu máquina. (Consulta la sección Instalando Terraform si aún no lo has hecho).
Paso 1: Crear un Directorio de Proyecto
Primero, crea un directorio para tu proyecto de Terraform. Este directorio contendrá todos los archivos de configuración necesarios.
Paso 2: Crear el Archivo de Configuración
Dentro del directorio del proyecto, crea un archivo llamado main.tf
. Este archivo contendrá la configuración de Terraform.
Abre main.tf
en tu editor de texto favorito y añade la siguiente configuración:
# main.tf # Definir el proveedor (en este caso, AWS) provider "aws" { region = "us-west-2" } # Crear un recurso (en este caso, una instancia de EC2) resource "aws_instance" "example" { ami = "ami-0c55b159cbfafe1f0" # Amazon Linux 2 AMI instance_type = "t2.micro" tags = { Name = "MyFirstInstance" } }
Explicación del Código
- Proveedor: El bloque
provider
especifica el proveedor de infraestructura que estás utilizando. En este caso, estamos utilizando AWS y especificamos la regiónus-west-2
. - Recurso: El bloque
resource
define un recurso de infraestructura. Aquí, estamos creando una instancia de EC2 con la imagenami-0c55b159cbfafe1f0
y el tipo de instanciat2.micro
. También añadimos una etiqueta (tag
) para nombrar la instancia como "MyFirstInstance".
Paso 3: Inicializar el Proyecto de Terraform
Antes de aplicar la configuración, necesitas inicializar el proyecto de Terraform. Esto descargará los proveedores necesarios y preparará el entorno.
Paso 4: Aplicar la Configuración
Una vez inicializado el proyecto, puedes aplicar la configuración para crear la infraestructura definida.
Terraform te pedirá que confirmes la aplicación de los cambios. Escribe yes
y presiona Enter.
Terraform will perform the following actions: # aws_instance.example will be created + resource "aws_instance" "example" { + ami = "ami-0c55b159cbfafe1f0" + instance_type = "t2.micro" + tags = { + "Name" = "MyFirstInstance" } } Plan: 1 to add, 0 to change, 0 to destroy. Do you want to perform these actions? Terraform will perform the actions described above. Only 'yes' will be accepted to approve. Enter a value: yes
Paso 5: Verificar la Infraestructura
Después de aplicar la configuración, puedes verificar que la instancia de EC2 se ha creado correctamente en la consola de AWS.
Paso 6: Limpiar la Infraestructura
Para evitar costos innecesarios, es importante destruir la infraestructura creada cuando ya no la necesites.
Terraform te pedirá que confirmes la destrucción de los recursos. Escribe yes
y presiona Enter.
Terraform will perform the following actions: # aws_instance.example will be destroyed - resource "aws_instance" "example" { - ami = "ami-0c55b159cbfafe1f0" - instance_type = "t2.micro" - tags = { - "Name" = "MyFirstInstance" } } Plan: 0 to add, 0 to change, 1 to destroy. Do you really want to destroy all resources? Terraform will destroy all your managed infrastructure, as shown above. There is no undo. Only 'yes' will be accepted to confirm. Enter a value: yes
Resumen
En esta sección, has aprendido a:
- Crear un archivo de configuración de Terraform.
- Definir un proveedor y un recurso.
- Inicializar y aplicar la configuración de Terraform.
- Verificar y destruir la infraestructura creada.
Ahora estás listo para explorar más configuraciones y funcionalidades avanzadas de Terraform. En el siguiente módulo, profundizaremos en el lenguaje de configuración de Terraform (HCL) y cómo utilizar variables y salidas.
Curso de Terraform
Módulo 1: Introducción a Terraform
- ¿Qué es Terraform?
- Instalando Terraform
- Conceptos Básicos de Terraform
- Primera Configuración de Terraform
Módulo 2: Lenguaje de Configuración de Terraform
Módulo 3: Gestión del Estado
Módulo 4: Módulos de Terraform
Módulo 5: Aprovisionamiento de Recursos
- Conceptos Básicos de Aprovisionamiento
- Aprovisionamiento de Recursos AWS
- Aprovisionamiento de Recursos Azure
- Aprovisionamiento de Recursos GCP
Módulo 6: Funcionalidades Avanzadas de Terraform
Módulo 7: Mejores Prácticas de Terraform
- Organización del Código
- Control de Versiones
- Pruebas del Código de Terraform
- Mejores Prácticas de Seguridad
Módulo 8: Terraform en CI/CD
- Integración de Terraform con CI/CD
- Automatización de Terraform con Jenkins
- Uso de Terraform con GitHub Actions
- Terraform Cloud y Enterprise