Implementación de una topología de red en estrella tipo hub-and-spoke con servicios compartidos en AzureImplement a hub-spoke network topology with shared services in Azure

Esta arquitectura de referencia se basa en la arquitectura de referencia tipo hub-and-spoke para incluir servicios compartidos en el centro que puedan consumir todos los radios.This reference architecture builds on the hub-spoke reference architecture to include shared services in the hub that can be consumed by all spokes. Como primer paso para migrar un centro de datos a la nube y generar un centro de datos virtual, los primeros servicios que necesitará compartir son los de identidad y seguridad.As a first step toward migrating a datacenter to the cloud, and building a virtual datacenter, the first services you need to share are identity and security. Esta arquitectura de referencia muestra cómo ampliar los servicios de Active Directory desde el centro de datos local a Azure y cómo agregar una aplicación virtual de red (NVA) que pueda actuar como un firewall, en una topología en estrella tipo hub-and-spoke.This reference architecture shows you how to extend your Active Directory services from your on-premises datacenter to Azure, and how to add a network virtual appliance (NVA) that can act as a firewall, in a hub-spoke topology. Implemente esta solución.Deploy this solution.

Nota

Este escenario también se puede conseguir mediante Azure Firewall, un servicio de seguridad de red basado en la nube.This scenario can also be accomplished using Azure Firewall, a cloud-based network security service.

Topología de servicios compartidos en Azure

Descargue un archivo Visio de esta arquitectura.Download a Visio file of this architecture

Las ventajas de esta topología incluyen:The benefits of this topology include:

  • Ahorros en costos gracias a la centralización de los servicios que se pueden compartir entre varias cargas de trabajo, como las aplicaciones virtuales de red (NVA) y los servidores DNS, en una única ubicación.Cost savings by centralizing services that can be shared by multiple workloads, such as network virtual appliances (NVAs) and DNS servers, in a single location.
  • Superar los límites de las suscripciones gracias al emparejamiento de las redes virtuales de diferentes suscripciones con el concentrador central.Overcome subscriptions limits by peering VNets from different subscriptions to the central hub.
  • Separación de intereses entre la TI central (SecOps e InfraOps) y las cargas de trabajo (DevOps).Separation of concerns between central IT (SecOps, InfraOps) and workloads (DevOps).

Los usos habituales de esta arquitectura incluyen:Typical uses for this architecture include:

  • Cargas de trabajo implementadas en distintos entornos, como desarrollo, pruebas y producción, que requieren servicios compartidos como DNS, IDS, NTP o AD DS.Workloads deployed in different environments, such as development, testing, and production, that require shared services such as DNS, IDS, NTP, or AD DS. Los servicios compartidos se colocan en la red virtual del concentrador, mientras que cada entorno se implementa en un radio para mantener el aislamiento.Shared services are placed in the hub VNet, while each environment is deployed to a spoke to maintain isolation.
  • Cargas de trabajo que no requieren conectividad entre sí, pero requieren acceso a los servicios compartidos.Workloads that do not require connectivity to each other, but require access to shared services.
  • Empresas que requieren el control centralizado sobre aspectos de seguridad, como un firewall en el concentrador como una red perimetral, así como la administración segregada de las cargas de trabajo en cada radio.Enterprises that require central control over security aspects, such as a firewall in the hub as a DMZ, and segregated management for the workloads in each spoke.

ArquitecturaArchitecture

