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á:
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.