本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将自托管 MongoDB 环境迁移到 MongoDB Atlas AWS
由 Battulga Purevragchaa () AWS、Babu Srinivasan (MongoDB) 和 Igor Alekseev () 创作 AWS
摘要
此模式描述了在中从自我管理的 MongoDB 环境(包括 MongoDB 社区服务器、企业服务器、企业高级或任何托管 MongoDB 集群)迁移到 MongoDB Atlas 的步骤。mLab AWS Cloud它使用 Atlas Live Migration Service
该模式与规范性指导网站上的《迁移到 MongoDB Atlas AWS》 AWS 指南一起出现。它提供了该指南中讨论的其中一个迁移场景的实施步骤。有关其他迁移方案,请参阅 AWS 规范性指导网站上的以下模式:
该模式适用于AWS 系统集成商 (SI) 合作伙伴
先决条件和限制
先决条件
要迁移到 MongoDB Atlas 的源 MongoDB 企业高级版、社区服务器或其他自我管理的 MongoDB 环境。
熟悉 MongoDB、MongoDB Atlas 和。 AWS 服务这种模式从较高的层面解释了一些迁移步骤。更多细节将在 future 版本中添加。
产品版本
MongoDB 版本 6.0.13 或更高版本
架构
下图显示了 Atlas 实时迁移服务,该服务用于将数据从 MongoDB 企业高级数据库和 MongoDB 社区数据库迁移到 MongoDB Atlas 上。 AWS如果您需要将大型复杂数据库迁移到 MongoDB Atlas,同时最大限度地减少停机时间并实现持续的数据同步,请使用此服务。此模式使用 Atlas 实时迁移服务。
下图显示了 MongoDB 镜像服务 mongomirror
(),您还可以使用该服务通过安全连接将数据从 MongoDB 企业高级数据库和 MongoDB 社区数据库迁移到 MongoDB Atlas。 AWS AWS PrivateLinkmongomirror
用于在本地 MongoDB 和 MongoDB Atlas 之间进行持续的数据复制。此工具非常适合灾难恢复或分阶段迁移,但不在此模式的范围之内。
有关更多支持不同使用场景的 MongoDB Atlas 参考架构,请参阅规范性指南网站上的迁移到 MongoDB Atlas。 AWS AWS
工具
MongoDB
Atlas 是一种完全托管的数据库即服务 (DBaaS),用于在云中部署和管理 MongoDB 数据库。 Atlas 实时迁移服务
是一款免费的 MongoDB 实用工具,可帮助将数据库迁移到 Atlas。此服务使源数据库与目标数据库保持同步,直到直接割接。当您准备好割接时,您可以停止应用程序实例,将它们指向目标 Atlas 集群,然后重新启动它们。要访问此服务,请从 MongoDB Atlas 集群中选择数据库选项。 mongomirror
是一种用于手动将数据从现有 MongoDB 副本集迁移到 MongoDB Atlas 副本集的工具。 mongomirror
不需要您关闭现有的副本集或应用程序,也不需要导入用户或角色数据,也不需要复制配置数据库。你可以mongomirror
从 MongoDB 文档中下载。
最佳实践
有关在 AWS上使用 MongoDB 的最佳实践,请参阅合作伙伴网络博客AWS 上的
操作说明
任务 | 描述 | 所需技能 |
---|---|---|
确定集群大小。 | 使用中的信息计算总索引空间,估算工作集大小。 | DBA,应用程序所有者 |
估计网络带宽要求。 | 要估计网络带宽要求,请将平均文档大小乘以每秒提供的文档数量。考虑集群中任何节点将承受的最大流量作为基础。要计算从集群到客户端应用程序的下游数据传输速率,请使用一段时间内返回的文档总数的总和。如果您的应用程序从辅助节点读取数据,请将文档总数除以可以提供读取操作的节点数。要查找数据库的平均文档大小,请使用 | DBA |
选择 Atlas 层。 | 按照 MongoDB | DBA |
为切换做好计划。 | 制定应用程序割接计划。 | DBA,应用程序所有者 |
任务 | 描述 | 所需技能 |
---|---|---|
在上创建新的 MongoDB Atlas 集群。 AWS | 登录 Atlas 并打开项目的 “概述” 页面。选择 “创建” 按钮创建集群。有关更多信息,请参阅 MongoDB 文档 | DBA |
选择 AWS 区域 和全局群集配置。 | 从适用于您的 Atlas 集群 AWS 区域 的列表中进行选择。如果需要,请配置全局集群。有关更多信息,请参阅 MongoDB 文档 | DBA |
选择集群层。 | 选择您的首选集群层。您的层级选择决定了内存、存储和IOPS规格等因素。 | DBA |
配置其他集群设置。 | 配置其他集群设置,例如 MongoDB 版本、备份和加密选项。有关这些选项的更多信息,请参阅相关资源部分。 | DBA |
任务 | 描述 | 所需技能 |
---|---|---|
对用户进行身份验证和授权。 | 您必须创建并验证将访问 MongoDB Atlas 集群的数据库用户。要访问项目中的集群,用户必须属于该项目,并且他们可以属于多个项目。 Atlas 还支持基于 AWS Identity and Access Management (IAM) 的身份验证。有关更多信息,请参阅 MongoDB 文档 | DBA |
创建自定义角色。 | (可选)Atlas 支持在内置的 Atlas 数据库用户权限未涵盖您想要的权限集的情况下创建自定义角色。 | DBA |
设置对VPC等互连。 | (可选)Atlas 支持虚拟私有云 (VPC) 与其他开启的私有云 () VPCs 对 AWS等。 | AWS 管理员 |
设置 AWS PrivateLink 终端节点。 | (可选)您可以使用在上 AWS 设置私有终端节点 AWS PrivateLink。有关更多信息,请参阅 Amazon VPC 文档。 | AWS 管理员 |
启用双因素身份验证。 | (可选)Atlas 支持双因素身份验证 (2FA),以帮助用户控制对其 Atlas 账户的访问。 | AWS 管理员 |
使用设置用户身份验证和授权LDAP。 | (可选)Atlas 支持使用轻型目录访问协议(LDAP)执行用户身份验证和授权。 | AWS 管理员 |
设置统一 AWS 接入。 | (可选)某些 Atlas 功能(包括 Atlas Data Lake 和使用客户密钥管理进行静态加密)使用IAM角色进行身份验证。 | AWS 管理员 |
使用设置静态加密 AWS KMS。 | (可选)Atlas 支持使用 AWS Key Management Service (AWS KMS) 加密存储引擎和云提供商备份。 | AWS 管理员 |
设置客户端字段级加密。 | (可选)Atlas 支持客户端字段级加密,包括字段的自动加密。 | AWS 管理员 |
任务 | 描述 | 所需技能 |
---|---|---|
在 MongoDB Atlas 中选择您的目标副本集。 | 导航到目标 Atlas 集群并选择省略号 (...) 按钮。在群集列表中,此按钮显示在群集名称下方。在集群详细信息中,按钮显示在右侧,在 “Connect” 和 “配置” 按钮旁边。有关更多信息,请参阅 MongoDB 文档 | DBA |
将 Atlas 实时迁移服务添加到访问列表中。 | 将 Atlas 实时迁移服务添加到 AWS 源集群的访问列表中。这有助于准备源环境以连接到目标 Atlas 集群。 | DBA |
使用 Atlas 实时迁移服务执行迁移。 | 选择 “开始迁移”。当 “准备直接转换” 按钮变为绿色时,执行直接转换。查看 Atlas 集群性能指标。考虑更新所有应用程序层中的数据库连接以指向新数据库。 | DBA |
任务 | 描述 | 所需技能 |
---|---|---|
连接到 MongoDB Atlas 集群。 | 确保 MongoDB Atlas 集群连接按预期运行。 | 应用程序所有者 |
与集群数据交互。 | 测试集群数据。 | DBA |
监控您的集群。 | 验证您的集群设置是否正确。 | DBA |
备份和恢复集群数据。 | 定期为群集数据安排备份。 | DBA |
故障排除
事务 | 解决方案 |
---|---|
错误:无法访问指定来源 |
|
错误:无法解析主机名 | 找不到给定主机名的 IP 地址。确认给定的主机名正确且可公开访问。 |
任何其他错误 | 如果您遇到任何其他错误,请参阅 MongoDB 文档中的实时迁移疑难解答(Pull) |
相关资源
除非另有说明,否则以下所有链接均指向 MongoDB 文档中的网页。
迁移指南
旧版迁移
发现与评测
配置安全性和合规性
在上设置新的 MongoDB Atlas 环境 AWS
迁移数据
监控集群
集成操作
训练
其他信息
有关更多信息,请参阅 MongoDB 文档中的以下主题:
要将数据移动到无服务器实例,请使用 Compass 导出和导入数据
,或者使用自管理工具迁移数据 。要了解更多信息,请参阅无服务器实例限制 。 要将数据加载到 Atlas 中的新集群,请参阅将数据加载到 Atlas 中。
要复制集群以进行测试,请参阅自管理部署的 Backup 方法
。 如果您要迁移的应用程序需要近乎持续的正常运行时间,请联系 MongoDB Supp
ort 并分享您的正常运行时间要求和集群配置。 有关更多信息,请参阅迁移或导入数据
。