Implementación de una cuenta de Azure Batch y dos grupos con una tarea de inicio: Terraform
Artículo
En este inicio rápido, creará una cuenta de Azure Batch, una cuenta de Azure Storage y dos grupos de Batch mediante Terraform. Batch es un servicio de programación de trabajos basado en la nube que paraleliza y distribuye el procesamiento de grandes volúmenes de datos en muchos equipos. Normalmente se usa para tareas como representar gráficos 3D, analizar grandes conjuntos de datos o procesar vídeo. En este caso, los recursos creados incluyen una cuenta de Batch (que es la entidad de organización central para las tareas de procesamiento distribuido), una cuenta de almacenamiento para almacenar los datos que se van a procesar y dos grupos de Batch, que son grupos de máquinas virtuales que ejecutan las tareas.
Terraform habilita la definición, vista previa e implementación de la infraestructura en la nube. Con Terraform, se crean archivos de configuración mediante la sintaxis de HCL. La sintaxis de HCL permite especificar el proveedor de la nube, como Azure, y los elementos que componen la infraestructura de la nube. Después de crear los archivos de configuración, se crea un plan de ejecución que permite obtener una vista previa de los cambios de infraestructura antes de implementarlos. Una vez que compruebe los cambios, aplique el plan de ejecución para implementar la infraestructura.
Especifique la versión necesaria de Terraform y los proveedores necesarios.
Defina el proveedor de Azure sin características adicionales.
Defina variables para la ubicación del grupo de recursos y el prefijo de nombre.
Genere un nombre aleatorio para el grupo de recursos de Azure.
Cree un grupo de recursos con el nombre generado en una ubicación especificada.
Genere una cadena aleatoria para el nombre de la cuenta de almacenamiento.
Cree una cuenta de almacenamiento con el nombre generado en el grupo de recursos creado.
Genere una cadena aleatoria para el nombre de la cuenta de Batch.
Cree una cuenta de Batch con el nombre generado en el grupo de recursos creado y vinculado a la cuenta de almacenamiento creada.
Genere un nombre aleatorio para el grupo de Batch.
Cree un grupo de Batch con una escala fija en el grupo de recursos creado y vinculado a la cuenta de Batch creada.
Cree un grupo de Batch con escalabilidad automática en el grupo de recursos creado y vinculado a la cuenta de Batch creada.
Genera los nombres del grupo de recursos creado, la cuenta de almacenamiento, la cuenta de Batch y ambos grupos de Batch.
Cree un archivo llamado outputs.tf e inserte el siguiente código:
Terraform
output"resource_group_name" {
value = azurerm_resource_group.rg.name
}
output"storage_account_name" {
value = azurerm_storage_account.example.name
}
output"batch_account_name" {
value = azurerm_batch_account.example.name
}
output"batch_pool_fixed_name" {
value = azurerm_batch_pool.fixed.name
}
output"batch_pool_autopool_name" {
value = azurerm_batch_pool.autopool.name
}
Cree un archivo llamado providers.tf e inserte el siguiente código:
Terraform
terraform {
required_version = ">=1.0"
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "~>3.0"
}
random = {
source = "hashicorp/random"
version = "~>3.0"
}
}
}
provider"azurerm" {
features {}
}
Cree un archivo llamado variables.tf e inserte el siguiente código:
Terraform
variable"resource_group_location" {
type = string
default = "eastus"
description = "Location of the resource group."
}
variable"resource_group_name_prefix" {
type = string
default = "rg"
description = "Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription."
}
Inicialización de Terraform
Para inicializar la implementación de Terraform, ejecute terraform init. Este comando descarga el proveedor de Azure necesario para administrar los recursos de Azure.
Consola
terraform init -upgrade
Puntos clave:
El parámetro -upgrade actualiza los complementos de proveedor necesarios a la versión más reciente que cumpla con las restricciones de versión de la configuración.
El comando terraform plan crea un plan de ejecución, pero no lo ejecuta. En su lugar, determina qué acciones son necesarias para crear la configuración especificada en los archivos de configuración. Este patrón le permite comprobar si el plan de ejecución coincide con sus expectativas antes de realizar cambios en los recursos reales.
El parámetro -out opcional permite especificar un archivo de salida para el plan. El uso del parámetro -out garantiza que el plan que ha revisado es exactamente lo que se aplica.
Aplicación de un plan de ejecución de Terraform
Ejecute terraform apply para aplicar el plan de ejecución a su infraestructura en la nube.
Consola
terraform apply main.tfplan
Puntos clave:
El comando terraform apply de ejemplo asume que ejecutó terraform plan -out main.tfplan previamente.
Si especificó un nombre de archivo diferente para el parámetro -out, use ese mismo nombre de archivo en la llamada a terraform apply.
Si no ha utilizado el parámetro -out, llame a terraform apply sin ningún parámetro.
az batch account show --name<batch_account_name>--resource-group<resource_group_name>
En el comando anterior, reemplace <batch_account_name> por el nombre de la cuenta de Batch y <resource_group_name> por el nombre del grupo de recursos.
Limpieza de recursos
Cuando ya no necesite los recursos creados a través de Terraform, realice los pasos siguientes:
Ejecute el comando terraform plan y especifique la marca destroy.
Consola
terraform plan -destroy -out main.destroy.tfplan
Puntos clave:
El comando terraform plan crea un plan de ejecución, pero no lo ejecuta. En su lugar, determina qué acciones son necesarias para crear la configuración especificada en los archivos de configuración. Este patrón le permite comprobar si el plan de ejecución coincide con sus expectativas antes de realizar cambios en los recursos reales.
El parámetro -out opcional permite especificar un archivo de salida para el plan. El uso del parámetro -out garantiza que el plan que ha revisado es exactamente lo que se aplica.
Azure Batch es un servicio que permite ejecutar a gran escala aplicaciones paralelas y de informática de alto rendimiento (HPC) de manera eficaz en la nube. No es necesario administrar ni configurar la infraestructura. Solo debe programar el trabajo, asignar los recursos que necesita y dejar que Batch se encargue del resto.
Demostrar conocimientos fundamentales de los conceptos de la nube, los servicios principales de Azure, además de las características y herramientas de gobernanza y administración de Azure.