[Azure]ARM中使用Azure Powershell批量规划虚拟网络
2017-09-05 15:02
369 查看
ARM模式中为虚拟网络和子网的创建提供了相关的命令,因此可以很方便地根据具体的拓扑来使用命令创建,节约人力时间。
涉及到的两条命令:
New-AzureRmVirtualNetwork
Add-AzureRmVirtualNetworkSubnetConfig
刨去网络安全组的配置,我们单纯利用上面两条命令做了一个简单的脚本用于批量创建虚拟网络:
Function CreateVnetFromConfiguration($vnetConfiguration)
{
$parsedConfiguration = $vnetConfiguration.Split('#');
$vnetCfg = $parsedConfiguration[0].Split(':');
$subnetCount = $parsedConfiguration.Count;
Write-Host ("Creating vnet {0}..." -f $vnetCfg[0]) -ForegroundColor Yellow;
$vnet = New-AzureRmVirtualNetwork -Name $vnetCfg[0] -Location $vnetCfg[2] -ResourceGroupName $vnetCfg[3] -AddressPrefix $vnetCfg[1] -WarningAction Ignore;
for ($i = 1; $i -lt $subnetCount; $i++)
{
$subnetCfg = $parsedConfiguration[$i].Split(':');
[void](Add-AzureRmVirtualNetworkSubnetConfig -Name $subnetCfg[0] -VirtualNetwork $vnet -AddressPrefix $subnetCfg[1]);
}
[void]($vnet | Set-AzureRmVirtualNetwork);
Write-Host ("Vnet {0} created." -f $vnetCfg[0]) -ForegroundColor Green;
}
$vnetConfigurations = @(
#vnetname:addressPrefix:location(chinanorth/chinaeast):resourceGroupName#subnetname:addressPrefix#subnetname:addressPrefix#subnetname:addressPrefix";
"danTestVnet1:10.0.0.0/24:chinanorth:DanNorthResourceGroup1#subnet1:10.0.0.0/27#subnet2:10.0.0.32/27";
"danTestVnet2:172.16.0.0/24:chinaeast:DanEastResourceGroup1#subnetA:172.16.0.0/27#subnetB:172.16.0.32/27"
);
foreach ($vnetConfiguration in $vnetConfigurations)
{
CreateVnetFromConfiguration $vnetConfiguration;
}
只需要根据实际需要修改$vnetConfigurations里面的内容即可。
脚本运行结果:
涉及到的两条命令:
New-AzureRmVirtualNetwork
Add-AzureRmVirtualNetworkSubnetConfig
刨去网络安全组的配置,我们单纯利用上面两条命令做了一个简单的脚本用于批量创建虚拟网络:
Function CreateVnetFromConfiguration($vnetConfiguration)
{
$parsedConfiguration = $vnetConfiguration.Split('#');
$vnetCfg = $parsedConfiguration[0].Split(':');
$subnetCount = $parsedConfiguration.Count;
Write-Host ("Creating vnet {0}..." -f $vnetCfg[0]) -ForegroundColor Yellow;
$vnet = New-AzureRmVirtualNetwork -Name $vnetCfg[0] -Location $vnetCfg[2] -ResourceGroupName $vnetCfg[3] -AddressPrefix $vnetCfg[1] -WarningAction Ignore;
for ($i = 1; $i -lt $subnetCount; $i++)
{
$subnetCfg = $parsedConfiguration[$i].Split(':');
[void](Add-AzureRmVirtualNetworkSubnetConfig -Name $subnetCfg[0] -VirtualNetwork $vnet -AddressPrefix $subnetCfg[1]);
}
[void]($vnet | Set-AzureRmVirtualNetwork);
Write-Host ("Vnet {0} created." -f $vnetCfg[0]) -ForegroundColor Green;
}
$vnetConfigurations = @(
#vnetname:addressPrefix:location(chinanorth/chinaeast):resourceGroupName#subnetname:addressPrefix#subnetname:addressPrefix#subnetname:addressPrefix";
"danTestVnet1:10.0.0.0/24:chinanorth:DanNorthResourceGroup1#subnet1:10.0.0.0/27#subnet2:10.0.0.32/27";
"danTestVnet2:172.16.0.0/24:chinaeast:DanEastResourceGroup1#subnetA:172.16.0.0/27#subnetB:172.16.0.32/27"
);
foreach ($vnetConfiguration in $vnetConfigurations)
{
CreateVnetFromConfiguration $vnetConfiguration;
}
只需要根据实际需要修改$vnetConfigurations里面的内容即可。
脚本运行结果:
相关文章推荐
- [Azure]使用Azure Powershell输出ARM模式下某个账号中所有订阅下的虚拟网络拓扑
- 使用 Azure CLI 管理 Azure 虚拟网络和 Linux 虚拟机
- 使用 Azure PowerShell 管理 Azure 虚拟网络和 Windows 虚拟机
- 使用 Azure PowerShell 管理 Azure 虚拟网络和 Windows 虚拟机
- [Azure]使用Powershell删除ARM模式下单台虚拟机及相关资源(非托管磁盘)
- [Azure]使用Powershell删除ARM模式下单台虚拟机及相关资源(托管磁盘)
- [Azure]使用Azure Powershell输出ASM模式下某个账号中所有订阅下的虚拟网络拓扑
- 使用 Azure CLI 管理 Azure 虚拟网络和 Linux 虚拟机
- [Azure]使用Powershell重新生成ARM虚拟机网卡
- 虚拟网络计算工具VNC使用指南
- [Azure]使用Powershell获取ASM和ARM存储的实际使用量
- ARM - PcDuino 初步使用- 挂载网络文件系统-【转载】
- Android手机虚拟CD-ROM流程 && 使用网络同步时间(NITZ和NTP)&& Android VOLD
- 嵌入式 linux以及arm平台上网络设备测试工具iperf交叉编译以及使用
- Azure虚拟网络P2S连接错误,0x800b0109
- Azure ARM (7) ARM Template - 使用Visual Studio编辑
- [Azure]使用Powershell克隆ARM虚拟机(托管磁盘)