Inicio rápido: Creación de un equilibrador de carga público para equilibrar la carga de las máquinas virtuales mediante Terraform
Artículo
En este inicio rápido se muestra cómo implementar un equilibrador de carga estándar para equilibrar la carga de las máquinas virtuales mediante Terraform.
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.
Cree un archivo denominado variables.tf e inserte el siguiente código:
variable "resource_group_location" {
type = string
default = "eastus"
description = "Location of the resource group."
}
variable "username" {
type = string
default = "microsoft"
description = "The username for the local account that will be created on the new VM."
}
variable "password" {
type = string
default = "Microsoft@123"
description = "The password for the local account that will be created on the new VM."
}
variable "virtual_network_name" {
type = string
default = "test-vnet"
description = "Name of the Virtual Network."
}
variable "subnet_name" {
type = string
default = "test-subnet"
description = "Name of the subnet."
}
variable public_ip_name {
type = string
default = "test-public-ip"
description = "Name of the Public IP."
}
variable network_security_group_name {
type = string
default = "test-nsg"
description = "Name of the Network Security Group."
}
variable "network_interface_name" {
type = string
default = "test-nic"
description = "Name of the Network Interface."
}
variable "virtual_machine_name" {
type = string
default = "test-vm"
description = "Name of the Virtual Machine."
}
variable "virtual_machine_size" {
type = string
default = "Standard_B2s"
description = "Size or SKU of the Virtual Machine."
}
variable "disk_name" {
type = string
default = "test-disk"
description = "Name of the OS disk of the Virtual Machine."
}
variable "redundancy_type" {
type = string
default = "Standard_LRS"
description = "Storage redundancy type of the OS disk."
}
variable "load_balancer_name" {
type = string
default = "test-lb"
description = "Name of the Load Balancer."
}
Cree un archivo denominado outputs.tf e inserte el siguiente código:
output "public_ip_address" {
value = "http://${azurerm_public_ip.my_public_ip.ip_address}"
}
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.
Verificación de los resultados
Al aplicar el plan de ejecución, Terraform mostrará la dirección IP pública de front-end. Si borró la pantalla, es posible recuperar ese valor con el siguiente comando de Terraform:
Consola
echo $(terraform output -raw public_ip_address)
Pegue la dirección IP pública en la barra de direcciones del explorador. La página de VM personalizada del servidor web Nginx se muestra en el explorador.
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.
Obtenga información general sobre las características, la arquitectura y la implementación de Azure Load Balancer. Obtenga información sobre cómo funciona el servicio y cómo usarlo en la nube.