Sdílet prostřednictvím


Rychlý start: Vytvoření síťové topologie sítě sítě pomocí Azure Virtual Network Manageru pomocí Azure PowerShellu

Začínáme s Azure Virtual Network Managerem pomocí Azure PowerShellu ke správě připojení pro vaše virtuální sítě.

V tomto rychlém startu nasadíte tři virtuální sítě a použijete Azure Virtual Network Manager k vytvoření síťové topologie sítě. Pak ověříte, že se použila konfigurace připojení.

Diagram prostředků nasazených pro síťovou topologii virtuální sítě pomocí Azure Virtual Network Manageru

Požadavky

  • Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
  • Tento rychlý start proveďte místně pomocí PowerShellu, ne prostřednictvím Azure Cloud Shellu. Verze Az.Network v Azure Cloud Shellu v současné době nepodporuje rutiny Azure Virtual Network Manageru.
  • Pokud chcete upravit dynamické skupiny sítí, musíte mít udělený přístup pouze prostřednictvím přiřazení role Azure RBAC. Klasický správce nebo starší verze autorizace se nepodporuje.

Přihlaste se ke svému účtu Azure a vyberte své předplatné.

Pokud chcete zahájit konfiguraci, přihlaste se ke svému účtu Azure:

Connect-AzAccount

Pak se připojte k předplatnému:

Set-AzContext -Subscription <subscription name or id>

Instalace modulu Azure PowerShellu

Pomocí tohoto příkazu nainstalujte nejnovější modul Az.Network Azure PowerShellu:

 Install-Module -Name Az.Network -RequiredVersion 5.3.0

Vytvoření skupiny zdrojů

Než budete moct vytvořit instanci Azure Virtual Network Manageru, musíte vytvořit skupinu prostředků, která ji bude hostovat. Vytvořte skupinu prostředků pomocí rutiny New-AzResourceGroup. Tento příklad vytvoří skupinu prostředků s názvem skupina prostředků v oblasti USA – západ 2:

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

Definování oboru a typu přístupu

Definujte obor a typ přístupu pro instanci Azure Virtual Network Manageru pomocí New-AzNetworkManagerScope. Tento příklad definuje obor s jedním předplatným a nastaví typ přístupu na připojení. Nahraďte <subscription_id> ID předplatného, které chcete spravovat prostřednictvím Azure Virtual Network Manageru.

$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

Vytvoření instance Virtual Network Manageru

Vytvořte instanci Virtual Network Manageru pomocí rutiny New-AzNetworkManager. Tento příklad vytvoří instanci s názvem network-manager v oblasti USA – západ 2 :

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

Vytvoření tří virtuálních sítí

Vytvořte tři virtuální sítě pomocí rutiny New-AzVirtualNetwork. Tento příklad vytvoří virtuální sítě s názvem vnet-spoke-001, vnet-spoke-002 a vnet-hub-001 v oblasti USA – západ 2 . Pokud už máte virtuální sítě, se kterými chcete vytvořit síť sítě, můžete přejít k další části.

$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

Přidání podsítě do každé virtuální sítě

K dokončení konfigurace virtuálních sítí vytvořte konfiguraci podsítě s výchozí předponou adresy podsítě /24 pomocí rutiny Add-AzVirtualNetworkSubnetConfig. Potom pomocí rutiny Set-AzVirtualNetwork použijte konfiguraci podsítě na virtuální síť.

$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

Vytvoření skupiny sítě

Virtual Network Manager použije konfigurace pro skupiny virtuálních sítí tak, že je umístí do skupin sítí. Vytvořte skupinu sítě pomocí rutiny New-AzNetworkManagerGroup. Tento příklad vytvoří skupinu sítí s názvem network-group v oblasti USA – západ 2:

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

Definování členství pro konfiguraci sítě

V této úloze přidáte statické členy vnet-spoke-001 a vnet-spoke-002 do skupiny síťových skupin pomocí New-AzNetworkManagerStaticMember.

Statické členy musí mít jedinečný název, který je vymezený na skupinu sítě. Doporučujeme použít konzistentní hodnotu hash ID virtuální sítě. Tento přístup používá implementaci šablony uniqueString() Azure Resource Manageru.

    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

Vytvoření konfigurace možností připojení

V této úloze vytvoříte konfiguraci připojení se skupinou síťových skupin pomocí Rutiny New-AzNetworkManagerConnectivityConfiguration a New-AzNetworkManagerConnectivityGroupItem:

  1. Vytvořte položku skupiny připojení:

    $gi = @{
        NetworkGroupId = $ng.Id
    }
    $groupItem = New-AzNetworkManagerConnectivityGroupItem @gi
    
  2. Vytvořte skupinu konfigurace a přidejte do ní položku skupiny připojení:

    [System.Collections.Generic.List[Microsoft.Azure.Commands.Network.Models.NetworkManager.PSNetworkManagerConnectivityGroupItem]]$configGroup = @()
    $configGroup.Add($groupItem)
    
  3. Vytvořte konfiguraci připojení pomocí skupiny konfigurace:

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

Potvrzení nasazení

Potvrďte konfiguraci do cílových oblastí pomocí .Deploy-AzNetworkManagerCommit Tento krok aktivuje konfiguraci, aby se začala projevit.

[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

Vyčištění prostředků

Pokud už instanci Azure Virtual Network Manageru nepotřebujete a přidružíte k ní prostředky, odstraňte skupinu prostředků, která je obsahuje. Odstraněním skupiny prostředků se odstraní také prostředky, které jste vytvořili.

  1. Odstraňte skupinu prostředků pomocí remove-AzResourceGroup:

    Remove-AzResourceGroup -Name $rg.ResourceGroupName -Force
    

Další kroky

Teď, když jste vytvořili instanci Azure Virtual Network Manageru, se naučíte blokovat síťový provoz pomocí konfigurace správce zabezpečení: