Este proyecto de Terraform implementa la infraestructura necesaria en AWS para crear un rol IAM y un bucket S3. A su vez crea una politica de S3 para este rol de IAM para darle acceso de lectura.
Antes de utilizar este código, asegúrate de tener lo siguiente configurado:
- Terraform instalado.
- Perfil configurado de AWS o puedes configurar tu método favorito.
Sigue estos pasos para utilizar el código de Terraform:
-
Clona este repositorio en tu máquina local.
-
Copia el archivo
terraform.tfvars.dist
aterraform.tfvars
y ajusta los valores de configuración según tus necesidades. -
Ejecuta el siguiente comando en el directorio raíz del proyecto:
terraform init
Esto inicializará el backend de Terraform y descargará los plugins necesarios.
-
Revisa los recursos que se crearán con el siguiente comando:
terraform plan
Esto te mostrará una descripción de los recursos que serán creados.
-
Finalmente, ejecuta el siguiente comando para crear los recursos en AWS:
terraform apply
Confirma la ejecución escribiendo "yes" cuando se te solicite.
El código de Terraform está organizado en los siguientes archivos y directorios:
main.tf
: Este archivo contiene la configuración principal de Terraform, incluyendo la definición del proveedor de AWS y la declaración de los módulos utilizados.versions.tf
: En este archivo se definen los providers utilizados.outputs.tf
: En este archivo se definen los outputs del modulo root, que en este caso no hay.variables.tf
: En este archivo se definen las variables utilizadas en el código, como la región de AWS, el perfil de AWS, el nombre del bucket S3, etc.modules/iam/role
: Este directorio contiene el móduloiam/role
, que se encarga de crear el rol IAM con la trust policy asociada.modules/s3
: En este directorio se encuentra el módulos3
, que se utiliza para crear el bucket S3 con las opciones de versioning y bloqueo de acceso público configuradas. También crea la política de S3 y le da permisos al usuario IAM creado.