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

Przed utworzeniem wystąpienia usługi Azure Virtual Network Manager należy utworzyć grupę zasobów do jej hostowania. 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 = "West US 2"
$rg = @{
    Name = 'resource-group'
    Location = $location
}
New-AzResourceGroup @rg

Definiowanie zakresu i typu dostępu

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

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.ResourceGroupName
    NetworkManagerScope = $scope
    NetworkManagerScopeAccess = $access
    Location = $location
}
$networkmanager = New-AzNetworkManager @avnm

Tworzenie trzech sieci wirtualnych

Utwórz trzy sieci wirtualne przy użyciu polecenia New-AzVirtualNetwork. W tym przykładzie tworzone są sieci wirtualne o nazwach vnet-spoke-001, vnet-spoke-002 i vnet-hub-001 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.

$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

Dodawanie podsieci do każdej sieci wirtualnej

Aby ukończyć konfigurację sieci wirtualnych, 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_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

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 utworzono grupę sieciową o nazwie network-group w regionie Zachodnie stany USA 2:

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

Definiowanie członkostwa dla konfiguracji siatki

W tym zadaniu dodajesz statyczne elementy członkowskie vnet-spoke-001 i vnet-spoke-002 do grupy sieciowej sieciowej grupy 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_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

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.ResourceGroupName
        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.ResourceGroupName
    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 skojarzysz zasoby, usuń grupę zasobów, która je zawiera. Usunięcie grupy zasobów spowoduje również usunięcie utworzonych zasobów.

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

    Remove-AzResourceGroup -Name $rg.ResourceGroupName -Force
    

Następne kroki

Po utworzeniu wystąpienia usługi Azure Virtual Network Manager dowiedz się, jak blokować ruch sieciowy przy użyciu konfiguracji administratora zabezpieczeń: