将VM移至新订阅

时间:2014-01-29 22:41:42

标签: azure

我有一个新的Azure订阅,但在之前的订阅中有现有的VM。将我的VM移动到新订阅的最简单/最好的方法是什么?

感谢阅读。

2 个答案:

答案 0 :(得分:1)

我不知道是否还有其他选项,但您可以使用powershell执行此操作:

 # Copy a virtual machine to a different subscription (no VNET)
  .\vmcopy.ps1 -SourceSubscription "source subscription" ` 
             -DestinationSubscription "destination subscription" ` 
             -VirtualMachineName "existingvmname" ` 
             -SourceServiceName "sourcecloudservice" ` 
             -DestinationServiceName "destinationcloudservice" ` 
             -DestinationStorageAccount "destinationstorageaccount" ` 
             -Location "West US" 


  # Copy a virtual machine to a different subscription and specify an existing virtual network and subnet. 
  .\vmcopy.ps1 -SourceSubscription "source subscription" ` 
               -DestinationSubscription "destination subscription" ` 
               -VirtualMachineName "existingvmname" ` 
               -SourceServiceName "sourcecloudservice" ` 
               -DestinationServiceName "destinationcloudservice" ` 
               -DestinationStorageAccount "destinationstorageaccount" ` 
               -VNETName "DestinationVNET" ` 
               -SubnetName "DestinationSubnet"

来源/更多信息

http://michaelwasham.com/2014/01/21/copy-a-windows-azure-virtual-machine-between-subscriptions/

答案 1 :(得分:0)

对于那些怀疑是否有更好选择的人:是的,有。 如果您想move而不是copy(正如Thiago建议的那样),您应该执行以下操作: 使用以下内容创建JSON文件:

{
  "targetResourceGroup": "/subscriptions/<TARGET-SUBSCRIPTION-ID>/resourceGroups/<TARGET-RESOURCEGROUP-NAME>",
  "resources": [
    "<SOURCE-RESOURCE-ID>"
  ]
}

请注意,您可能拥有多个属于VM的资源:VM,云服务,存储帐户,VNet,保留IP,... 您需要将所有这些资源的资源ID添加到上面的JSON中。

然后你可以运行:

armclient post https://management.azure.com/subscriptions/<SOURCE-SUBSCRIPTION-ID>/resourceGroups/<SOURCE-RESOURCEGROUP>/moveResources?api-version=2015-01-01 @<PAHT_TO_JSON> -verbose
在您的命令行上

。您将使用armclient

来安装choco
choco install armclient