[Azure]ARM中使用Azure Powershell批量规划虚拟网络

来源:互联网 发布:淘宝购物车图片及价格 编辑:程序博客网 时间:2024/05/07 08:27

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里面的内容即可。

脚本运行结果:


阅读全文
1 0