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
providerespecifica el proveedor de infraestructura que estás utilizando. En este caso, estamos utilizando AWS y especificamos la regiónus-west-2. - Recurso: El bloque
resourcedefine un recurso de infraestructura. Aquí, estamos creando una instancia de EC2 con la imagenami-0c55b159cbfafe1f0y 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: yesPaso 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: yesResumen
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
