使用网络配置文件配置虚拟网络(经典)

重要

Azure 具有用于创建和处理资源的两个不同的部署模型:资源管理器部署模型和经典部署模型。 本文介绍使用经典部署模型的情况。 Microsoft建议大多数新部署使用 Resource Manager 部署模型。

可以使用 Azure 经典命令行接口 (CLI) 或 Azure PowerShell 通过网络配置文件创建和配置虚拟网络(经典)。 无法使用网络配置文件通过 Azure 资源管理器部署模型创建或修改虚拟网络。 不能使用 Azure 门户通过网络配置文件创建或修改虚拟网络(经典),但是可以使用 Azure 门户创建虚拟网络(经典),而无需使用网络配置文件。

使用网络配置文件创建和配置虚拟网络(经典)需要导出、更改和导入文件。

导出网络配置文件

可以使用 PowerShell 或 Azure 经典 CLI 导出网络配置文件。 PowerShell 导出 XML 文件,而 Azure 经典 CLI 导出 json 文件。

PowerShell

  1. 安装 Azure PowerShell 并登录到 Azure

  2. 根据需要更改目录(并确保其存在)和文件名,然后运行以下命令以导出网络配置文件:

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

Azure 经典 CLI

  1. 安装 Azure 经典 CLI。 完成经典 CLI 命令提示符中的剩余步骤。

  2. 输入 azure login 命令登录到 Azure。

  3. 输入 azure config mode asm 命令,确保处于 asm 模式。

  4. 根据需要更改目录(并确保其存在)和文件名,然后运行以下命令以导出网络配置文件:

    azure network export c:\azure\networkconfig.json
    

创建或修改网络配置文件

网络配置文件是 XML 文件(使用 PowerShell 时)或 json 文件(使用经典 CLI 时)。 可以在任何文本或 XML/json 编辑器中编辑文件。 网络配置文件架构设置文章包括所有设置的详细信息。 有关设置的其他说明,请参阅 查看虚拟网络和设置。 对文件所做的更改:

  • 必须符合架构,或者导入网络配置文件将失败。
  • 覆盖订阅的任何现有网络设置,因此在进行修改时请格外小心。 例如,引用以下示例网络配置文件。 假设原始文件包含两个 VirtualNetworkSite 实例,并对其进行了更改,如示例中所示。 导入文件时,Azure 会删除该文件中删除的 VirtualNetworkSite 实例的虚拟网络。 此简化方案假定虚拟网络中没有资源,就好像没有资源一样,无法删除虚拟网络,导入会失败。

重要

Azure 会考虑一个子网,该子网已部署到其中,就像 正在使用一样。 使用子网时,无法对其进行修改。 在修改网络配置文件中的子网信息之前,请将已部署到子网的任何内容移动到未修改的其他子网。 有关详细信息,请参阅 将 VM 或角色实例移动到其他子网

用于 PowerShell 的示例 XML

以下示例网络配置文件在美国东部 Azure 区域中创建名为 myVirtualNetwork 的虚拟网络,地址空间为 10.0.0.0/16。 虚拟网络包含一个名为 mySubnet 的子网,地址前缀为 10.0.0.0/24

<?xml version="1.0" encoding="utf-8"?>
<NetworkConfiguration xmlns:xsd="https://www.w3.org/2001/XMLSchema" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns="https://schemas.microsoft.com/ServiceHosting/2011/07/NetworkConfiguration">
  <VirtualNetworkConfiguration>
    <Dns />
    <VirtualNetworkSites>
      <VirtualNetworkSite name="myVirtualNetwork" Location="East US">
        <AddressSpace>
          <AddressPrefix>10.0.0.0/16</AddressPrefix>
        </AddressSpace>
        <Subnets>
          <Subnet name="mySubnet">
            <AddressPrefix>10.0.0.0/24</AddressPrefix>
          </Subnet>
        </Subnets>
      </VirtualNetworkSite>
    </VirtualNetworkSites>
  </VirtualNetworkConfiguration>
</NetworkConfiguration>

如果导出的网络配置文件不包含任何内容,则可以复制上一个示例中的 XML,然后将其粘贴到新文件中。

用于经典 CLI 的示例 JSON

以下示例网络配置文件在美国东部 Azure 区域中创建名为 myVirtualNetwork 的虚拟网络,地址空间为 10.0.0.0/16。 虚拟网络包含一个名为 mySubnet 的子网,地址前缀为 10.0.0.0/24

{
   "VirtualNetworkConfiguration" : {
      "Dns" : "",
      "VirtualNetworkSites" : [
         {
            "AddressSpace" : [ "10.0.0.0/16" ],
            "Location" : "East US",
            "Name" : "myVirtualNetwork",
            "Subnets" : [
               {
                  "AddressPrefix" : "10.0.0.0/24",
                  "Name" : "mySubnet"
               }
            ]
         }
      ]
   }
}

如果导出的网络配置文件不包含任何内容,则可以复制上一个示例中的 json,然后将其粘贴到新文件中。

导入网络配置文件

可以使用 PowerShell 或经典 CLI 导入网络配置文件。 PowerShell 导入 XML 文件,而经典 CLI 导入 json 文件。 如果导入失败,请确认该文件符合 网络配置架构

PowerShell

  1. 安装 Azure PowerShell 并登录到 Azure

  2. 根据需要更改以下命令中的目录和文件名,然后运行以下命令以导入网络配置文件:

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

Azure 经典 CLI

  1. 安装 Azure 经典 CLI。 完成经典 CLI 命令提示符中的剩余步骤。

  2. 输入 azure login 命令登录到 Azure。

  3. 输入 azure config mode asm 命令,确保处于 asm 模式。

  4. 根据需要更改以下命令中的目录和文件名,然后运行以下命令以导入网络配置文件:

    azure network import c:\azure\networkconfig.json