La arquitectura consta de los siguientes componentes:The architecture consists of the following components.

  • Red local.On-premises network. Una red de área local privada que se ejecuta dentro de una organización.A private local-area network running within an organization.

  • Dispositivo VPN.VPN device. Un dispositivo o servicio que proporciona conectividad externa a la red local.A device or service that provides external connectivity to the on-premises network. El dispositivo VPN puede ser un dispositivo de hardware, o puede ser una solución de software como el servicio de Enrutamiento y acceso remoto (RRAS) en Windows Server 2012.The VPN device may be a hardware device, or a software solution such as the Routing and Remote Access Service (RRAS) in Windows Server 2012. Para obtener una lista de dispositivos VPN compatibles e información acerca de cómo configurar dispositivos VPN seleccionados para conectarse a Azure, consulte Acerca de los dispositivos VPN y los parámetros de IPsec/IKE para conexiones de VPN Gateway de sitio a sitio.For a list of supported VPN appliances and information on configuring selected VPN appliances for connecting to Azure, see About VPN devices for Site-to-Site VPN Gateway connections.

  • Puerta de enlace de red virtual de VPN o puerta de enlace de ExpressRoute.VPN virtual network gateway or ExpressRoute gateway. La puerta de enlace de red virtual permite que la red virtual se conecte al dispositivo VPN o al circuito de ExpressRoute que se usa para la conectividad con la red local.The virtual network gateway enables the VNet to connect to the VPN device, or ExpressRoute circuit, used for connectivity with your on-premises network. Para más información, consulte Conectar una red local con una red virtual de Microsoft Azure.For more information, see Connect an on-premises network to a Microsoft Azure virtual network.

Nota

Los scripts de implementación para esta arquitectura de referencia usan una instancia de VPN Gateway para la conectividad y una red virtual en Azure para simular la red local.The deployment scripts for this reference architecture use a VPN gateway for connectivity, and a VNet in Azure to simulate your on-premises network.

  • Red virtual del concentrador.Hub VNet. La red virtual de Azure utilizada como el concentrador en la topología en estrella tipo hub-and-spoke.Azure VNet used as the hub in the hub-spoke topology. El concentrador es el punto central de conectividad a la red local y un lugar para hospedar los servicios que se pueden usar en las diferentes cargas de trabajo hospedadas en las redes virtuales de los radios.The hub is the central point of connectivity to your on-premises network, and a place to host services that can be consumed by the different workloads hosted in the spoke VNets.

  • Subred de puerta de enlace.Gateway subnet. Las puertas de enlace de red virtual se conservan en la misma subred.The virtual network gateways are held in the same subnet.

  • Subred de servicios compartidos.Shared services subnet. Una subred de la red virtual del concentrador utilizada para hospedar servicios que se pueden compartir entre todos los radios, como DNS o AD DS.A subnet in the hub VNet used to host services that can be shared among all spokes, such as DNS or AD DS.

  • Subred DMZ.DMZ subnet. Una subred de la red virtual del centro que se usa para hospedar aplicaciones virtuales de red (NVA) que pueden actuar como aplicaciones de seguridad como, por ejemplo, firewalls.A subnet in the hub VNet used to host NVAs that can act as security appliances, such as firewalls.

  • Redes virtuales de radios.Spoke VNets. Una o varias redes virtuales de Azure que se usan como radios en la topología en estrella tipo hub-and-spoke.One or more Azure VNets that are used as spokes in the hub-spoke topology. Los radios pueden utilizarse para aislar las cargas de trabajo en sus propias redes virtuales, administradas por separado desde otros radios.Spokes can be used to isolate workloads in their own VNets, managed separately from other spokes. Cada carga de trabajo puede incluir varios niveles, con varias subredes que se conectan a través de equilibradores de carga de Azure.Each workload might include multiple tiers, with multiple subnets connected through Azure load balancers. Para obtener más información acerca de la infraestructura de aplicaciones, consulte Ejecutar cargas de trabajo de máquinas virtuales Windows y Ejecutar cargas de trabajo de máquinas virtuales Linux.For more information about the application infrastructure, see Running Windows VM workloads and Running Linux VM workloads.

  • Emparejamiento de VNET.VNet peering. Se pueden conectar dos redes virtuales mediante una conexión de emparejamiento.Two VNets can be connected using a peering connection. Las conexiones de emparejamiento son conexiones no transitivas de baja latencia entre las redes virtuales.Peering connections are non-transitive, low latency connections between VNets. Una vez establecido el emparejamiento, las redes virtuales intercambian el tráfico mediante la red troncal de Azure, sin necesidad de un enrutador.Once peered, the VNets exchange traffic by using the Azure backbone, without the need for a router. En una topología de red en estrella tipo hub-and-spoke, el emparejamiento de VNET se usa para conectar el concentrador a cada radio.In a hub-spoke network topology, you use VNet peering to connect the hub to each spoke. Puede emparejar redes virtuales en la misma región o regiones diferentes (emparejamiento de VNet Global).You can peer virtual networks in the same region, or different regions (Global VNet Peering). Para más información, consulte Requisitos y restricciones.For more information, see Requirements and constraints.

