Início Rápido: crie uma topologia de rede em malha com o Gerenciador de Rede Virtual do Azure usando o Azure PowerShell
Introdução ao Gerenciador de Rede Virtual do Azure usando o Azure PowerShell para gerenciar a conectividade das suas redes virtuais.
Neste início rápido, você implanta três redes virtuais e usa o Gerenciador de Rede Virtual do Azure para criar uma topologia de rede em malha. Em seguida, verifique se a configuração de conectividade foi aplicada.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Realizar este guia de início rápido usando o PowerShell localmente, não através do Azure Cloud Shell. Atualmente, a versão do Az.Network no Azure Cloud Shell não dá suporte aos cmdlets do Gerenciador de Rede Virtual do Azure.
- Para modificar os grupos de rede dinâmicos, você deve ter acesso somente por meio da atribuição de função RBAC do Azure. Não há suporte para autorização clássica de administração/herdada.
Entre na sua conta do Azure e selecione sua assinatura
Para iniciar sua configuração, entrar na sua conta do Azure:
Connect-AzAccount
Em seguida, conecte-se à sua assinatura:
Set-AzContext -Subscription <subscription name or id>
Instalar módulo do Azure PowerShell
Instale o módulo Az.Network mais recente do Azure PowerShell usando este comando:
Install-Module -Name Az.Network -RequiredVersion 5.3.0
Criar um grupo de recursos
Para poder criar uma instância do Gerenciador de Rede Virtual do Azure, você precisa criar um grupo de recursos para hospedá-la. Criar um grupo de recursos usando New-AzResourceGroup. Esse exemplo cria um grupo de recursos chamado resource-group na região Oeste dos EUA 2 :
# Create a resource group
$location = "West US 2"
$rg = @{
Name = 'resource-group'
Location = $location
}
New-AzResourceGroup @rg
Definir o escopo e o tipo de acesso
Defina o escopo e o tipo de acesso para a instância do Gerenciador de Rede Virtual do Azure usando New-AzNetworkManagerScope. Este exemplo define um escopo com uma única assinatura e define o tipo de acesso como Connectivity. Substitua <subscription_id>
pela ID da assinatura que você deseja gerenciar por meio do Gerenciador de Rede Virtual do Azure.
$subID= <subscription_id>
[System.Collections.Generic.List[string]]$subGroup = @()
$subGroup.Add("/subscriptions/$subID")
[System.Collections.Generic.List[String]]$access = @()
$access.Add("Connectivity");
$scope = New-AzNetworkManagerScope -Subscription $subGroup
Crie uma instância do Gerenciador de Rede Virtual
Crie uma instância do Gerenciador de Rede Virtual usando New-AzNetworkManager. Esse exemplo cria uma instância chamada network-manager na região Oeste dos EUA 2 :
$avnm = @{
Name = 'network-manager'
ResourceGroupName = $rg.ResourceGroupName
NetworkManagerScope = $scope
NetworkManagerScopeAccess = $access
Location = $location
}
$networkmanager = New-AzNetworkManager @avnm
Criar três redes virtuais
Crie três redes virtuais usando New-AzVirtualNetwork. Esse exemplo cria redes virtuais chamadas vnet-spoke-001, vnet-spoke-002e vnet-hub-001 na região Oeste dos EUA 2. Se você já possui redes virtuais com as quais deseja criar uma rede em malha, pode pular para a próxima seção.
$vnetspoke001 = @{
Name = 'vnet-spoke-001'
ResourceGroupName = $rg.ResourceGroupName
Location = $location
AddressPrefix = '10.0.0.0/16'
}
$vnet_spoke_001 = New-AzVirtualNetwork @vnetspoke001
$vnetspoke002 = @{
Name = 'vnet-spoke-002'
ResourceGroupName = $rg.ResourceGroupName
Location = $location
AddressPrefix = '10.1.0.0/16'
}
$vnet_spoke_002 = New-AzVirtualNetwork @vnetspoke002
$vnethub001 = @{
Name = 'vnet-hub-001'
ResourceGroupName = $rg.ResourceGroupName
Location = $location
AddressPrefix = '10.2.0.0/16'
}
$vnet_hub_001 = New-AzVirtualNetwork @vnethub001
Adicionar uma sub-rede à rede virtual
Para concluir a configuração das redes virtuais, crie uma configuração de sub-rede nomeada padrão com um prefixo de endereço de sub-rede /24 usando Add-AzVirtualNetworkSubnetConfig. Em seguida, use Set-AzVirtualNetwork para aplicar a configuração da sub-rede na rede virtual.
$subnet_vnetspoke001 = @{
Name = 'default'
VirtualNetwork = $vnet_spoke_001
AddressPrefix = '10.0.0.0/24'
}
$subnetConfig_vnetspoke001 = Add-AzVirtualNetworkSubnetConfig @subnet_vnetspoke001
$vnet_spoke_001 | Set-AzVirtualNetwork
$subnet_vnetspoke002 = @{
Name = 'default'
VirtualNetwork = $vnet_spoke_002
AddressPrefix = '10.1.0.0/24'
}
$subnetConfig_vnetspoke002 = Add-AzVirtualNetworkSubnetConfig @subnet_vnetspoke002
$vnet_spoke_002 | Set-AzVirtualNetwork
$subnet_vnet_hub_001 = @{
Name = 'default'
VirtualNetwork = $vnet_hub_001
AddressPrefix = '10.2.0.0/24'
}
$subnetConfig_vnet_hub_001 = Add-AzVirtualNetworkSubnetConfig @subnet_vnet_hub_001
$vnet_hub_001 | Set-AzVirtualNetwork
Criar um grupo de rede
O Gerenciador de Rede Virtual aplica configurações a grupos de redes virtuais, colocando-as em grupos de rede. Criar um grupo de rede usando New-AzNetworkManagerGroup. Esse exemplo cria um grupo de rede chamado network-group na região Oeste dos EUA 2:
$ng = @{
Name = 'network-group'
ResourceGroupName = $rg.ResourceGroupName
NetworkManagerName = $networkManager.Name
}
$ng = New-AzNetworkManagerGroup @ng
Definir a associação de uma configuração de malha
Nessa tarefa, você adiciona os membros vnet-spoke-001 evnet-spoke-002 ao grupo de rede network-group usando New-AzNetworkManagerStaticMember .
Os membros estáticos devem ter um nome exclusivo com escopo para o grupo de rede. Recomendamos que você use um hash consistente da ID da rede virtual. Essa abordagem usa a implementação uniqueString()
do modelo do Azure Resource Manager.
function Get-UniqueString ([string]$id, $length=13)
{
$hashArray = (new-object System.Security.Cryptography.SHA512Managed).ComputeHash($id.ToCharArray())
-join ($hashArray[1..$length] | ForEach-Object { [char]($_ % 26 + [byte][char]'a') })
}
$sm_vnetspoke001 = @{
Name = Get-UniqueString $vnet_spoke_001.Id
ResourceGroupName = $rg.ResourceGroupName
NetworkGroupName = $ng.Name
NetworkManagerName = $networkManager.Name
ResourceId = $vnet_spoke_001.Id
}
$sm_vnetspoke001 = New-AzNetworkManagerStaticMember @sm_vnetspoke001
$sm_vnetspoke002 = @{
Name = Get-UniqueString $vnet_spoke_002.Id
ResourceGroupName = $rg.ResourceGroupName
NetworkGroupName = $ng.Name
NetworkManagerName = $networkManager.Name
ResourceId = $vnet_spoke_002.Id
}
$sm_vnetspoke002 = New-AzNetworkManagerStaticMember @sm_vnetspoke002
Criar uma configuração de conectividade
Nessa tarefa, você cria uma configuração de conectividade com o grupo de rede network-group usando New-AzNetworkManagerConnectivityConfiguration e New-AzNetworkManagerConnectivityGroupItem:
Criar um item do grupo de conectividade:
$gi = @{ NetworkGroupId = $ng.Id } $groupItem = New-AzNetworkManagerConnectivityGroupItem @gi
Criar um grupo de configuração e adicione um item do grupo de conectividade a ele:
[System.Collections.Generic.List[Microsoft.Azure.Commands.Network.Models.NetworkManager.PSNetworkManagerConnectivityGroupItem]]$configGroup = @() $configGroup.Add($groupItem)
Criar a configuração de conectividade com o grupo de configuração:
$config = @{ Name = 'connectivity-configuration' ResourceGroupName = $rg.ResourceGroupName NetworkManagerName = $networkManager.Name ConnectivityTopology = 'Mesh' AppliesToGroup = $configGroup } $connectivityconfig = New-AzNetworkManagerConnectivityConfiguration @config ```
Confirmar implantação
Confirme a configuração para as regiões de destino usando Deploy-AzNetworkManagerCommit
. Essa etapa dispara sua configuração para começar a entrar em vigor.
[System.Collections.Generic.List[string]]$configIds = @()
$configIds.add($connectivityconfig.id)
[System.Collections.Generic.List[string]]$target = @()
$target.Add("westus2")
$deployment = @{
Name = $networkManager.Name
ResourceGroupName = $rg.ResourceGroupName
ConfigurationId = $configIds
TargetLocation = $target
CommitType = 'Connectivity'
}
Deploy-AzNetworkManagerCommit @deployment
Limpar os recursos
Se você não precisa mais da instância do Gerenciador de Rede Virtual do Azure e seus recursos associados, exclua o grupo de recursos que os contém. Excluir o grupo de recursos também exclui os recursos que você criou.
Exclua o grupo de recursos usando Remove-AzResourceGroup:
Remove-AzResourceGroup -Name $rg.ResourceGroupName -Force
Próximas etapas
Agora que você criou uma instância do Gerenciador de Rede Virtual do Azure, aprenda como bloquear o tráfego de rede usando uma configuração de administrador de segurança: