Proveedores y recursos
Comprenda cómo interactúa Terraform con distintos proveedores de servicios y cloud, y cómo definir componentes individuales de infraestructura como recursos.
Proveedores y recursos es una lección gratuita de Terraform Infrastructure as Code en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Terraform Infrastructure as Code, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Terraform Infrastructure as Code incluye 4 lecciones en total.
Los componentes básicos de Terraform
¡Bienvenido! Terraform le ayuda a administrar su infraestructura en la nube mediante código. Pero ¿cómo se comunica realmente con los proveedores de servicios en la nube y cómo define lo que desea crear?
En esta lección se presentan dos conceptos fundamentales: los proveedores y los recursos. Son los componentes básicos de toda configuración de Terraform y resultan esenciales para entender cómo funciona la IaC.
¿Qué son los proveedores de Terraform?
Considere un proveedor como un complemento que permite a Terraform interactuar con un servicio externo o una API. Puede ser un proveedor de servicios en la nube como AWS, Azure o Google Cloud, o incluso servicios como GitHub, Kubernetes o Datadog.
- Cada proveedor conoce las llamadas específicas a la API que necesita su servicio.
- Traduce la infraestructura que usted desea en acciones que el servicio puede realizar.
- Usted configura los proveedores para indicar a Terraform qué servicio debe utilizar y cómo autenticarse.
Declarar un bloque de proveedor
Para utilizar un proveedor, debe declararlo en los archivos de configuración de Terraform mediante un bloque provider. Este bloque especifica el nombre del proveedor y cualquier ajuste de configuración que necesite, como la región de un proveedor de servicios en la nube.
Este es un ejemplo habitual para el proveedor de AWS:
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 5.0"
}
}
}
provider "aws" {
region = "us-east-1"
}terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 5.0"
}
}
}
provider "aws" {
region = "us-east-1"
}Origen y versión del proveedor
La sección required_providers del bloque terraform es importante. Indica a Terraform dónde encontrar el proveedor (su source) y qué version utilizar. Esto garantiza la coherencia y evita comportamientos inesperados.
- Origen: especifica la ruta del registro del proveedor (por ejemplo,
hashicorp/aws). - Versión: fija la versión del proveedor y evita cambios incompatibles de nuevas versiones.
- El bloque
provider "aws"configura después ajustes específicos, como laregionde AWS para todos los recursos administrados por este proveedor.
¿Qué son los recursos de Terraform?
Un recurso es un bloque que describe un único componente de su infraestructura. Puede ser una máquina virtual (VM), una red, una base de datos, un bucket de almacenamiento o incluso una cuenta de usuario.
- Cada tipo de recurso es administrado por un proveedor específico (por ejemplo,
aws_s3_bucketes administrado por el proveedor de AWS). - Usted declara el estado deseado del recurso y Terraform trabaja para alcanzarlo.
- Los recursos tienen argumentos que definen sus propiedades (por ejemplo, tamaño, nombre y ubicación).
Declarar un bloque de recurso
Un recurso se define mediante un bloque resource. Este bloque requiere dos cadenas:
- El tipo de recurso (por ejemplo,
aws_s3_bucket). - Un nombre local (por ejemplo,
my_first_bucket) que sea único dentro de su configuración.
El tipo indica a Terraform qué clase de componente de infraestructura es, y el nombre le proporciona un identificador único para que Terraform pueda realizar su seguimiento.
resource "aws_s3_bucket" "my_first_bucket" {
# Arguments go here to define its properties
}resource "aws_s3_bucket" "my_first_bucket" {
# Arguments go here to define its properties
}Argumentos y propiedades de los recursos
Dentro de un bloque resource, se especifican argumentos. Son pares clave-valor que definen las propiedades y la configuración del componente de infraestructura. Los argumentos disponibles dependen del tipo de recurso y del proveedor que lo administra.
- En un bucket de AWS S3, los argumentos pueden incluir
bucket(el nombre único),acl(la lista de control de acceso) otagspara etiquetarlo. - Terraform utiliza estos argumentos para crear o actualizar el recurso de modo que coincida con el estado deseado en la nube.
Unirlo todo: proveedor y recurso
Aquí tiene una configuración de Terraform sencilla y completa. Declara el proveedor de AWS y después lo utiliza para crear un bucket de S3 básico. ¡Este único archivo es todo lo que necesita para empezar a definir infraestructura!
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 5.0"
}
}
}
provider "aws" {
region = "us-east-1"
}
resource "aws_s3_bucket" "my_unique_bucket" {
bucket = "my-coddykit-demo-bucket-12345" # Must be globally unique!
acl = "private"
tags = {
Environment = "Development"
Project = "CoddyKit"
}
}terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 5.0"
}
}
}
provider "aws" {
region = "us-east-1"
}
resource "aws_s3_bucket" "my_unique_bucket" {
bucket = "my-coddykit-demo-bucket-12345" # Must be globally unique!
acl = "private"
tags = {
Environment = "Development"
Project = "CoddyKit"
}
}La conexión con el flujo de trabajo de Terraform
Al ejecutar comandos de Terraform, los proveedores y los recursos desempeñan funciones fundamentales:
terraform init: descarga los complementos de proveedor necesarios.terraform plan: utiliza el proveedor para comunicarse con la API de la nube y determinar qué cambios se necesitan para alcanzar el estado deseado del recurso.terraform apply: indica al proveedor que realice esos cambios en su infraestructura real en la nube.
Son los puntos principales de interacción para administrar su infraestructura.
Comprobación rápida: función del proveedor
Ha aprendido sobre los proveedores y los recursos. Veamos si puede identificar correctamente sus funciones.
Resumen: proveedores y recursos
¡Buen trabajo! En esta lección ha adquirido una comprensión básica de los dos conceptos más importantes de Terraform:
- Proveedores: son los complementos esenciales que permiten a Terraform interactuar con diversos servicios en la nube y API. Usted los configura para especificar qué servicio utilizar y cómo autenticarse.
- Recursos: son los componentes individuales de la infraestructura que declara en su configuración. Tienen tipos y argumentos para definir su estado deseado.
¡Estos dos elementos trabajan conjuntamente para permitirle definir y administrar su infraestructura como código de forma eficiente!
Preguntas frecuentes
¿La lección «Proveedores y recursos» es gratis?
Sí — el texto completo de «Proveedores y recursos» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Terraform Infrastructure as Code, actualiza a CoddyKit PRO. El curso de Terraform Infrastructure as Code incluye 4 lecciones en total.
¿Qué aprenderé en «Proveedores y recursos»?
Comprenda cómo interactúa Terraform con distintos proveedores de servicios y cloud, y cómo definir componentes individuales de infraestructura como recursos. Practicas Terraform Infrastructure as Code con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Terraform Infrastructure as Code?
No se requiere experiencia previa. Terraform Infrastructure as Code en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Proveedores y recursos»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Terraform Infrastructure as Code?
Sí. Cada lección de Terraform Infrastructure as Code incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Proveedores y recursos
- Variables y salidas
- Fundamentos de la gestión del estado
- Módulos y reutilización de código