Nota

En este artículo solo se tratan las implementaciones de Resource Manager, pero también puede conectar una red virtual clásica a una red virtual de Resource Manager en la misma suscripción.This article only covers Resource Manager deployments, but you can also connect a classic VNet to a Resource Manager VNet in the same subscription. De este modo, los radios pueden hospedar implementaciones clásicas y seguir beneficiándose de los servicios compartidos en el concentrador.That way, your spokes can host classic deployments and still benefit from services shared in the hub.

RecomendacionesRecommendations

Todas las recomendaciones de la arquitectura de referencia de tipo hub-and-spoke también se aplican a la arquitectura de referencia de los servicios compartidos.All the recommendations for the hub-spoke reference architecture also apply to the shared services reference architecture.

Igualmente, las siguientes recomendaciones sirven para la mayoría de escenarios de servicios compartidos.Also, the following recommendations apply for most scenarios under shared services. Sígalas a menos que tenga un requisito concreto que las invalide.Follow these recommendations unless you have a specific requirement that overrides them.

identidadIdentity

La mayoría de las organizaciones empresariales tienen un entorno de servicios de directorio de Active Directory (ADDS) en su centro de datos local.Most enterprise organizations have an Active Directory Directory Services (ADDS) environment in their on-premises datacenter. Para facilitar la administración de los recursos trasladados a Azure desde la red local que depende de ADDS, se recomienda hospedar los controladores de dominio de ADDS en Azure.To facilitate management of assets moved to Azure from your on-premises network that depend on ADDS, it is recommended to host ADDS domain controllers in Azure.

Si usa objetos de directiva de grupo, que desea controlar por separado para Azure y su entorno local, utilice un sitio de AD diferente para cada región de Azure.If you use Group Policy Objects, that you want to control separately for Azure and your on-premises environment, use a different AD site for each Azure region. Sitúe los controladores de dominio en una red virtual central (centro) al que puedan acceder las cargas de trabajo dependientes.Place your domain controllers in a central VNet (hub) that dependent workloads can access.

SeguridadSecurity

Al trasladar cargas de trabajo desde el entorno local a Azure, algunas de estas cargas necesitarán hospedarse en máquinas virtuales.As you move workloads from your on-premises environment to Azure, some of these workloads will require to be hosted in VMs. Por motivos de cumplimiento normativo, puede que tenga que aplicar restricciones al tráfico que recorre esas cargas de trabajo.For compliance reasons, you may need to enforce restrictions on traffic traversing those workloads.

Puede usar aplicaciones virtuales de red (NVA) en Azure para hospedar diferentes tipos de servicios de seguridad y rendimiento.You can use network virtual appliances (NVAs) in Azure to host different types of security and performance services. Si está familiarizado con un conjunto determinado de aplicaciones locales actualmente, se recomienda que use las mismas aplicaciones virtualizadas en Azure, si es posible.If you are familiar with a given set of appliances on-premises today, it is recommended to use the same virtualized appliances in Azure, where applicable.

Nota

Los scripts de implementación de esta arquitectura de referencia usan una máquina virtual Ubuntu con reenvío IP habilitado para imitar una aplicación virtual de red.The deployment scripts for this reference architecture use an Ubuntu VM with IP forwarding enabled to mimic a network virtual appliance.

Implementación de la soluciónDeploy the solution

Hay disponible una implementación de esta arquitectura en GitHub.A deployment for this architecture is available on GitHub. La implementación crea los siguientes grupos de recursos en su suscripción:The deployment creates the following resource groups in your subscription:

  • hub-adds-rghub-adds-rg
  • hub-nva-rghub-nva-rg
  • hub-vnet-rghub-vnet-rg
  • onprem-vnet-rgonprem-vnet-rg
  • spoke1-vnet-rgspoke1-vnet-rg
  • spoke2-vnet-rgspoke2-vnet-rg

Los archivos de parámetro de plantilla hacen referencia a estos nombres, por lo que si se cambian es necesario actualizar los archivos de parámetro para que coincidan.The template parameter files refer to these names, so if you change them, update the parameter files to match.

