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.

mkdir my-first-terraform-project
cd my-first-terraform-project

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.

touch main.tf

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ón us-west-2.
  • Recurso: El bloque resource define un recurso de infraestructura. Aquí, estamos creando una instancia de EC2 con la imagen ami-0c55b159cbfafe1f0 y el tipo de instancia t2.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.

terraform init

Paso 4: Aplicar la Configuración

Una vez inicializado el proyecto, puedes aplicar la configuración para crear la infraestructura definida.

terraform apply

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 destroy

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.

© Copyright 2024. Todos los derechos reservados