Cómo usar Terraform depends_on

Cómo usar Terraform depends_on
Con el aumento de la computación en la nube a lo largo de los años, la necesidad de herramientas automatizadas y rápidas para administrarlas se ha vuelto necesaria. Terraform es una de estas herramientas.

Terraform, desarrollado por Hashicorp, es una infraestructura como utilidad de código. Le permite provocar infraestructura en la nube de manera rápida y eficiente. Usando Terraform, puede construir, modificar y destruir los recursos en la nube en algunas líneas de código. Admite proveedores de nube como Amazon AWS, Google Cloud, Microsoft Azure y más, incluida la infraestructura de la nube personalizada.

Este tutorial enseñará sobre el meta argumento depends_on que pueda usar al aprovisionar los recursos en la nube.

Requisitos previos

Antes de continuar con el tutorial, necesitará:

  • Estar familiarizado con el lenguaje Terraform y úselo para crear recursos.
  • Tener Terraform CLI instalado y configurado en su sistema.

PRECAUCIÓN: Usaremos Google Cloud como proveedor para las configuraciones y muestras de ejemplo. También puede optar por otros proveedores compatibles. Sin embargo, el código en este tutorial no se prueba en otros proveedores.

Lo que es Terraform depende_on?

Depends_on es una metaetiqueta que le permite especificar dependencias entre recursos y módulos. Por ejemplo, puede tener una instancia de Google Cloud que depende de un cubo específico. El uso de la etiqueta depends_on permite que Terraform cree o destruya los recursos correctamente. Cuando Terraform ve el módulo depends_on, primero creará o matará el cubo antes de realizar las acciones especificadas en la instancia.

Para usar el parámetro Depends_on en los bloques de módulo y recursos, asegúrese de tener Terraform versión 0.13 y más.

Caso de uso de ejemplo

Usemos un ejemplo simple para ilustrar el argumento Depends_on en Terraform.

Nota: Suponemos que tiene instalados y aplicó Terraform CLI y aplicó sus configuraciones para su proveedor específico.

Comience creando un directorio de trabajo como:

Mkdir Terraform-Tutorials

Navegue al directorio creado:

CD Terraform-Tutorials

Crear un archivo Terraform y llamarlo depends_on.TF

El toque depende_on.TF

A continuación, con su editor favorito, agregue un archivo de configuración de ejemplo como se muestra:

Terraform
requerido_providers
AWS =
fuente = "Hashicorp/Google"



Proveedor "Google"
credenciales = archivo ("GCP-Conf.json ")
Project = "Fine-Climber-318807"
región = "US-Central1"
Zone = "US-Central1-C"

Recurso "Google_storage_Bucket" "my_archive"
nombre = "my_archive"
ubicación = "US-Central1-A"

Datos "Google_Compute_Image" "my_ubuntu_image"
Family = "Ubuntu-20"
Project = "Fine-Climber-318807"

Recurso "Google_Compute_Instance" "predeterminado"
nombre = "Ubuntu-instancia"
Machine_Type = "E2-Micro"
Zone = "US-Central1-A"
disco de inicio
inicialize_params
imagen = "datos.Google_Compute_Image.my_ubuntu_image.Self_link "


disco rayado
interfaz = "scsi"

interfaz de red
red = "predeterminado"
access_config


Depends_on = [Google_storage_Bucket.my_archive]

Guarde el archivo y cierre el editor.

En el archivo de ejemplo de Terraform, comenzamos configurando el proveedor como Google y agregando todas las credenciales requeridas.

Nota: Verifique la documentación para aprender a configurar Terraform para Google Cloud.

A continuación, creamos un cubo de Google Cloud y proporcionamos todos los parámetros requeridos. A continuación, creamos una instancia de motor de cómputo que depende del cubo de almacenamiento creado.

Verifique que el archivo de configuración no contiene error de sintaxis como:

Ubuntu@CS: ~/Terraform-Tutorials $ Terraform Validate
Éxito! La configuración es válida.

Si la configuración es válida, debe ver un mensaje de éxito, como se muestra arriba.

Ejecute el archivo para aprovisionar los recursos requeridos como:

Terraform aplicar

Escriba "sí" en el mensaje para confirmar los cambios.

Si tiene los detalles de Google Cloud configurados correctamente, Terraform aprovisionará los recursos especificados.

Envolver

Este tutorial le presenta el parámetro Depends_on y cómo crear dependencias para recursos y módulos. Si es nuevo en Terraform, consulte la documentación para obtener más información.