更改部署模型
Overview
您可以更改现有应用的部署配置,以将其部署在新的模型、地区和/或云提供商中。 例如,您可以将应用从全球部署切换到特定的本地 Amazon Web Services 地区,或者将部署在美国东部的应用从 Amazon Web Services 切换到 Azure。有关所有可用选项的列表,请参阅部署模型和地区。
要移动现有应用,您需要开始部署迁移,该迁移会自动将应用的数据和配置移动到新配置。 迁移进程设计为尽可能无缝,但需要5到30分钟的停机时间。 您可以监控迁移状态,但在迁移完成之前不会处理任何请求。 有关详细信息,请参阅部署迁移进程。
运行部署迁移
您可以随时开始部署迁移。单个应用一次只能进行一次迁移。如果尝试在另一个迁移正在进行时启动迁移,则新迁移不会运行,并且会失败并显示错误。
如果您从 Realm 软件开发工具包(Realm SDK)连接到应用,则必须将 SDK 更新到支持更改部署模型的版本。如果应用的 SDK 版本不支持更改部署模型,则需要重新安装应用。如果在升级之前更改部署模型,则 SDK 将无法连接,请求将失败。
最低 SDK 版本:
Realm C++ SDK v0.2.0
Realm Flutter SDK v1.2.0
Realm Kotlin SDK v1.10.0
Realm .NET SDK v11.1.0
Realm Node.js SDK v12.0.0(待发布)
Realm React Native SDK v12.0.0(待发布)
Realm Swift SDK v10.40.0
开始之前
在更改部署模型之前,请注意以下事项:
所有日志和草稿都将丢失。
暂停的Atlas Triggers将重新启动。
需要为新地区重新创建任何现有的私有端点。
Atlas Triggers 和 Device Sync 操作将在迁移期间暂停。
重要
部署迁移具有永久性
更改部署模型不是草稿。此更改保存后无法撤消。
您将需要以下内容来修改 Atlas 用户界面中应用的部署模型:
具有项目所有者权限的 MongoDB Atlas 帐户。要了解如何注册免费帐户,请参阅开始使用 Atlas。
要使用 Admin API修改应用程序的部署模型,您需要满足以下条件:
具有项目所有者权限的 MongoDB Atlas 帐户。要了解如何注册免费帐户,请参阅开始使用 Atlas。
MongoDB Atlas Admin API 公钥/私钥对。API 密钥必须具有项目所有者权限才能使用 App Services Admin API。
您的应用的内部ObjectId 十六进制string 以及包含您的应用的ID 项目的项目Atlas 。要学习;了解如何查找这些元数据,请参阅获取应用元数据。
步骤
选择目标部署模型和地区
您可以将应用迁移到任何有效的部署配置。
首先,选择迁移到特定的 LOCAL
地区或分布式在世界各地的GLOBAL
部署。
如果您选择GLOBAL
,请选择全球区域之一来托管应用程序的配置数据。
如果您选择LOCAL
,请选择要部署到的特定云提供商和地区。 有关所有可用选项的列表,请参阅部署模型和地区。
选择目标部署模型和地区
您可以将应用迁移到任何有效的部署配置。
首先,选择迁移到特定的LOCAL
地区或分布在世界各地的GLOBAL
部署。
如果您选择GLOBAL
,请选择全球区域之一来托管应用程序的配置数据。
{ "deployment_model": "GLOBAL", "provider_region": "aws-us-east-1" }
如果您选择LOCAL
,请选择要部署到的特定云提供商和地区。 有关所有可用选项的列表,请参阅部署模型和地区。
{ "deployment_model": "LOCAL", "provider_region": "azure-westus" }
开始迁移
要开始迁移,请在请求正文中使用要迁移到的部署模型和地区来调用创建部署迁移端点。
curl -X PUT \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/deployment_migration \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer <AccessToken>' \ -d '{ "deployment_model": "<DeploymentModel>", "provider_region": "<RegionID>" }'
监控迁移状态
要获取部署迁移的当前状态,请调用获取部署迁移端点。
curl -X GET \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/deployment_migration \ -H 'Authorization: Bearer <AccessToken>'
部署迁移进程
部署迁移会在一系列阶段中将应用的数据和配置移动到一个或多个新区域。在每个阶段,进程将应用的一部分迁移到新模型,并清除之前的模型中的任何工件。
部署迁移按顺序经历以下阶段:
"started"
:迁移已开始"downtime"
:迁移期间应用不可用"enabling_event_subscriptions"
:应用的触发器和 Device Sync 转换器已启用"cleanup"
:正在清理部署工件迁移已完成,可能处于以下两种状态之一:
"successful"
:迁移已成功完成"failed"
:迁移失败
受影响的数据
迁移过程不会影响存储在 MongoDB Atlas 集群中的任何应用程序数据。
迁移过程会迁移应用的以下组件:
用户账户
应用配置文件
Triggers
API 服务
Device Sync 转换器
迁移过程不会迁移以下数据:
应用程序日志
部署草稿
存储在 MongoDB Atlas 集群中的数据