Requisitos previosPrerequisites

  1. Clone, bifurque o descargue el archivo zip del repositorio de GitHub de arquitecturas de referencia.Clone, fork, or download the zip file for the reference architectures GitHub repository.

  2. Instale la CLI de Azure 2.0.Install Azure CLI 2.0.

  3. Instale Node y NPM.Install Node and NPM

  4. Instale el paquete de npm de bloques de creación de Azure.Install the Azure building blocks npm package.

    npm install -g @mspnp/azure-building-blocks
    
  5. Desde un símbolo del sistema, un símbolo del sistema de Bash o un símbolo del sistema de PowerShell, inicie sesión en su cuenta de Azure como se indica a continuación:From a command prompt, bash prompt, or PowerShell prompt, sign into your Azure account as follows:

    az login
    

Implementación del centro de datos local simulado mediante azbbDeploy the simulated on-premises datacenter using azbb

En este paso se implementa el centro de datos local simulado como una red virtual de Azure.This step deploys the simulated on-premises datacenter as an Azure VNet.

  1. Vaya a la carpeta hybrid-networking\shared-services-stack\ del repositorio de GitHub.Navigate to the hybrid-networking\shared-services-stack\ folder of the GitHub repository.

  2. Abra el archivo onprem.json .Open the onprem.json file.

  3. Busque todas las instancias de UserName, adminUserName,Password y adminPassword.Search for all instances of UserName, adminUserName,Password, and adminPassword. Escriba los valores del nombre de usuario y la contraseña en los parámetros y guarde el archivo.Enter values for the user name and password in the parameters and save the file.

  4. Ejecute el siguiente comando:Run the following command:

    azbb -s <subscription_id> -g onprem-vnet-rg -l <location> -p onprem.json --deploy
    
  5. Espere a que finalice la implementación.Wait for the deployment to finish. Esta implementación crea una red virtual, una máquina virtual Windows y una instancia de VPN Gateway.This deployment creates a virtual network, a virtual machine running Windows, and a VPN gateway. La creación de la instancia de VPN Gateway puede durar más de cuarenta minutos.The VPN gateway creation can take more than 40 minutes to complete.

Implementación de la red virtual del concentradorDeploy the hub VNet

En este paso se implementa la red virtual de concentrador y la conecta con la red virtual local simulada.This step deploys the hub VNet and connects it to the simulated on-premises VNet.

  1. Abra el archivo hub-vnet.json .Open the hub-vnet.json file.

  2. Busque adminPassword y escriba un nombre de usuario y una contraseña en los parámetros.Search for adminPassword and enter a user name and password in the parameters.

  3. Busque todas las instancias de sharedKey y escriba un valor de clave compartida.Search for all instances of sharedKey and enter a value for a shared key. Guarde el archivo.Save the file.

    "sharedKey": "abc123",
    
  4. Ejecute el siguiente comando:Run the following command:

    azbb -s <subscription_id> -g hub-vnet-rg -l <location> -p hub-vnet.json --deploy
    
  5. Espere a que finalice la implementación.Wait for the deployment to finish. Esta implementación crea una red virtual, una máquina virtual, una instancia de VPN Gateway y una conexión a la puerta de enlace creada en la sección anterior.This deployment creates a virtual network, a virtual machine, a VPN gateway, and a connection to the gateway created in the previous section. La puerta de enlace de VPN puede tardar más de 40 minutos en completarse.The VPN gateway can take more than 40 minutes to complete.

Implementación de AD DS en AzureDeploy AD DS in Azure

En este paso se implementan los controladores de dominio de AD DS en Azure.This step deploys AD DS domain controllers in Azure.

  1. Abra el archivo hub-adds.json .Open the hub-adds.json file.

  2. Busque todas las instancias de Password y adminPassword.Search for all instances of Password and adminPassword. Escriba los valores del nombre de usuario y la contraseña en los parámetros y guarde el archivo.Enter values for the user name and password in the parameters and save the file.

  3. Ejecute el siguiente comando:Run the following command:

    azbb -s <subscription_id> -g hub-adds-rg -l <location> -p hub-adds.json --deploy
    

