Introducción a Terraform en Azure: ¿Qué es Terraform?

Terraform de HashiCorp es una herramienta de infraestructura como código (IaC) y de código abierto que sirve para configurar e implementar la infraestructura en la nube. Codifica la infraestructura en archivos de configuración que describen el estado deseado para la topología. Terraform permite la administración de cualquier infraestructura, como nubes públicas, nubes privadas y servicios SaaS, mediante proveedores de Terraform.

Proveedores de Terraform para la infraestructura de Azure

Varios proveedores de Terraform permiten la administración de la infraestructura de Azure:

  • AzureRM: Administra recursos y funcionalidades estables de Azure, como máquinas virtuales, cuentas de almacenamiento e interfaces de red.
  • AzAPI: administre Azure recursos y funcionalidades mediante las API de Azure Resource Manager directamente. Este proveedor permite la coherencia con la funcionalidad más reciente de Azure sin necesidad de actualizaciones del proveedor. Para obtener más información sobre el proveedor AzAPI, consulte Proveedor AzAPI de Terraform.
  • AzureAD: Administre los recursos de Microsoft Entra, como grupos, usuarios, entidades de servicio y aplicaciones.
  • AzureDevOps: Administra los recursos de Azure DevOps, como agentes, repositorios, proyectos, canalizaciones y consultas.
  • AzureStack: Administra los recursos de Azure Stack Hub, como máquinas virtuales, DNS, redes virtuales y almacenamiento.

Uso de AzAPI frente a AzureRM

Para comprender cuándo usar AzAPI frente a AzureRM, lea la instrucción conjunta con HashiCorp.

Ventajas de Terraform con Azure

En esta sección se describen las ventajas de usar Terraform para administrar la infraestructura de Azure.

Herramienta de IaC común

Terraform Azure proveedores le permiten administrar toda la infraestructura de Azure mediante la misma sintaxis declarativa y herramientas. Con estos proveedores, puede hacer lo siguiente:

  1. Configurar funcionalidades básicas de la plataforma, como grupos de administración, directivas, usuarios, grupos y directivas. Para obtener más información, consulte Implementación con Terraform de Cloud Adoption Framework a escala empresarial.
  2. Configurar proyectos y canalizaciones de Azure DevOps para automatizar implementaciones de aplicaciones e infraestructuras normales.
  3. Implementar los recursos de Azure necesarios para las aplicaciones.

Automatización de la administración de la infraestructura

Use la sintaxis de archivo de configuración basada en plantillas de Terraform para configurar los recursos de Azure de forma repetible y predecible. La automatización de la administración de infraestructura ofrece las siguientes ventajas:

  • Reduce el potencial de errores humanos al implementar y administrar la infraestructura.
  • Implementa la misma plantilla varias veces para crear entornos de desarrollo, prueba y producción idénticos.
  • Reduce el costo de los entornos de desarrollo y prueba mediante su creación a petición.

Descripción de los cambios de infraestructura antes de aplicarlos

A medida que una topología de recursos se vuelve más compleja, puede ser difícil comprender el significado y el impacto de los cambios en la infraestructura.

La CLI de Terraform permite validar y obtener una vista previa de los cambios de infraestructura antes de aplicar el plan. La vista previa de los cambios de infraestructura de forma segura ofrece varias ventajas:

  • Los miembros del equipo pueden colaborar de forma más eficaz al conocer los cambios propuestos y su impacto.
  • Puede detectar cambios no deseados al principio en el proceso de desarrollo.

Pasos siguientes

En función de su entorno, instale y configure Terraform:

Note

Las conversiones de cuentas de Azure Storage pueden introducir cambios externos admitidos que hacen que Terraform planifique la sustitución de una cuenta de almacenamiento. Para obtener instrucciones sobre cómo evitar la recreación inesperada durante estas conversiones, consulte Evitar el desfase de Terraform para recursos con estado Azure.