自动化 – Microsoft Azure Automation – 创建新的 Azure VM 端点


原文地址:http://blogs.technet.com/b/privatecloud/archive/2014/07/03/automation-microsoft-azure-automation-create-new-azure-vm-endpoint.aspx

大家好!

这次我们再提供一个与Azure Automation一同使用的示例Runbook!

这是我在Windows Azure – 自动化子类中提供的第三个Script Center Azure Automation Runbook脚本(您可以分别在这里这里找到前两个脚本)。

事实上,Windows Azure – Automation Script Center示例列表(源自MSFT和社区)一直在不断增长,因此请确保定期检查…...如有任何想法,请随时提出!

同样,没有长篇大论,也没有大堆说明…只提供一个脚本链接,希望大家可以发现其中的乐趣!


脚本中心贡献和下载

下载示例:New-AzureVMEndpoint.ps1

以下是简要描述:

这个Runbook用于根据以下输入参数为指定虚拟机创建简单的、独立的Azure端点:
       "Azure Connection Name"
"Service Name""VM Name""Azure Endpoint Name"
        "Azure Endpoint Protocol"
"Azure Endpoint Public Port""Azure Endpoint Local Port"

“脚本中心贡献”提供了详细描述、全套要求及实际Runbook内容(当然,还有实际的下载内容)。

请在此处的脚本中心下载用于创建Azure VM端点的Runbook示例:

 BC-DLButtonDark


再多谈几点要求…

 

此 Runbook 示例使用组织 ID 凭据进行身份验证(Azure AD;而不使用 Connect-Azure Runbook)。在使用此 Runbook 之前,必须创建一个 Azure Active Directory 用户,并允许该用户管理您要使用的 Azure 订阅。此外必须将该用户的用户名/密码添加到 Azure Automation 凭据资产中。

有关配置 Azure 以便通过 Azure Automation 管理 Azure 订阅的更多信息,请访问:https://aka.ms/Sspv1l

它利用 Automation Asset 获取所需的 Azure AD 凭据。此示例通过以下调用从 Asset 存储中获取凭据:

Get-AutomationPSCredential -Name 'Azure AD Automation Account'

注意     如果多个 Azure 订阅被关联到同一个组织 ID 凭据,则首先需要建立连接,然后才能使用 Select-AzureSubscription 命令(未包含在本示例中)。

此外,创建并使用 Variable Assets 来存储某些静态的 Azure 端点数据,可能会带来一些价值。

此示例不包括用于为Azure端点启用以下选项的示例脚本:"Create a Load-Balanced Set"和"Enable Direct Server Return"。

注意    Runbook示例利用InlineScript进行实际命令调用,因为创建Azure端点所需的命令使用的管道执行相当复杂,这在PowerShell 工作流上下文中甚至更加复杂。

 

此Runbook利用现有的Azure订阅连接(需要Connect-Azure Runbook)为指定的“虚拟机”创建简单的、独立的Azure 端点。不依赖任何Automation Assets,但创建并利用Variable Assets来存储更多静态Azure端点数据可能会带来一定的好处。

此示例不包括用于为Azure端点启用以下选项的示例脚本:"Create a Load-Balanced Set"和"Enable Direct Server Return"。

注意    Runbook示例利用InlineScript进行实际命令调用,因为创建Azure端点所需的命令使用的管道执行相当复杂,这在PowerShell 工作流上下文中甚至更加复杂。


Runbook使用示例

.EXAMPLE
    New-AzureVMEndpoint -ServiceName "MyService001" -VMName "MyVM001" `
        -AEName "Remote Desktop" -AEProtocol "TCP" `
       
-AEPublicPort 50025 -AELocalPort 3389       
       
.EXAMPLE
    New-AzureVMEndpoint -ServiceName "MyService001" -VMName "MyVM001" `
        -AEName "HTTPIn" -AEProtocol "TCP" -AEPublicPort 80 -AELocalPort 8080

.EXAMPLE
    $VMData = (
        @{
            ServiceName = "MyService001";
            VMName = "MyVM001";
            AEName = "My Endpoint";
            AEProtocol = "TCP"
            AEPublicPort = "50025";
            AELocalPort = "3389";
        },
    
        @{
            ServiceName = "MyService001";
            VMName = "MyVM002";
            AEName = "My Endpoint";
            AEProtocol = "TCP"
            AEPublicPort = "52153";
            AELocalPort = "5986";
        }
    )
   
    foreach ($VM in $VMData)
    {
        New-AzureVMEndpoint -ServiceName $VM.ServiceName -VMName $VM.VMName `
            -AEName $VM.AEName -AEProtocol $VM.AEProtocol `
            -AEPublicPort $VM.AEPublicPort -AELocalPort $VM.AELocalPort
    }

注意     实际脚本的注释中也会提供上述示例以及详细的Runbook参数描述。


感谢阅读我的博客文章!有关System Center、Windows Azure Pack和 Microsoft Azure自动化的更多信息、提示/技巧和示例解决方案,请查看自动化跟踪中的“构建云”系列的其他博客文章!

 

Skip to main content