Introducción
Terraform es conocido por su capacidad de gestionar infraestructura en diversas plataformas, gracias a los proveedores. En este post, aprenderás qué son los proveedores, cómo configurarlos y cómo usar múltiples proveedores en un mismo proyecto.

¿Qué es un proveedor en Terraform?
Un proveedor en Terraform es un plugin que permite interactuar con servicios externos como AWS, Google Cloud Platform (GCP), Azure, Kubernetes y otros.
Cada proveedor tiene recursos específicos que puedes gestionar mediante Terraform, facilitando la administración multiplataforma.
Configurando un proveedor
Para usar un proveedor, debes declararlo en tu archivo de configuración. Aquí tienes ejemplos para los principales proveedores:
AWS
provider "aws" {
region = "us-east-1"
}
Google Cloud Platform
provider "google" {
project = "mi-proyecto-gcp"
region = "us-central1"
}
Azure
provider "azurerm" {
features {}
}
Usando múltiples proveedores
Terraform permite gestionar recursos en diferentes nubes simultáneamente. Aquí un ejemplo:
provider "aws" {
region = "us-east-1"
alias = "aws-este"
}
provider "google" {
project = "mi-proyecto-gcp"
region = "us-central1"
}
resource "aws_instance" "servidor_aws" {
provider = aws.aws-este
ami = "ami-0c55b159cbfafe1f0"
instance_type = "t2.micro"
}
resource "google_compute_instance" "servidor_gcp" {
name = "servidor-gcp"
machine_type = "f1-micro"
boot_disk {
initialize_params {
image = "debian-cloud/debian-10"
}
}
network_interface {
network = "default"
}
}
En este ejemplo, creamos recursos simultáneamente en AWS y GCP.
Versionado y actualización de proveedores
Es recomendable especificar versiones de proveedores para garantizar estabilidad:
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 4.0"
}
}
}
Esto asegura que todos los colaboradores usen la misma versión del proveedor, evitando inconsistencias.
Usar proveedores en Terraform multiplica tus posibilidades al permitir gestionar recursos en múltiples plataformas simultáneamente. Esto convierte a Terraform en una herramienta potente y flexible para proyectos en la nube.
En el próximo post exploraremos cómo integrar Terraform con sistemas de control de versiones y Terraform Cloud para optimizar la colaboración. ¡Hasta la próxima entrega!