Azure:将应用服务移动到另一个现有的应用服务计划
Posted
技术标签:
【中文标题】Azure:将应用服务移动到另一个现有的应用服务计划【英文标题】:Azure: Moving an App Service to another existing App Service Plan 【发布时间】:2016-04-15 00:08:56 【问题描述】:我正在尝试将应用服务从一个服务计划移动到另一个服务计划。当我使用门户执行此操作时,未显示其他应用服务计划。
两个应用服务都在同一个位置和资源组中。 这两个应用服务计划位于同一位置并具有相同的定价层。
我为 Web 应用使用“更改应用服务计划”选项。显示的唯一应用服务计划是当前的。还有一个“新建”选项。
所以,总而言之: 1)为什么无法选择其他应用服务计划。 2)如何将应用服务(Web App)移动到其他应用服务计划。
【问题讨论】:
两个应用服务计划的定价层级是否相同? 这个答案对你有帮助吗? @RickRainey 是的,正如问题中所述,这两个计划是相同的定价层。 我刚刚对此进行了测试,它似乎确实适用于同一资源组中的服务计划。定价层也没有区别(我可以从标准移动到共享并再次返回)尝试创建两个新计划,看看它是否可以作为基本测试。它可能会给出一些指示 【参考方案1】:您尝试更改应用服务计划时看不到其他应用服务计划的原因是移动 Azure Web 应用资源时的当前限制。
您打算将 Web 应用移动到的另一个应用服务计划位于具有现有 Azure Web 应用的另一个资源组中,目前不支持
Azure Web Apps current move limitations updated 01/04/2016
希望这能回答你的问题。
【讨论】:
Web 应用程序在同一个资源组中,但计划不在。在这种情况下,如何更改应用服务计划的资源组? 在当前资源组新建应用服务计划并切换更方便 另外,根据这个link,应用服务计划在不同资源组中的事实应该无关紧要。 仍然无法这样做。我不明白为什么这在技术上是不可能的。 天啊,这个限制是愚蠢的。【参考方案2】:不确定这是否是最近的事情,但似乎终于有可能了。该选项在主资源菜单中为“更改应用服务计划”。见:
我能够将应用服务(网站)及其部署槽移动到不同的计划(具有相同的参数和位置 - 但如果这是必需的,则没有尝试)。
【讨论】:
不幸的是,我收到“未找到应用服务计划”消息,但我的计划位于不同的资源组中。也许这就是原因。 只有满足三个条件才能使用此门户选项:新的应用服务计划必须 (1) 存在于同一资源组中,(2) 存在于同一地理区域中,以及 (3 ) 存在于同一个网站空间 (source)。前两个条件很容易,第三个条件很难确定,目前无法修复,如果它们位于不同的网络空间中。 Cloning 是目前唯一的选择,如果你仍然不能移动到你想要的计划【参考方案3】:是的,我们现在可以使用更改应用服务计划来移动应用服务计划。
但有时您会得到未找到应用服务计划,因为这是移动应用服务计划的已知限制。
限制
只有新计划在同一资源组和地理位置中,我们才能移动App服务计划。- 这两个条件是为了确保新计划在同一个网络空间 网络空间Azure 将每个新的应用服务计划部署到一个部署单元中,内部称为网络空间。每个区域可以有多个 webspace,但您的应用程序只能在同一 webspace 中创建的计划之间移动。应用服务环境是一个隔离的网络空间,因此应用可以在同一应用服务环境中的计划之间移动,但不能在不同应用服务环境中的计划之间移动。
您无法在创建计划时指定所需的网站空间,但可以确保在与现有计划相同的网站空间中创建计划。简而言之,使用相同资源组和区域组合创建的所有计划都部署到相同的网络空间中。例如,如果您在资源组 A 和区域 B 中创建了一个计划,那么您随后在资源组 A 和区域 B 中创建的任何计划都将部署到同一个 Web 空间中。请注意,计划在创建后无法移动网络空间,因此您无法通过将计划移动到另一个资源组来将其移动到与另一个计划“相同的网络空间”。
你可以在官方文档here和here中找到这个
你也可以参考这个SO
【讨论】:
实际上还有第三个限制——网络空间——见我上面的评论 2019 年 6 月 - 这仍然是限制吗?还想知道,Azure 函数的内容和 Visual Studio 产品下载是否会像应用变量一样保存应用配置?【参考方案4】:您可以在新的应用服务计划下在新的应用服务上配置备份和恢复。
备份应用程序:https://docs.microsoft.com/en-us/azure/app-service/manage-backup#:~:text=The%20Backup%20and%20Restore%20feature,or%20restoring%20to%20another%20app。
【讨论】:
【参考方案5】:将您的代码放入 DevOps 并将其部署到新的服务计划并指向 DNS。
【讨论】:
以上是关于Azure:将应用服务移动到另一个现有的应用服务计划的主要内容,如果未能解决你的问题,请参考以下文章
将 ASP.NET Core 6 应用部署到现有的 Azure 应用服务?
将 Live iPhone 应用程序从现有的苹果开发者账户转移到另一个有间隔期的账户
带有 .NET 后端的 Azure 移动服务 - 数据库中已经存在一个对象