Este paso de implementación puede tardar varios minutos, porque combina las dos máquinas virtuales en el dominio hospedado en el centro de datos simulados del entorno local, e instala AD DS en ellas.This deployment step may take several minutes, because it joins the two VMs to the domain hosted in the simulated on-premises datacenter, and installs AD DS on them.

Implementación de redes virtuales de radiosDeploy the spoke VNets

Este paso implementa las redes virtuales de radio.This step deploys the spoke VNets.

  1. Abra el archivo spoke1.json .Open the spoke1.json file.

  2. Busque adminPassword y escriba un nombre de usuario y una contraseña en los parámetros.Search for adminPassword and enter a user name and password in the parameters.

  3. Ejecute el siguiente comando:Run the following command:

    azbb -s <subscription_id> -g spoke1-vnet-rg -l <location> -p spoke1.json --deploy
    
  4. Repita los pasos 1 y 2 para el archivo spoke2.json.Repeat steps 1 and 2 for the file spoke2.json.

  5. Ejecute el siguiente comando:Run the following command:

    azbb -s <subscription_id> -g spoke2-vnet-rg -l <location> -p spoke2.json --deploy
    

Emparejamiento de la red virtual de concentrador con las redes virtuales de radioPeer the hub VNet to the spoke VNets

Para crear una conexión de emparejamiento desde la red virtual de concentrador con las redes virtuales de radio, ejecute el comando siguiente:To create a peering connection from the hub VNet to the spoke VNets, run the following command:

azbb -s <subscription_id> -g hub-vnet-rg -l <location> -p hub-vnet-peering.json --deploy

Implementación de la aplicación virtual de redDeploy the NVA

Este paso implementa una aplicación virtual de red en la subred dmz.This step deploys an NVA in the dmz subnet.

  1. Abra el archivo hub-nva.json .Open the hub-nva.json file.

  2. Busque adminPassword y escriba un nombre de usuario y una contraseña en los parámetros.Search for adminPassword and enter a user name and password in the parameters.

  3. Ejecute el siguiente comando:Run the following command:

    azbb -s <subscription_id> -g hub-nva-rg -l <location> -p hub-nva.json --deploy
    

Comprobación de la conectividadTest connectivity

Probar la conectividad desde el entorno local simulado a la red virtual del concentrador.Test connectivity from the simulated on-premises environment to the hub VNet.

  1. Use Azure Portal para encontrar la máquina virtual denominada jb-vm1 en el grupo de recursos onprem-jb-rg.Use the Azure portal to find the VM named jb-vm1 in the onprem-jb-rg resource group.

  2. Haga clic en Connect para abrir una sesión de escritorio remoto en la máquina virtual.Click Connect to open a remote desktop session to the VM. Usar la contraseña que especificó en el onprem.json archivo de parámetros.Use the password that you specified in the onprem.json parameter file.

  3. Abra una consola de PowerShell en la máquina virtual y utilice el cmdlet Test-NetConnection para comprobar que puede conectarse a la máquina virtual de JumpBox en la red virtual del concentrador.Open a PowerShell console in the VM, and use the Test-NetConnection cmdlet to verify that you can connect to the jumpbox VM in the hub VNet.

    Test-NetConnection 10.0.0.68 -CommonTCPPort RDP
    

La salida debe tener una apariencia similar a la siguiente:The output should look similar to the following:

ComputerName     : 10.0.0.68
RemoteAddress    : 10.0.0.68
RemotePort       : 3389
InterfaceAlias   : Ethernet 2
SourceAddress    : 192.168.1.000
TcpTestSucceeded : True

Nota

De forma predeterminada, las máquinas virtuales de Windows Server no permiten respuestas ICMP en Azure.By default, Windows Server VMs do not allow ICMP responses in Azure. Si desea usar ping para probar la conectividad, debe habilitar el tráfico ICMP en el firewall de Windows con seguridad avanzada para cada máquina virtual.If you want to use ping to test connectivity, you need to enable ICMP traffic in the Windows Advanced Firewall for each VM.

Repita los mismos pasos para probar la conectividad con las redes virtuales de radio:Repeat the sames steps to test connectivity to the spoke VNets:

Test-NetConnection 10.1.0.68 -CommonTCPPort RDP
Test-NetConnection 10.2.0.68 -CommonTCPPort RDP