重要
Azure 具有用于创建和处理资源的两个不同的部署模型:资源管理器部署模型和经典部署模型。 本文介绍使用经典部署模型的情况。 Microsoft建议大多数新部署使用 Resource Manager 部署模型。
可以使用 Azure 经典命令行接口 (CLI) 或 Azure PowerShell 通过网络配置文件创建和配置虚拟网络(经典)。 无法使用网络配置文件通过 Azure 资源管理器部署模型创建或修改虚拟网络。 不能使用 Azure 门户通过网络配置文件创建或修改虚拟网络(经典),但是可以使用 Azure 门户创建虚拟网络(经典),而无需使用网络配置文件。
使用网络配置文件创建和配置虚拟网络(经典)需要导出、更改和导入文件。
导出网络配置文件
可以使用 PowerShell 或 Azure 经典 CLI 导出网络配置文件。 PowerShell 导出 XML 文件,而 Azure 经典 CLI 导出 json 文件。
PowerShell
根据需要更改目录(并确保其存在)和文件名,然后运行以下命令以导出网络配置文件:
Get-AzureVNetConfig -ExportToFile c:\azure\networkconfig.xml
Azure 经典 CLI
安装 Azure 经典 CLI。 完成经典 CLI 命令提示符中的剩余步骤。
输入
azure login
命令登录到 Azure。输入
azure config mode asm
命令,确保处于 asm 模式。根据需要更改目录(并确保其存在)和文件名,然后运行以下命令以导出网络配置文件:
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
根据需要更改以下命令中的目录和文件名,然后运行以下命令以导入网络配置文件:
Set-AzureVNetConfig -ConfigurationPath c:\azure\networkconfig.xml
Azure 经典 CLI
安装 Azure 经典 CLI。 完成经典 CLI 命令提示符中的剩余步骤。
输入
azure login
命令登录到 Azure。输入
azure config mode asm
命令,确保处于 asm 模式。根据需要更改以下命令中的目录和文件名,然后运行以下命令以导入网络配置文件:
azure network import c:\azure\networkconfig.json