Validación de una red en estrella tipo hub-and-spoke en Azure con 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.

En este artículo se ejecutan los archivos de terraform creados en el artículo anterior de esta serie. El resultado es una validación de la conectividad entre las redes virtuales de demostración.

En este artículo aprenderá a:

  • Implementar la red virtual del concentrador en la topología de red en estrella tipo hub-and-spoke.
  • Comprobar los recursos que se van a implementar.
  • Crear los recursos en Azure.
  • Comprobación de la conectividad entre distintas redes

1. Configurar su entorno

  • Suscripción de Azure: si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.

2. Verificación de la configuración

Compruebe que todos los archivos creados en esta serie de artículos estén presentes en el directorio de ejemplo:

Nombre de archivo Artículo en el que se crea el archivo
main.tf Creación de una topología de red híbrida en estrella tipo hub-and-spoke con Terraform en Azure
variables.tf Creación de una topología de red híbrida en estrella tipo hub-and-spoke con Terraform en Azure
on-prem.tf Creación de una red virtual local con Terraform en Azure
hub-vnet.tf Create a hub virtual network with Terraform in Azure (Creación de una red virtual del concentrador con Terraform en Azure)
hub-nva.tf Creación de un dispositivo de red virtual de centro de conectividad con Terraform en Azure
spoke1.tf Creación de redes virtuales en estrella tipo hub-and-spoke con Terraform en Azure
spoke2.tf Creación de redes virtuales en estrella tipo hub-and-spoke con Terraform en Azure

3. 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.

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.

4. Creación de un plan de ejecución de Terraform

Ejecute terraform plan para crear un plan de ejecución.

terraform plan -out main.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.

5. 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.

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.

6. Verificación de los resultados

En esta sección se muestra cómo probar la conectividad del entorno local simulado a la red virtual del centro.

  1. Vaya a Azure Portal.

  2. En Azure Portal, vaya al grupo de recursos onprem-vnet-rg.

  3. En la pestaña onprem-vnet-rg, seleccione la máquina virtual denominada onprem-vm.

  4. Anote el valor de Dirección IP pública.

  5. Vuelva a la línea de comandos y ejecute ssh para conectarse al entorno local simulado.

    ssh azureuser@<onprem_vm_ip_address>
    

    Puntos clave:

    • Si cambió el nombre de usuario azureuser en el archivo variables.tf, asegúrese de insertar ese valor en el comando ssh.
    • Use la contraseña que especificó cuando ejecutó terraform plan.
  6. Cuando se haya conectado a la máquina virtual onprem-vm, ejecute el comando ping para probar la conectividad a la máquina virtual jumpbox en la red virtual del centro:

    ping 10.0.0.68
    
  7. Ejecute el comando ping para probar la conectividad con las máquinas virtuales de JumpBox en cada radio:

    ping 10.1.0.68
    ping 10.2.0.68
    
  8. Para salir de la sesión ssh en la máquina virtual onprem-vm , escriba exit y presione <Entrar>.

7. Limpieza de recursos

Cuando ya no necesite los recursos creados a través de Terraform, realice los pasos siguientes:

  1. Ejecute el comando terraform plan y especifique la marca destroy.

    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.
  2. Ejecute terraform apply para aplicar el plan de ejecución.

    terraform apply main.destroy.tfplan
    

Solución de problemas de Terraform en Azure

Solución de problemas comunes al usar Terraform en Azure

Pasos siguientes