AWS Terraform · 4 min read · Feb 08, 2026
Crear un Bucket S3 en AWS usando Terraform

En este artículo, te mostraré cómo usar Terraform para crear un bucket S3 en AWS. Antes de continuar, asumo que estás familiarizado con los buckets S3, si no, puedes hacer clic aquí para ver los pasos para crear un bucket S3 desde la consola de AWS.
Pre-requisitos
- Comprensión básica de Terraform.
- Terraform instalado en tu sistema.
- Cuenta de AWS (Crea una si no tienes una).
- ‘access_key’ y ‘secret_key’ de un usuario IAM de AWS. (Haz clic aquí para aprender a crear un usuario IAM con ‘access_key’ y ‘secret_key’ en AWS, )
Lo que haremos
- Escribir archivos de configuración de Terraform para el Bucket S3.
- Crear un Bucket S3 usando los archivos de configuración de Terraform.
- Eliminar el Bucket S3 creado usando Terraform.
Escribir archivos de configuración de Terraform para el Bucket S3
Crea un directorio dedicado donde puedas crear archivos de configuración de terraform.
Usa el siguiente comando para crear un directorio y cambiar tu directorio de trabajo actual a él.
*mkdir terraform
**cd terraform/*Estoy usando “vim” como editor para escribir en los archivos, puedes usar un editor de tu elección y copiar y pegar las siguientes configuraciones para crear variables.tf, terraform.tfvars y main.tf
Crea ‘main.tf’ que es responsable de crear un Bucket S3 en AWS. Este main.tf leerá los valores de las variables de variables.tf y terraform.tfvars.
*vim main.tf*provider "aws" {
region = "${var.region}"
access_key = "${var.access_key}"
secret_key = "${var.secret_key}"
}
resource "aws_s3_bucket" "this" {
bucket = "${var.bucket_name}"
force_destroy = "${var.force_destroy}"
region = "${var.region}"
tags = "${merge(var.tags, map("Name", format("%s", var.bucket_name)))}"
}Aquí,
bucket:El nombre del bucket. Si se omite, Terraform asignará un nombre único y aleatorio.force_destroy:Un booleano que indica que todos los objetos deben ser eliminados del bucket para que el bucket pueda ser destruido sin error.region: La región de AWS en la que debe residir este bucket.tags:Un mapa de etiquetas para asignar al bucket.
Cambia el valor de “region” si deseas crear el Bucket en alguna región diferente a la que he especificado.
Crea ‘variables.tf’ que contiene la declaración y definición de las variables.
*vim variables.tf*variable "access_key" {
description = "Clave de acceso a la consola de AWS"
}
variable "secret_key" {
description = "Clave secreta a la consola de AWS"
}
variable "region" {
description = "Región de AWS VPC"
}
variable "bucket_name" {
description = "(Requerido) Crea un nombre de bucket único"
type = "string"
default = "test-bucket-rahul-delete"
}
variable "force_destroy" {
description = "(Opcional) Un booleano que indica que todos los objetos deben ser eliminados del bucket para que el bucket pueda ser destruido sin error"
type = "string"
default = true
}
variable "tags" {
description = "(Opcional) Un mapeo de etiquetas para asignar al bucket"
type = "map"
default = {"env": "test"}
}Una vez que hayas creado ‘variables.tf’, no olvides cambiar los valores asignados a la variable. Debes cambiar los valores resaltados ya que son específicos de mi entorno. Puedes mantener el resto de las variables como están.
Crea ‘terraform.tfvars’ que contiene la definición de las variables access_key y secret_key definidas en el archivo anterior junto con la variable “region”.
Las siguientes claves deben ser cambiadas por las claves de tu usuario IAM.
*vim terraform.tfvars*region = "eu-west-3"
access_key = "AKIAQ6GAIA5XFLXF6HOV"
secret_key = "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"Ahora, deberías tener 3 archivos, a saber, variables.tf, terraform.tfvars y main.tf
Crear un Bucket S3 usando los archivos de configuración de Terraform
Antes de ejecutar los siguientes comandos, asegúrate de haber configurado el access_key y secret_key válidos.
El primer comando que se debe usar es ‘terraform init’. Este comando descarga e instala plugins para los proveedores utilizados dentro de la configuración. En nuestro caso, es AWS.
* **terraform init*
El segundo comando que se debe usar es ‘terraform plan’. Este comando se utiliza para ver los cambios que tendrán lugar en la infraestructura.
* terraform plan*
El comando ‘terraform apply’ creará los recursos en AWS mencionados en el archivo main.tf. Se te pedirá que proporciones tu entrada para crear los recursos.
terraform apply
Cuando ejecutes el comando anterior, tras una finalización exitosa, podrás ver que se ha añadido 1 nuevo recurso y 0 han sido destruidos.
Puedes ir a la consola S3 de AWS para verificar si el Bucket S3 ha sido creado o no.

Eliminar el Bucket S3 usando Terraform
Si ya no necesitas un recurso que creaste usando la configuración mencionada en el archivo main.tf, puedes usar el comando “terraform destroy” para eliminar todos esos recursos. Aquí, el bucket S3 se eliminará al ejecutar el siguiente comando.
terraform destroyEn la captura de pantalla anterior, puedes ver que el recurso ha sido destruido.
Conclusión
En este artículo, vimos los pasos para crear un Bucket S3 usando Terraform. También vimos cómo el Bucket que creamos puede ser eliminado en solo un comando. **
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.