将Azure网站移动到不同的应用服务计划

8

是否可以将 Azure网站 迁移到不同的(或新的)应用服务计划

我已经尝试了旧版和新版门户,但找不到相关选项。

4个回答

9

原本被接受的答案已经超过一年了,在Azure世界里,那是个漫长的时间。在Azure Portal中,“更改应用程序计划”按钮似乎已经不再存在(截至2016-06-17),所以我在这里提供需要使用的PowerShell命令,以便将Web应用程序移动到另一个应用服务计划。

Set-AzureRmWebApp -Name <webapp name> -ResourceGroupName <resource group name> -AppServicePlan <new app service plan>
Set-AzureRmWebAppSlot -Name <webapp name> -Slot <slot name> -ResourceGroupName <resource group name> -AppServicePlan <new app service plan>

是的,这个按钮似乎不再存在了。 - PussInBoots

8
选项“更改应用服务计划”已移至“应用服务计划”菜单中。 新位置在这里

3
如果您没有看到您的计划列出来,可能是因为它在另一个资源组中。您只能在相同资源组中的应用服务计划之间移动。 - Josh Noe
如果满足以下三个条件,您可以将当前计划更改为另一个计划:新计划必须(1)存在于同一资源组中,(2)存在于相同的地理区域中,且(3)存在于相同的 Web 空间中。前两个条件很容易确定,第三个条件则难以确定且无法更改。如果您仍然无法移动到所需计划,则克隆是目前唯一的选择。 - pcdev

7

您可以在Azure门户中的Web应用程序选项卡中执行此操作。但是,您必须展开工具栏才能看到该选项。请参见以下说明。

enter image description here


2
完全错过了省略号。这需要Web应用程序位于相同的位置和资源组中。 - Mark Cooper

2
我需要在不同的订阅之间移动东西,根据文档,这是完全可以实现的。很多内容都是从Azure网站无耻地复制过来的。此解决方案利用了Azure Powershell 1.0的优势。
首先,如果您需要移动Web应用程序及其连接的WebFarm,则有一些限制
您可以使用ARM Move Resources Api移动Azure Web App资源。
Azure Web Apps当前支持以下迁移方案:
  • 将资源组的所有内容(Web应用程序、应用服务计划和证书)移动到另一个资源组。
    • 注:在此场景中,目标资源组不能包含任何Microsoft.Web资源。
  • 将单个Web应用程序移动到不同的资源组中,同时仍在它们当前的应用服务计划(应用服务 计划保留在旧资源组中)中进行托管

基本上,您需要获取要移动的资源的资源ID,并使用Move-AzureRmResource命令。您自然需要能够读取和写入涉及的订阅的Azure登录。 $webapp = Get-AzureRmResource -ResourceGroupName OldGroup -ResourceName WebApp -ResourceType Microsoft.Web/sites $plan = Get-AzureRmResource -ResourceGroupName OldGroup -ResourceName Plan -ResourceType Microsoft.Web/serverFarms
Move-AzureRmResource -DestinationResourceGroupName NewGroup -ResourceId ($webapp.ResourceId, $plan.ResourceId) -DestinationSubscriptionId xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
我要指出的是,如果您将资源移动到另一个订阅,则有一些注意事项。首先,该订阅必须具有在该地区规划网站的权限,其API超出了此范围,但简单地创建和删除网站将使订阅获得这些权限。在我的情况下,还存在第二个未解决的错误,但我怀疑与被移动的资源相关联的其他资源是罪魁祸首。如果我解决了这个问题,我会提供进一步的信息。
最后需要注意的是,还可以使用REST API的可能性。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接