¿Cuáles son los comandos de Terraform más importantes?

Autor: | Última modificación: 21 de abril de 2022 | Tiempo de Lectura: 4 minutos
Temas en este post:

Terraform es una infraestructura de código abierto que proporciona un flujo de trabajo CLI consistente que administra una serie de servicios de la cloud. Los comandos de Terraform los controla la interfaz de línea de comandos de la plataforma, que, a su vez, regula el listado de subcomandos.

Los comandos de Terraform funcionan como órdenes que da el usuario para indicarle a la plataforma las acciones que debe ejecutar. El sistema cuenta con una serie de comandos básicos, así como otros indicadores opcionales que cumplen desde las labores más simples (como iniciar el proyecto e instalar las dependencias), hasta órdenes directas (como eliminar la totalidad de la infraestructura tomando como base la configuración).

Principales comandos de Terraform

Comando Init

El comando Init es el primero que debe utilizarse en Terraform, debido a que se encarga de inicializar el proyecto y la configuración de la plataforma, al tiempo que instala las dependencias necesarias para su funcionamiento.

Terraform Init es uno de los comandos principales de de plataforma, pues prepara el directorio de trabajo del usuario para que luego pueda ejecutar otros comandos. Además, cuenta con una serie de parámetros opcionales, entre los que están:

  • backend=true: esta opción se encarga de inicializar el backend en este entorno.
  • -get=true: se utilizad para descargar los módulos necesarios en esta configuración.
  • -input=true: cumple la función de solicitar la información de tipo interactiva, en caso de que esta sea necesaria.
  • -no-color: opción que, cuando se especifica, se encarga de que la salida no contenga algún color.
  • -force-copy: se utiliza con el objetivo de suprimir las indicaciones referentes a la copia de datos de estado. Es decir, funciona como una afirmación hacia la totalidad de los mensajes de confirmación.

Comando Apply

El comando Apply se encarga de ejecutar toda la configuración y crear la infraestructura de la plataforma. Este elemento tiene la función de aplicar los cambios necesarios que contribuyan a alcanzar el estado deseado de la configuración, así como la serie de opciones preestablecidas de las acciones que se generan por un determinado plan de ejecución.

Algunos de los indicadores de línea de comandos de Terraform Apply son:

  • -backup=path: se usa como ruta de acceso al archivo de copia.
  • -refresh=true: sirve para actualizar el estado de cada uno de los recursos antes de que se lleven a cabo los procesos de planeación y aplicación. Cabe resaltar que esta opción no tiene efecto en los casos donde un archivo de plan se ejecuta de forma directa para su aplicación.
  • -state-out=path: se utiliza como ruta para que se escriba el archivo de estado actualizado. De manera predeterminada, -state utilizará esta ruta, aunque la ignorará en los casos donde el cliente use el estado remoto.
  • -target=resource: hace referencia a la dirección de recursos para el destino. Su uso implica que la operación se va a limitar solamente a este recurso y a sus respectivas dependencias. Este indicador permite su uso en diferentes ocasiones.
  • -var-file=foo: cumple la función de establecer las variables en la configuración de Terraform desde un archivo variable. Puede usarse varias veces.

Comando Destroy

Este es uno de los comandos de Terraform con mayor alcance, puesto que es capaz de eliminar toda la infraestructura con base en la configuración. Antes de descubrir la infraestructura gestionada, Destroy pide la confirmación de la acción. Además, se caracteriza por permitir todos las opciones y parámetros del comando Apply, exceptuando la del archivo de plan. Así, por ejemplo, esta opción incluye parámetros como:

  • -force: usado para no mostrar la confirmación de destrucción.
  • -target: este indicador en vez de afectar solamente a las dependencias, cumplirá la función de eliminar los recursos que sean dependientes de los objetivos que especifique el usuario.
  • terraform plan-destroy: cumple la función de previsualizar el comportamiento de cualquier comando de destrucción en cualquier momento que el cliente lo requiera.

Comando Plan

🔴 ¿Quieres entrar de lleno al mundo DevOps & Cloud Computing? 🔴

Descubre el DevOps & Cloud Computing Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en DevOps & Cloud Computing por una semana

Plan es otro de los comandos de Terraform de mayor importancia en la plataforma, debido a que tiene la capacidad de revisar toda la función y compararla con la infraestructura actual. El llamado comando Terraform Plan tiene la función de crear un plan de ejecución. Además, se encarga de llevar a cabo una actualización, a menos de que el usuario deshabilite esta opción de forma específica.

En el caso de que este comando se deshabilite, es necesario que el cliente establezca las acciones que se requieren para alcanzar el estado deseado determinado en los archivos de configuración de Terraform.

Dentro de los parámetros opcionales de los comandos de Terraform se encuentran:

  • -lock=true: bloquea el archivo de estado cuando se admite el bloqueo.
  • -lock-timeout=0s : se refiere a la duración establecida para volver a intentar un bloqueo de estado.
  • -module-depth=n: se utiliza para especificar los módulos que se mostrarán en la salida. Esto no afecta al plan en sí, solo a la salida mostrada. De manera preestablecida, esto es -1, lo que ampliará todo.

Comando Validate

El siguiente de los comandos de Terraform de mayor impacto es Validate, que se encarga de validar que la sintaxis de la configuración sea correcta. Este comando también se utiliza para llevar a cabo un proceso de comprobación en todos los archivos de directorios, mostrando un error en el caso de que alguno de estos archivos no se valide.

¿Cuál es el siguiente paso?

Ya sabes cuáles son los comandos de Terraform de mayor importancia y cuáles son sus usos principales. Ahora, continúa aprendiendo en nuestro DevOps & Cloud Computing Full Stack Bootcamp. ¡Inscríbete y conviértete en un experto!

[email protected]