本文总结了在Azure资源管理器和经典模式之间自动启动和关闭虚拟机(VMS)的差异。
微软推出Azure的资源管理器,以方便在Azure中managementof你的云资产,但由于它是如何利用新的,它往往是很难找到究竟是如何做到这一点。
今年早些时候,我在工作时间内创造了一个新的Azure的VM为使用的客户端。客户端请求自动化虚拟机的启动和关闭不使用时,为了节省昂贵的计算时间的能力。实施经典模式的虚拟机的计划启动和关闭已经被记录在案,并发布到各种博客。这是很难找到当虚拟机在新Azure的资源管理器(ARM)的管理如何安排启动和关闭。
设置自动启动和关闭的经典方法涉及三个步骤:创建自动化帐户并配置自动化凭据,创建包含要执行的PowerShell工作流脚本的Runkbook,并将一个或多个计划附加到这些运行书中。使用Azure资源管理器,您在第二步中使用的PowerShell工作流脚本是不同的。
在经典的方法,你可以使用类似的代码如下设置您的自动化。
流程Start_MyClassicVM
{
$名气= GET-AutomationPSCredential -Name“MyAutomationCredential”
附加AzureAccount -Credential $ CRED
Select-Azuresubscription“MySubscription”
$myVM = " MyVMName " $serviceName = " MyService "
start-azurevm -servicename $ serviceName -Name $ MyVM
}
首先,你获取的凭据自动化帐户,并使用Add-AzureAccount方法进行验证。
一旦通过验证,你指定你所使用的订阅内容。通常,这可能是所谓的“即付即用即付”或“MSDN订阅”。
然后,您可以指定你的服务和对您的虚拟机在运行的服务的启动AzureVM命令。
当使用Azure的资源管理器,你会适应下面的代码。
工作流start_myrmvm.
{
$ cred = get-automationpscredential-name“azureserviceaccount”
附加AzureRMAccount -Credential $ CRED
GET-AzureRmSubscription -SubscriptionName“MySubscription” -TenantId“GUID-去,这里” |设置AzureRmContext
$ resourcegroup =“myresourcegroup”
$ myvm =“myrmvm”
start-azurermvm -resourcegroupname $ resourcegroup-name $ myvm
}
在配置自动化帐户时,Runbooks和Cnetchules保持不变,在ARM VM的自动启动和ARM VM的自动启动之间存在若干关键差异。与Azure资源管理器一起使用的几乎所有方法都将在其名称中“Azure”单词之后包含“RM”。此外,以“get-azurermsubscription”开始的语句比经典版本更复杂。请注意,现在,您不需要知道您的订阅名称,还需要了解您的Azure Active Directory租户ID。(Since I did not have access to the Azure Active Directory for my client’s subscription, I retrieved this GUID from the URL in the address bar after navigating to the Azure Active Directory in the classic portal. It’s possible, however, that this will change in the near future.) You then pipe the results of this new command, complete with the Tenant ID, to Set-AzureRmContext.
之后,而不是提供服务名称,您将Azure资源组的名称提供给START-AZURERMVM cmdlet。
关脚脚本关闭虚拟机下,代码是除了最后一行几乎相同:
stop-azurermvm -resourcegroupname $ resourcegroup -name $ myvm -force
工作流程Stop_myrmvm.
{
$ cred = get-automationpscredential-name“azureserviceaccount”
附加AzureRMAccount -Credential $ CRED
GET-AzureRmSubscription -SubscriptionName“即付即用即付” -TenantId“GUID” |设置AzureRmContext
$ resourcegroup =“myresourcegroup”
$ myvm =“myrmvm”
stop-azurermvm -resourcegroupname $ resourcegroup -name $ myvm -force
}