Creación de una topología de red híbrida 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 esta serie de artículos, se muestra cómo usar Terraform para implementar en Azure una topología de red en estrella tipo hub-and-spoke.

Una topología en estrella tipo hub-and-spoke es una forma de aislar las cargas de trabajo mientras se comparten servicios comunes. Estos servicios incluyen la identidad y la seguridad. El centro es una red virtual que actúa como punto central de conexión a una red local. Los radios son redes virtuales que se emparejan con el concentrador. Los servicios compartidos se implementan en el centro, mientras que las cargas de trabajo individuales se implementan allí como redes radiales.

En este artículo aprenderá a:

  • Implementar recursos de arquitectura de referencia de red híbrida de tipo hub-and-spoke
  • Crear recursos de dispositivo de red de centro de conectividad
  • Crear una red de centro de conectividad en Azure que actúe como punto común para todos los recursos
  • Crear cargas de trabajo individuales como redes virtuales radiales en Azure
  • Establecer puertas de enlace y conexiones entre redes locales y de Azure
  • Emparejar redes virtuales con redes radiales

1. Configurar su entorno

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

2. Descripción de la arquitectura de la topología de red en estrella tipo hub-and-spoke

En la topología en estrella tipo hub-and-spoke, el centro es una red virtual. La red es un punto central de conectividad para la red local. Las redes son redes virtuales del mismo nivel que el centro y se pueden usar para aislar cargas de trabajo. El tráfico fluye entre el centro de datos local y el concentrador a través de una conexión a ExpressRoute o a VPN Gateway. La siguiente imagen muestra los componentes de una topología de red en estrella tipo hub-and-spoke:

Hub and spoke topology architecture in Azure

Ventajas de una topología de red en estrella tipo hub-and-spoke

Una topología de red en estrella tipo hub-and-spoke es una forma de aislar las cargas de trabajo mientras se comparten servicios comunes. Estos servicios incluyen la identidad y la seguridad. El centro es una red virtual que actúa como punto central de conexión a una red local. Los radios son redes virtuales que se emparejan con el concentrador. Los servicios compartidos se implementan en el centro, mientras que las cargas de trabajo individuales se implementan allí como redes radiales. Estas son algunas de las ventajas de la topología de red en estrella tipo hub-and-spoke:

  • Ahorro de costos mediante la centralización de los servicios en una sola ubicación en la que se puedan compartir entre varias cargas de trabajo. Estas cargas de trabajo incluyen dispositivos virtuales de red y servidores DNS.
  • Superar los límites de las suscripciones gracias al emparejamiento de las redes virtuales de diferentes suscripciones con el concentrador central.
  • Separación de intereses entre la TI central (SecOps e InfraOps) y las cargas de trabajo (DevOps).

Usos típicos de la arquitectura en estrella tipo hub-and-spoke

Algunos de los usos típicos de una arquitectura en estrella tipo hub-and-spoke incluyen:

  • Muchos clientes tienen cargas de trabajo que se implementan en entornos diferentes. Estos entornos incluyen desarrollo, pruebas y producción. Muchas veces, estas cargas de trabajo necesitan compartir servicios como DNS, IDS, NTP o AD DS. Estos servicios compartidos se pueden colocar en la red virtual del centro. De este modo, cada entorno se implementa en un radio para mantener el aislamiento.
  • Cargas de trabajo que no requieren conectividad entre sí, pero requieren acceso a los servicios compartidos.
  • Empresas que requieren el control centralizado sobre aspectos de seguridad.
  • Empresas que requieren administración segregada de las cargas de trabajo en cada radio.

3. Vista previa de los componentes de demostración

Durante el trabajo en cada artículo de esta serie, se definen varios componentes en distintos scripts de Terraform. La arquitectura de demostración creada e implementada está formada por los siguientes componentes:

  • Red local. Una red de área local privada que se ejecuta dentro de una organización. Para la arquitectura de referencia de la red en estrella tipo hub-and-spoke, se usa una red virtual de Azure para simular una red local.

  • Dispositivo VPN. Un dispositivo o servicio VPN proporciona conectividad externa a la red local. El dispositivo VPN puede ser un dispositivo de hardware o una solución de software.

  • Red virtual del concentrador. El centro es un punto central de conectividad para la red local y un logar donde hospedar servicios. Estos servicios pueden consumirlos las diferentes cargas de trabajo que se hospedan en las redes virtuales radiales.

  • Subred de puerta de enlace. Las puertas de enlace de red virtual se conservan en la misma subred.

  • Redes virtuales de radios. Los radios pueden utilizarse para aislar las cargas de trabajo en sus propias redes virtuales, administradas por separado desde otros radios. Cada carga de trabajo puede incluir varios niveles, con varias subredes que se conectan a través de equilibradores de carga de Azure.

  • Emparejamiento de VNET. Se pueden conectar dos redes virtuales mediante una conexión de emparejamiento. Las conexiones de emparejamiento son conexiones no transitivas de baja latencia entre las redes virtuales. Una vez establecido el emparejamiento, las redes virtuales intercambian el tráfico mediante la red troncal de Azure, sin necesidad de un enrutador. En una topología de red en estrella tipo hub-and-spoke, el emparejamiento de redes virtuales se usa para conectar el centro a cada radio. Puede emparejar redes virtuales de la misma región o de regiones diferentes.

4. Implementación del código de Terraform

  1. Cree un directorio para incluir el código de ejemplo de toda la serie de artículos.

  2. Cree un archivo denominado main.tf e inserte el siguiente código:

    terraform {
    
      required_version = ">=0.12"
    
      required_providers {
        azurerm = {
          source  = "hashicorp/azurerm"
          version = "~>2.0"
        }
      }
    }
    
    provider "azurerm" {
      features {}
    }
    
  3. Cree un archivo llamado variables.tf que contenga las variables del proyecto e inserte el código siguiente:

    variable "location" {
        description = "Location of the network"
        default     = "eastus"
    }
    
    variable "username" {
        description = "Username for Virtual Machines"
        default     = "azureuser"
    }
    
    variable "password" {
        description = "Password for Virtual Machines"
    }
    
    variable "vmsize" {
        description = "Size of the VMs"
        default     = "Standard_DS1_v2"
    }
    

    Puntos clave:

    • En este artículo, se usa una contraseña que se escribe al llamar a terraform plan. En una aplicación real, tal vez quiera considerar la posibilidad de usar un par de claves pública y privada SSH.
    • Para más información sobre las claves SSH y Azure, consulte Uso de claves SSH con Windows en Azure.

Solución de problemas de Terraform en Azure

Solución de problemas comunes al usar Terraform en Azure

Pasos siguientes