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,查看执行结果:

  技术分享

  技术分享

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。