Поделиться через


Краткое руководство. Создание топологии сети сетки с помощью Диспетчера виртуальная сеть Azure с помощью Azure PowerShell

Начало работы с диспетчером виртуальная сеть Azure с помощью Azure PowerShell для управления подключением к виртуальным сетям.

В этом кратком руководстве описано, как развернуть три виртуальные сети и использовать Диспетчер виртуальная сеть Azure для создания топологии сети сетки. Затем убедитесь, что была применена конфигурация подключения.

Схема ресурсов, развернутых для топологии виртуальной сети сетки с помощью диспетчера виртуальных сетей Azure.

Необходимые компоненты

  • Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
  • Выполните это краткое руководство с помощью PowerShell локально, а не с помощью Azure Cloud Shell. Версия Az.Network в Azure Cloud Shell в настоящее время не поддерживает командлеты Диспетчера виртуальная сеть Azure.
  • Чтобы изменить динамические сетевые группы, необходимо предоставить доступ только через назначение ролей RBAC Azure. Классическая авторизация администратора или устаревшая авторизация не поддерживается.

Войдите в учетную запись Azure и выберите подписку.

Чтобы начать настройку, войдите в учетную запись Azure:

Connect-AzAccount

Затем подключитесь к подписке:

Set-AzContext -Subscription <subscription name or id>

Установка модуля Azure PowerShell

Установите последний модуль Az.Network Azure PowerShell с помощью следующей команды:

 Install-Module -Name Az.Network -RequiredVersion 5.3.0

Создание или изменение группы ресурсов

В этой задаче создайте группу ресурсов для размещения экземпляра диспетчера сети. Создайте группу ресурсов с помощью командлета New-AzResourceGroup. В этом примере создается группа ресурсов с именем группы ресурсов в регионе "Западная часть США 2".

# Create a resource group
$location = "westus2"
$rg = @{
    Name = 'resource-group'
    Location = $location
}
New-AzResourceGroup @rg

Определение области и типа доступа

В этой задаче определите область и тип доступа для экземпляра Azure виртуальная сеть Manager с помощью New-AzNetworkManagerScope. В этом примере определяется область с одной подпиской и задает тип доступа для подключения. Замените <subscription_id> идентификатором подписки, которую вы хотите управлять с помощью Диспетчера виртуальная сеть 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

Создание экземпляра диспетчера виртуальная сеть

В этой задаче создайте экземпляр диспетчера виртуальная сеть с помощью New-AzNetworkManager. В этом примере создается экземпляр с именем network-manager в регионе "Западная часть США 2 ".

$avnm = @{
    Name = 'network-manager'
    ResourceGroupName = $rg.Name
    NetworkManagerScope = $scope
    NetworkManagerScopeAccess = $access
    Location = $location
}
$networkmanager = New-AzNetworkManager @avnm

Создание трех виртуальных сетей

В этой задаче создайте три виртуальные сети с помощью New-AzVirtualNetwork. В этом примере создаются виртуальные сети с именем vnet-00, vnet-01 и vnet-02 в регионе "Западная часть США 2". Если у вас уже есть виртуальные сети, с которыми вы хотите создать сеть сетки, перейдите к следующему разделу.

$vnet_00 = @{
    Name = 'vnet-00'
    ResourceGroupName = $rg.Name
    Location = $location
    AddressPrefix = '10.0.0.0/16'    
}

$vnet_00 = New-AzVirtualNetwork @vnet_00

$vnet_01 = @{
    Name = 'vnet-01'
    ResourceGroupName = $rg.Name
    Location = $location
    AddressPrefix = '10.1.0.0/16'    
}
$vnet_01 = New-AzVirtualNetwork @vnet_01

$vnet_02 = @{
    Name = 'vnet-02'
    ResourceGroupName = $rg.Name
    Location = $location
    AddressPrefix = '10.2.0.0/16'    
}
$vnet_02 = New-AzVirtualNetwork @vnet_02

Добавьте подсеть в каждую виртуальную сеть.

В этой задаче создайте конфигурацию подсети по умолчанию с префиксом адреса подсети /24 с помощью Add-AzVirtualNetworkSubnetConfig. Затем используйте Set-AzVirtualNetwork , чтобы применить конфигурацию подсети к виртуальной сети.

$subnet_vnet_00 = @{
    Name = 'default'
    VirtualNetwork = $vnet_00
    AddressPrefix = '10.0.0.0/24'
}
$subnetConfig_vnet_00 = Add-AzVirtualNetworkSubnetConfig @subnet_vnet_00
$vnet_00 | Set-AzVirtualNetwork

