You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Azure App Service迁移至新的共享App Service Plan

App Service跨资源组迁移至共享计划问题解答

一、能否跨资源组迁移App Service至目标计划?

可以跨资源组迁移,但你看不到目标计划的原因大概率是以下限制导致:

  • 操作系统不匹配:目标App Service Plan的操作系统(Windows/Linux)必须和待迁移的App Service完全一致,否则不会出现在可选列表
  • 定价层不兼容:如果原App Service使用了高级特性(如自定义域、SSL、VNet集成等),目标计划的定价层必须支持这些特性;另外免费/共享层App Service无法迁移到隔离层计划,反之亦然
  • 权限不足:当前操作账号没有目标资源组的Contributor或更高权限,无法读取目标计划信息
  • 区域不一致:建议再次确认两者区域完全相同(比如“中国东部”和“中国东部2”属于不同区域)

注意:App Service并非只能在创建时指定计划,创建后随时可以迁移到符合条件的其他计划,不受资源组限制。

二、无法直接迁移时,克隆部署至共享计划的最佳方案

如果因特殊限制无法直接迁移,按以下步骤操作最稳妥:

1. 备份原应用所有资源

  • 网站代码/文件:通过FTP、SSH或Azure CLI命令 az webapp deployment source config-zip --resource-group <原资源组> --name <原App Service名> --src <本地压缩包路径> 导出代码包;WordPress类应用需下载所有主题、插件及上传文件
  • 应用配置:在Azure Portal导出原App Service的应用设置、连接字符串、环境变量列表,保存为文本备用
  • 数据库:用原生工具(如mysqldump for MySQL、pg_dump for PostgreSQL)导出数据库备份;Azure托管数据库可直接使用Portal的“导出”功能生成备份文件

2. 在目标计划下创建新App Service

  • 在目标资源组的共享App Service Plan中创建新App Service,确保操作系统、区域和原应用完全一致
  • 若需复用原配置,可修改导出的ARM模板中的serverFarmId为目标计划的资源ID,再通过Portal或CLI部署模板

3. 迁移代码和配置

  • 上传备份的代码包到新App Service,或重新配置CI/CD部署源(如GitHub、Azure DevOps)
  • 复制原应用的应用设置、连接字符串到新App Service,注意后续替换数据库连接信息
  • 配置自定义域和SSL:先在新App Service添加原自定义域并完成验证,DNS切换前不要删除原域绑定;SSL证书可从原App Service导出后上传到新应用

4. 迁移并配置数据库

  • 在目标区域创建数据库服务器(或使用现有共享服务器),导入之前的数据库备份
  • 测试新数据库连接,确保数据完整
  • 更新新App Service的连接字符串指向新数据库;WordPress应用需额外修改数据库wp_options表中的siteurl和home字段为新应用域名

5. 验证并切换流量

  • 完整测试新App Service的所有功能,确保与原应用一致
  • 逐步修改DNS解析将流量切换到新应用;或使用Azure流量管理器实现平滑过渡,避免停机
  • 验证无误后,删除原App Service和旧App Service Plan以节省成本

内容的提问来源于stack exchange,提问作者Qiuzman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 06:45:03