通过 PowerShell 使用网络配置文件创建虚拟网络(经典)

重要

经典虚拟网络现已对新客户弃用, 并将于 2024 年 8 月 31 日对所有客户停用。 新部署应使用基于 Azure 资源管理器的新部署模型 基于 Azure 资源管理器的虚拟网络

Azure 虚拟网络 (VNet) 是你自己的网络在云中的表示形式。 可以控制 Azure 网络设置并定义 DHCP 地址块、DNS 设置、安全策略和路由。 还可以进一步将 VNet 细分为子网,并部署 Azure IaaS 虚拟机(VM)和 PaaS 角色实例,就像将物理和虚拟机部署到本地数据中心一样。 从本质上讲,可以将网络扩展到 Azure,并引入自己的 IP 地址块。 如果不熟悉 VNet,请阅读 虚拟网络概述

重要

在使用 Azure 资源之前,请务必了解 Azure 当前有两种部署模型:Azure 资源管理器和经典部署模型。 在使用任何 Azure 资源之前,请确保先了解 部署模型和工具。 可以通过单击本文顶部的选项卡来查看不同工具的文档。

本文档介绍如何使用经典部署模型创建 VNet。 还可以 resource Manager 部署模型中创建虚拟网络。

场景

为了说明如何创建 VNet 和子网,本文档使用以下方案:

VNet 方案

在此方案中,你将创建一个名为 testVNet 的 VNet,保留的 CIDR 块为 192.168.0.0./16。 VNet 包含以下子网:

  • FrontEnd,使用 192.168.1.0/24 作为其 CIDR 块。
  • BackEnd,使用 192.168.2.0/24 作为其CIDR地址块。

如何通过 PowerShell 使用网络配置文件创建虚拟网络

Azure 使用 xml 文件定义订阅可用的所有虚拟网络。 可以下载此文件,对其进行编辑以修改或删除现有虚拟网络,并创建新的虚拟网络。 本教程介绍如何下载此文件(称为网络配置(或 netcfg)文件,并对其进行编辑以创建新的虚拟网络。 若要详细了解网络配置文件,请参阅 Azure 虚拟网络配置架构

若要使用 PowerShell 创建包含 netcfg 文件的虚拟网络,请完成以下步骤:

  1. 如果从未使用过 Azure PowerShell,请完成 如何安装和配置 Azure PowerShell 一文中的步骤,然后登录到 Azure 并选择订阅。

  2. 在 Azure PowerShell 控制台中,运行以下命令,使用 Get-AzureVnetConfig cmdlet 将网络配置文件下载到计算机上的目录:

    Get-AzureVNetConfig -ExportToFile c:\azure\NetworkConfig.xml
    

    预期输出:

    XMLConfiguration                                                                                                     
    ----------------                                                                                                     
    <?xml version="1.0" encoding="utf-8"?>...
    
  3. 使用任何 XML 或文本编辑器应用程序打开在步骤 2 中保存的文件,并查找 <VirtualNetworkSites> 元素。 如果已创建任何网络,则每个网络都显示为其自己的 <VirtualNetworkSite> 元素。

  4. 若要创建此方案中所述的虚拟网络,请在 <VirtualNetworkSites> 元素下添加以下 XML:

          <?xml version="1.0" encoding="utf-8"?>
          <NetworkConfiguration xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://schemas.microsoft.com/ServiceHosting/2011/07/NetworkConfiguration">
            <VirtualNetworkConfiguration>
              <VirtualNetworkSites>
                  <VirtualNetworkSite name="TestVNet" Location="East US">
                    <AddressSpace>
                      <AddressPrefix>192.168.0.0/16</AddressPrefix>
                    </AddressSpace>
                    <Subnets>
                      <Subnet name="FrontEnd">
                        <AddressPrefix>192.168.1.0/24</AddressPrefix>
                      </Subnet>
                      <Subnet name="BackEnd">
                        <AddressPrefix>192.168.2.0/24</AddressPrefix>
                      </Subnet>
                    </Subnets>
                  </VirtualNetworkSite>
              </VirtualNetworkSites>
            </VirtualNetworkConfiguration>
          </NetworkConfiguration>
    
  5. 保存网络配置文件。

  6. 在 Azure PowerShell 控制台中,运行以下命令,使用 Set-AzureVnetConfig cmdlet 上传网络配置文件:

    Set-AzureVNetConfig -ConfigurationPath c:\azure\NetworkConfig.xml
    

    返回的输出:

    OperationDescription OperationId                          OperationStatus
    -------------------- -----------                          ---------------
    Set-AzureVNetConfig  <Id>                                 Succeeded 
    

    如果返回的输出中 OperationStatus成功,请检查 XML 文件是否存在错误,然后重新执行步骤 6。

  7. 在 Azure PowerShell 控制台中,使用 Get-AzureVnetSite cmdlet 通过运行以下命令验证是否已添加新网络:

    Get-AzureVNetSite -VNetName TestVNet
    

    返回的(缩写)输出包含以下文本:

    AddressSpacePrefixes : {192.168.0.0/16}
    Location             : Central US
    Name                 : TestVNet
    State                : Created
    Subnets              : {FrontEnd, BackEnd}
    OperationDescription : Get-AzureVNetSite
    OperationStatus      : Succeeded