首页 > 代码库 > Azure PowerShell (7) 使用CSV文件批量设置Virtual Machine Endpoint
Azure PowerShell (7) 使用CSV文件批量设置Virtual Machine Endpoint
《Windows Azure Platform 系列文章目录》
请注意:
- Azure不支持增加Endpoint Range
- 最多可以增加Endpoint数量为150
http://azure.microsoft.com/zh-cn/documentation/articles/azure-subscription-service-limits/
上一章内容中,我们介绍了如何使用Azure PowerShell,设置单个VM的Endpoint。
这里我们更进一步说明,如何使用CSV文件,批量设置VM Endpoint。
这里分为两个部分:
1.设置单个虚拟机的Endpoint
2.设置多台虚拟机的负载均衡Endpoint
1.设置单个虚拟机的Endpoint
假设我们只有一个虚拟机,需要设置多个Endpoint,如果使用PowerShell命令一行一行输入会很麻烦。
我们可以通过设置CSV文件,将需要开放的端口进行预设值。然后使用Azure PowerShell命令,进行动态配置。
(1)首先,我们创建一个新的虚拟机
- ServiceName为LeiAzure
- VM Name为LeiAzureVM001
- 我们需要设置的LocalPort为1596,1597和1598。
(2)然后,我们需要准备CSV文件模板,可以在这里下载:
上图中,定义了ServiceName,VMName,Protocol,LocalPort等值。
我们将该CSV文件保存在本地计算机的D盘根目录下。
(3)以管理员身份,运行Azure PowerShell
首先选择当前订阅名称,命令为:
Select-AzureSubscription -SubscriptionName <SubscriptionName> -current
执行截图:
(4)执行导入CSV的PowerShell
Import-Csv ‘<CSVFilePath>‘ | foreach {Get-AzureVM -ServiceName $_.ServiceName -Name $_.VMname | Add-AzureEndpoint -Protocol $_.Protocol -LocalPort $_.LocalPort -PublicPort $_.PublicPort -Name $_.PortName | Update-AzureVM}
<CSVFilePath>就是本地CSV文件的路径。执行截图:
(5)返回Azure Management Portal,查看执行结果:
2.设置多台虚拟机的负载均衡Endpoint
(1)假设我们创建了2台Azure Virtual Machine
- ServiceName为LeiAzure
- 创建2台VM,VM Name为LeiAzureVM001和LeiAzureVM002
- 我们需要设置的Load Balance的LocalPort为1596,1597和1598。
- 我们还需要创建新的负载平衡集名称
(2)然后,我们需要准备CSV文件模板,可以在这里下载。内容如图:
(3)以管理员身份,运行Azure PowerShell。选择当前订阅名称,过程略。
(4)执行导入CSV的PowerShell。
Import-Csv ‘<CSVFilePath>‘ | foreach {Get-AzureVM -ServiceName $_.ServiceName -Name $_.VMname | Add-AzureEndpoint -Protocol $_.Protocol -LocalPort $_.LocalPort -PublicPort $_.PublicPort -Name $_.PortName -ProbePort $_.ProbePort -ProbeProtocol $_.ProbeProtocol -LBSetName $_.LBSetName -ProbePath $_.ProbePath| Update-AzureVM}
执行结果,如下图:
(5)返回Azure Management Portal,查看执行结果:
Azure PowerShell (7) 使用CSV文件批量设置Virtual Machine Endpoint