Inicio rápido: crear una red de malla con Azure Virtual Network Manager mediante Azure PowerShell
Introducción a Azure Virtual Network Manager mediante el uso de la Azure PowerShell para administrar la conectividad de las redes virtuales.
En este inicio rápido, implementará tres redes virtuales y usará Azure Virtual Network Manager para crear una topología de red de malla.
Importante
Azure Virtual Network Manager se encuentra actualmente en versión preliminar pública. Esta versión preliminar se ofrece sin Acuerdo de Nivel de Servicio y no se recomienda para cargas de trabajo de producción. Es posible que algunas características no sean compatibles o que tengan sus funcionalidades limitadas. Para más información, consulte Términos de uso complementarios de las Versiones Preliminares de Microsoft Azure.
Prerrequisitos
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- Asegúrese de que tiene los módulos más recientes de PowerShell, o bien, puede usar Azure Cloud Shell en el portal.
- Si PowerShell se ejecuta localmente, también debe ejecutar
Connect-AzAccountpara crear una conexión con Azure.
Registro de la suscripción en la versión preliminar pública
Use el siguiente comando para registrar la suscripción de Azure para la versión preliminar pública de Azure Virtual Network Manager:
Register-AzProviderFeature -FeatureName AllowAzureNetworkManager -ProviderNamespace Microsoft.Network
Instalación del módulo de Azure PowerShell
Instale el módulo Az.Network de Azure PowerShell más reciente mediante este comando:
Install-Module -Name Az.Network -AllowPrerelease
Creación de un administrador de redes virtuales
Defina el ámbito y el tipo de acceso que tendrá esta instancia de Azure Virtual Network Manager. Puede optar por crear el ámbito con el grupo de suscripciones o el grupo de administración o una combinación de ambos. Cree el ámbito mediante New-AzNetworkManagerScope.
[System.Collections.Generic.List[string]]$subGroup = @() $group.Add("/subscriptions/abcdef12-3456-7890-abcd-ef1234567890") [System.Collections.Generic.List[string]]$mgGroup = @() $group.Add("/managementGroups/abcdef12-3456-7890-abcd-ef1234567890") [System.Collections.Generic.List[String]]$access = @() $access.Add("Connectivity"); $access.Add("Security"); $scope = New-AzNetworkManagerScope -Subscription $subGroup -ManagementGroup $mgGroupCree el Virtual Network Manager con New-AzNetworkManager. En este ejemplo se crea una instancia de Azure Virtual Network Manager llamada myAVNM en la ubicación de Oeste de EE. UU.
$avnm = @{ Name = 'myAVNM' ResourceGroupName = 'myAVNMResourceGroup' NetworkManagerScope = $scope.id NetworkManagerScopeAccess = $access Location = 'West US' } $networkmanager = New-AzNetworkManager @avnm
Creación de un grupo de recursos y de redes virtuales
Crear un grupo de recursos
Para poder crear una instancia de Azure Virtual Network Manager, debe crear un grupo de recursos para hospedar el administrador de red. Cree un grupo de recursos con New-AzResourceGroup. En el ejemplo siguiente se crea un grupo de recursos denominado myAVNMResourceGroup en la ubicación de WestUS.
$rg = @{
Name = 'myAVNMResourceGroup'
Location = 'WestUS'
}
New-AzResourceGroup @rg
Crear tres redes virtuales
Cree tres redes virtuales con New-AzVirtualNetwork. En este ejemplo se crean redes virtuales denominadas VNetA, VNetB y VNetC en la ubicación Oeste de EE. UU. Si ya tiene redes virtuales con las que desea crear una red de malla, puede ir directamente a la sección siguiente.
$vnetA = @{
Name = 'VNetA'
ResourceGroupName = 'myAVNMResourceGroup'
Location = 'West US'
AddressPrefix = '10.0.0.0/16'
}
$virtualNetworkA = New-AzVirtualNetwork @vnetA
$vnetB = @{
Name = 'VNetB'
ResourceGroupName = 'myAVNMResourceGroup'
Location = 'West US'
AddressPrefix = '10.1.0.0/16'
}
$virtualNetworkB = New-AzVirtualNetwork @vnetB
$vnetC = @{
Name = 'VNetC'
ResourceGroupName = 'myAVNMResourceGroup'
Location = 'West US'
AddressPrefix = '10.2.0.0/16'
}
$virtualNetworkC = New-AzVirtualNetwork @vnetC
Agregue una subred a cada una de las redes virtuales.
Para completar la configuración de las redes virtuales, agregue una subred /24 a cada una. Cree una configuración de subred denominada default con Add-AzVirtualNetworkSubnetConfig.
$subnetA = @{
Name = 'default'
VirtualNetwork = $virtualNetworkA
AddressPrefix = '10.0.0.0/24'
}
$subnetConfigA = Add-AzVirtualNetworkSubnetConfig @subnetA
$virtualnetworkA | Set-AzVirtualNetwork
$subnetB = @{
Name = 'default'
VirtualNetwork = $virtualNetworkB
AddressPrefix = '10.0.0.0/24'
}
$subnetConfigC = Add-AzVirtualNetworkSubnetConfig @subnetB
$virtualnetworkB | Set-AzVirtualNetwork
$subnetC = @{
Name = 'default'
VirtualNetwork = $virtualNetworkC
AddressPrefix = '10.0.0.0/24'
}
$subnetConfigC = Add-AzVirtualNetworkSubnetConfig @subnetC
$virtualnetworkC | Set-AzVirtualNetwork
Creación de un grupo de red
Pertenencia estática
Cree un miembro de red virtual estática con New-AzNetworkManagerGroupMembersItem.
$member = New-AzNetworkManagerGroupMembersItem –ResourceId "/subscriptions/abcdef12-3456-7890-abcd-ef1234567890/resourceGroups/myAVNMResourceGroup/providers/Microsoft.Network/virtualNetworks/VNetA"Agregue el miembro estático al grupo de pertenencia estática con los siguientes comandos:
[System.Collections.Generic.List[Microsoft.Azure.Commands.Network.Models.NetworkManager.PSNetworkManagerGroupMembersItem]]$groupMembers = @() $groupMembers.Add($member)
Pertenencia dinámica
Defina la instrucción condicional y almacénela en una variable:
$conditionalMembership = '{ "allof":[ { "field": "name", "contains": "VNet" } ] }'Cree el grupo de red mediante la instrucción condicional definida en el último paso mediante New-AzNetworkManagerGroup.
$ng = @{ Name = 'myNetworkGroup' ResourceGroupName = 'myAVNMResourceGroup' GroupMember = $groupMembers ConditionalMembership = $conditionalMembership NetworkManagerName = 'myAVNM' MemberType = 'Microsoft.Network/VirtualNetwork' } $networkgroup = New-AzNetworkManagerGroup @ng
Creación de una configuración
Cree un elemento de grupo de conectividad al que agregar un grupo de red con New-AzNetworkManagerConnectivityGroupItem.
$gi = @{ NetworkGroupId = $networkgroup.Id } $groupItem = New-AzNetworkManagerConnectivityGroupItem @giCree un grupo de configuración y agregue el elemento de grupo del paso anterior.
[System.Collections.Generic.List[Microsoft.Azure.Commands.Network.Models.PSNetworkManagerConnectivityGroupItem]]$configGroup = @() $configGroup.Add($groupItem)Cree la configuración de conectividad con New-AzNetworkManagerConnectivityConfiguration.
$config = @{ Name = 'connectivityconfig' ResourceGroupName = 'myAVNMResourceGroup' NetworkManagerName = 'myAVNM' ConnectivityTopology = 'Mesh' AppliesToGroup = $configGroup } $connectivityconfig = New-AzNetworkManagerConnectivityConfiguration @config
Confirmación de la implementación
Confirme la configuración en las regiones de destino con Deploy-AzNetworkManagerCommit.
[System.Collections.Generic.List[string]]$configIds = @()
$configIds.add($connectivityconfig.id)
[System.Collections.Generic.List[string]]$target = @()
$target.Add("westus")
$deployment = @{
Name = 'myAVNM'
ResourceGroupName = 'myAVNMResourceGroup'
ConfigurationId = $configIds
TargetLocation = $target
CommitType = 'Connectivity'
}
Deploy-AzNetworkManagerCommit @deployment
Limpieza de recursos
Si ya no necesita Azure Virtual Network Manager, debe asegurarse de que todos los elementos siguientes se cumplen antes de poder eliminar el recurso:
- No hay implementaciones de configuraciones en ninguna región.
- Se han eliminado todas las configuraciones.
- Se han eliminado todos los grupos de red.
Quite la implementación de conectividad mediante la implementación de una configuración vacía con Deploy-AzNetworkManagerCommit.
[System.Collections.Generic.List[string]]$configIds = @() [System.Collections.Generic.List[string]]$target = @() $target.Add("westus") $removedeployment = @{ Name = 'myAVNM' ResourceGroupName = 'myAVNMResourceGroup' ConfigurationId = $configIds Target = $target CommitType = 'Connectivity' } Deploy-AzNetworkManagerCommit @removedeploymentQuite la configuración de conectividad con Remove-AzNetworkManagerConnectivityConfiguration
$removeconfig = @{ Name = 'connectivityconfig' ResourceGroupName = 'myAVNMResourceGroup' NetworkManagerName = 'myAVNM' } Remove-AzNetworkManagerConnectivityConfiguration @removeconfigQuite el grupo de red con Remove-AzNetworkManagerGroup.
$removegroup = @{ Name = 'myNetworkGroup' ResourceGroupName = 'myAVNMResourceGroup' NetworkManagerName = 'myAVNM' } Remove-AzNetworkManagerGroup @removegroupElimine la instancia del administrador de red con Remove-AzNetworkManager.
$removenetworkmanager = @{ Name = 'myAVNM' ResourceGroupName = 'myAVNMResourceGroup' } Remove-AzNetworkManager @removenetworkmanagerSi ya no necesita los recursos que ha creado, elimine el grupo de recursos con Remove-AzResourceGroup.
Remove-AzResourceGroup -Name 'myAVNMResourceGroup'
Pasos siguientes
Después de crear la instancia de Azure Virtual Network Manager, siga avanzando para aprender a bloquear el tráfico mediante la configuración del administrador de seguridad: