Udostępnij za pośrednictwem


Szybki start: tworzenie topologii sieci siatki za pomocą usługi Azure Virtual Network Manager przy użyciu programu Azure PowerShell

Rozpocznij pracę z usługą Azure Virtual Network Manager przy użyciu programu Azure PowerShell, aby zarządzać łącznością dla sieci wirtualnych.

W tym przewodniku Szybki start wdrożysz trzy sieci wirtualne i użyjesz usługi Azure Virtual Network Manager, aby utworzyć topologię sieci siatki. Następnie sprawdź, czy konfiguracja łączności została zastosowana.

Diagram zasobów wdrożonych dla topologii sieci wirtualnej siatki za pomocą menedżera sieci wirtualnej platformy Azure.

Wymagania wstępne

  • Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
  • Wykonaj ten przewodnik Szybki start przy użyciu programu PowerShell lokalnie, a nie za pośrednictwem usługi Azure Cloud Shell. Wersja modułu Az.Network w usłudze Azure Cloud Shell nie obsługuje obecnie poleceń cmdlet usługi Azure Virtual Network Manager.
  • Aby zmodyfikować dynamiczne grupy sieciowe, należy udzielić dostępu tylko za pośrednictwem przypisania roli RBAC platformy Azure. Autoryzacja administratora klasycznego/starszej wersji nie jest obsługiwana.

Zaloguj się do konta platformy Azure i wybierz swoją subskrypcję

Aby rozpocząć konfigurację, zaloguj się do konta platformy Azure:

Connect-AzAccount

Następnie połącz się z subskrypcją:

Set-AzContext -Subscription <subscription name or id>

Instalowanie modułu Azure PowerShell

Zainstaluj najnowszy moduł Az.Network programu Azure PowerShell przy użyciu tego polecenia:

 Install-Module -Name Az.Network -RequiredVersion 5.3.0

Tworzenie grupy zasobów

W tym zadaniu utwórz grupę zasobów do hostowania wystąpienia menedżera sieci. Utwórz grupę zasobów przy użyciu polecenia New-AzResourceGroup. W tym przykładzie tworzona jest grupa zasobów o nazwie grupa zasobów w regionie Zachodnie stany USA 2 :

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

Definiowanie zakresu i typu dostępu

W tym zadaniu zdefiniuj zakres i typ dostępu dla wystąpienia usługi Azure Virtual Network Manager przy użyciu polecenia New-AzNetworkManagerScope. W tym przykładzie zdefiniowano zakres z jedną subskrypcją i ustawiono typ dostępu na łączność. Zastąp <subscription_id> ciąg identyfikatorem subskrypcji, którą chcesz zarządzać za pośrednictwem usługi Azure Virtual Network Manager.

$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

Tworzenie wystąpienia programu Virtual Network Manager

W tym zadaniu utwórz wystąpienie menedżera sieci wirtualnej przy użyciu polecenia New-AzNetworkManager. W tym przykładzie tworzone jest wystąpienie o nazwie network-manager w regionie Zachodnie stany USA 2 :

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

Tworzenie trzech sieci wirtualnych

W tym zadaniu utwórz trzy sieci wirtualne przy użyciu polecenia New-AzVirtualNetwork. W tym przykładzie tworzone są sieci wirtualne o nazwach vnet-00, vnet-01 i vnet-02 w regionie Zachodnie stany USA 2. Jeśli masz już sieci wirtualne, za pomocą których chcesz utworzyć sieć siatki, możesz przejść do następnej sekcji.

$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

Dodawanie podsieci do każdej sieci wirtualnej

W tym zadaniu utwórz konfigurację podsieci o nazwie default z prefiksem adresu podsieci /24 za pomocą polecenia Add-AzVirtualNetworkSubnetConfig. Następnie użyj polecenia Set-AzVirtualNetwork , aby zastosować konfigurację podsieci do sieci wirtualnej.

$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

Tworzenie grupy sieciowej

Menedżer sieci wirtualnej stosuje konfiguracje do grup sieci wirtualnych, umieszczając je w grupach sieciowych. Utwórz grupę sieci przy użyciu polecenia New-AzNetworkManagerGroup. W tym przykładzie tworzona jest grupa sieciowa o nazwie network-group w regionie Zachodnie stany USA 2 :

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

Definiowanie członkostwa dla konfiguracji siatki

W tym zadaniu dodasz statyczne elementy członkowskie vnet-00 i vnet-01 do grupy sieciowej przy użyciu polecenia New-AzNetworkManagerStaticMember.

Statyczne elementy członkowskie muszą mieć unikatową nazwę, która jest ograniczona do grupy sieciowej. Zalecamy użycie spójnego skrótu identyfikatora sieci wirtualnej. To podejście korzysta z implementacji uniqueString() szablonu usługi 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

Tworzenie konfiguracji łączności

W tym zadaniu utworzysz konfigurację łączności z sieciową grupą sieci przy użyciu polecenia New-AzNetworkManagerConnectivityConfiguration i New-AzNetworkManagerConnectivityGroupItem:

  1. Utwórz element grupy łączności:

    $gi = @{
        NetworkGroupId = $ng.Id
    }
    $groupItem = New-AzNetworkManagerConnectivityGroupItem @gi
    
  2. Utwórz grupę konfiguracji i dodaj do niej element grupy łączności:

    [System.Collections.Generic.List[Microsoft.Azure.Commands.Network.Models.NetworkManager.PSNetworkManagerConnectivityGroupItem]]$configGroup = @()
    $configGroup.Add($groupItem)
    
  3. Utwórz konfigurację łączności z grupą konfiguracji:

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

Zatwierdzanie wdrożenia

Zatwierdź konfigurację w regionach docelowych przy użyciu polecenia Deploy-AzNetworkManagerCommit. Ten krok wyzwala konfigurację, aby zacząć obowiązywać.

[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

Czyszczenie zasobów

Jeśli nie potrzebujesz już wystąpienia usługi Azure Virtual Network Manager i jego zasobów, wykonaj następujące kroki, aby je usunąć, usuwając grupę zasobów zawierającą zasoby:

  1. Usuń grupę zasobów przy użyciu polecenia Remove-AzResourceGroup:

    Remove-AzResourceGroup -Name $rg.Name -Force
    

Następne kroki

W tym kroku dowiesz się, jak blokować ruch sieciowy przy użyciu konfiguracji administratora zabezpieczeń: