你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 Azure Virtual Network Manager 创建网格网络拓扑 - Azure PowerShell

在本文中,你将了解如何使用 Azure PowerShell 通过 Azure Virtual Network Manager 来创建网格网络拓扑。 通过此配置,同一网络组中同一区域的所有虚拟网络之间都可以相互通信。 可以通过在连接配置中启用全局网格设置来启用跨区域连接。

先决条件

  • 请阅读有关网格网络拓扑的内容。
  • 创建了 Azure Virtual Network Manager 实例
  • 识别要在网格配置中使用的虚拟网络,或创建新的虚拟网络
  • 访问 Azure Virtual Network Manager 的所需 cmdlet 需要 Az.Network5.3.0 版本。
  • 如果在本地运行 PowerShell,则需要运行 Connect-AzAccount 以创建与 Azure 的连接。

创建网络组并添加成员

这部分将介绍如何创建网络组,该网络组中包含将用于“中心和分支”网络拓扑的虚拟网络。

  1. 使用 New-AzNetworkManagerGroup 创建虚拟网络的网络组。

    $ng = @{
        Name = 'myNetworkGroup'
        ResourceGroupName = 'myAVNMResourceGroup'
        NetworkManagerName = 'myAVNM'
    }
    $networkgroup = New-AzNetworkManagerGroup @ng
    
  2. 使用 New-AzNetworkManagerStaticMember 将静态成员添加到静态成员身份组:

        $vnet = get-AZVirtualNetwork -ResourceGroupName 'myAVNMResourceGroup' -Name 'VNetA'
        $sm = @{
        NetworkGroupName = $networkgroup.name
        ResourceGroupName = 'myAVNMResourceGroup'
        NetworkManagerName = 'myAVNM'
        Name = 'staticMember'
        ResourceId = $vnet.id
        }
        $staticmember = New-AzNetworkManagerStaticMember @sm
    

创建网格连接配置

这部分将指导你完成如何使用在上一部分中创建的网络组来创建网格配置。

  1. 使用 New-AzNetworkManagerConnectivityGroupItem 创建要将网络组添加到的连接组项。

    $gi = @{
        NetworkGroupId = $networkgroup.Id
    }
    $groupItem = New-AzNetworkManagerConnectivityGroupItem @gi
    
  2. 创建配置组,并添加在上一步骤中创建的组项。

    [System.Collections.Generic.List[Microsoft.Azure.Commands.Network.Models.PSNetworkManagerConnectivityGroupItem]]$configGroup = @()
    $configGroup.Add($groupItem)
    
  3. 使用 New-AzNetworkManagerConnectivityConfiguration 创建连接配置。

    $config = @{
        Name = 'connectivityconfig'
        ResourceGroupName = 'myAVNMResourceGroup'
        NetworkManagerName = 'myAVNM'
        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("westus")     

$deployment = @{
    Name = 'myAVNM'
    ResourceGroupName = 'myAVNMResourceGroup'
    ConfigurationId = $configIds
    TargetLocation = $target
    CommitType = 'Connectivity'
}
Deploy-AzNetworkManagerCommit @deployment

确认部署

  1. 在门户中,转到某一个虚拟网络,并在“设置”下选择“网络管理器”。 该页面上应该会列出配置。

  2. 若要测试虚拟网络之间的连接,请在每个虚拟网络中部署一个测试虚拟机,并在它们之间启动 ICMP 请求。

后续步骤