Subida de Archivos Locales a Azure Blob Storage con Terraform
Introducción: Automatizando la gestión de almacenamiento en Azure con Terraform
En este post, te mostraremos cómo automatizar la creación de un Storage Account, un Container y la subida de archivos locales a Azure Blob Storage utilizando un script de Terraform.
¿Por qué usar Terraform?
Terraform es una herramienta poderosa que te permite automatizar la gestión de infraestructuras en la nube, incluyendo Azure. Con Terraform, puedes definir tu infraestructura como código, lo que te permite:
- Aumentar la eficiencia y la velocidad de aprovisionamiento de recursos.
- Garantizar la consistencia y la repetibilidad de las configuraciones.
- Colaborar de forma efectiva con otros miembros del equipo.
Requisitos para crear el proyecto:
Software:
- Terraform: https://developer.hashicorp.com/terraform/install
- Azure CLI: https://learn.microsoft.com/en-us/cli/azure/install-azure-cli
- Editor de código: Visual Studio Code
- Powershell: PowerShell 7.4.0
Recursos:
- Cuenta de Azure: https://azure.microsoft.com/en-us/free
- Subscription de Azure: https://techcommunity.microsoft.com/t5/azure/understanding-azure-account-subscription-and-directory/td-p/34800
- Archivos locales que deseas subir a Azure Blob Storage
La estructura de los archivos será la siguiente:
file_uploads:
En esta carpeta se encuentran los archivos locales que se van a subir.
main.tf:
Este archivo define la infraestructura que se desea crear en Azure. En este caso, se define:
- Un Storage Account con su nombre, tipo de redundancia y ubicación.
- Un Container dentro del Storage Account con su nombre.
- La subida de archivos locales al Container utilizando la función
azurerm_storage_blob_upload
.
variables.tf:
Este archivo define las variables que se utilizan en el archivo main.tf
. En este caso, se definen variables para:
- El nombre del Storage Account
- El nombre del Container
- La ruta de acceso a los archivos locales que se desean subir
terraform.tfvars:
Este archivo define los valores de las variables definidas en variables.tf
. Estos valores pueden ser específicos para cada entorno (por ejemplo, desarrollo, producción) o pueden ser proporcionados por el usuario durante la ejecución de Terraform.
provider.tf:
Este archivo define el proveedor de Terraform que se utiliza para interactuar con Azure. En este caso, se define el proveedor hashicorp/azurerm
.
Autor/a: Alberto Costa Mesonero
Curso: Administración de Sistemas MultiCloud con Azure, AWS y GCP.
Centro: Tajamar
Año académico: 2023-2024