$subnet_vnet_01 = @{
    Name = 'default'
    VirtualNetwork = $vnet_01
    AddressPrefix = '10.1.0.0/24'
}
$subnetConfig_vnet_01 = Add-AzVirtualNetworkSubnetConfig @subnet_vnet_01
$vnet_01 | Set-AzVirtualNetwork

$subnet_vnet_02 = @{
    Name = 'default'
    VirtualNetwork = $vnet_02
    AddressPrefix = '10.2.0.0/24'
}
$subnetConfig_vnet_02 = Add-AzVirtualNetworkSubnetConfig @subnet_vnet_02
$vnet_02 | Set-AzVirtualNetwork

Создание сетевой группы

виртуальная сеть Manager применяет конфигурации к группам виртуальных сетей, размещая их в группах сетей. Создайте сетевую группу с помощью New-AzNetworkManagerGroup. В этом примере создается сетевая группа с именем network-group в регионе "Западная часть США 2 ":

$ng = @{
        Name = 'network-group'
        ResourceGroupName = $rg.Name
        NetworkManagerName = $networkManager.Name
    }
    $ng = New-AzNetworkManagerGroup @ng

Определение членства для конфигурации сетки

В этой задаче вы добавите статические члены vnet-00 и vnet-01 в сетевую группу сети с помощью New-AzNetworkManagerStaticMember.

Статические члены должны иметь уникальное имя, которое распространяется на группу сети. Рекомендуется использовать согласованный хэш идентификатора виртуальной сети. Этот подход использует реализацию шаблона uniqueString() 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_vnet_00 = @{
        Name = Get-UniqueString $vnet_00.Id
        ResourceGroupName = $rg.Name
        NetworkGroupName = $ng.Name
        NetworkManagerName = $networkManager.Name
        ResourceId = $vnet_00.Id
    }
    $sm_vnet_00 = New-AzNetworkManagerStaticMember @sm_vnet_00
$sm_vnet_01 = @{
        Name = Get-UniqueString $vnet_01.Id
        ResourceGroupName = $rg.Name
        NetworkGroupName = $ng.Name
        NetworkManagerName = $networkManager.Name
        ResourceId = $vnet_01.Id
    }
    $sm_vnet_01 = New-AzNetworkManagerStaticMember @sm_vnet_01

Создание конфигурации подключения

В этой задаче создается конфигурация подключения с сетевой группой сети с помощью New-AzNetworkManagerConnectivityConfiguration и New-AzNetworkManagerConnectivityGroupItem:

  1. Создайте элемент группы подключения:

    $gi = @{
        NetworkGroupId = $ng.Id
    }
    $groupItem = New-AzNetworkManagerConnectivityGroupItem @gi
    
  2. Создайте группу конфигурации и добавьте в нее элемент группы подключения:

    [System.Collections.Generic.List[Microsoft.Azure.Commands.Network.Models.NetworkManager.PSNetworkManagerConnectivityGroupItem]]$configGroup = @()
    $configGroup.Add($groupItem)
    
  3. Создайте конфигурацию подключения с помощью группы конфигурации:

    $config = @{
        Name = 'connectivity-configuration'
        ResourceGroupName = $rg.Name
        NetworkManagerName = $networkManager.Name
        ConnectivityTopology = 'Mesh'
        AppliesToGroup = $configGroup
    }
    $connectivityconfig = New-AzNetworkManagerConnectivityConfiguration @config
        ```                        
    
    

Фиксация развертывания

Зафиксируйте конфигурацию в целевых регионах с помощью Deploy-AzNetworkManagerCommit. Этот шаг активирует конфигурацию для начала вступления в силу.

[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.Name
    ConfigurationId = $configIds
    TargetLocation = $target
    CommitType = 'Connectivity'
}
Deploy-AzNetworkManagerCommit @deployment

Очистка ресурсов

Если вам больше не нужен экземпляр Azure виртуальная сеть Manager и его ресурсы, выполните следующие действия, чтобы удалить их, удалив группу ресурсов, содержащую ресурсы:

  1. Удалите группу ресурсов с помощью Remove-AzResourceGroup:

    Remove-AzResourceGroup -Name $rg.Name -Force
    

Следующие шаги

На этом шаге вы узнаете, как заблокировать сетевой трафик с помощью конфигурации администратора безопасности: