name: mongodb-atlas-setup version: “2.1.0” description: 掌握 MongoDB Atlas 云设置、集群配置、安全、网络、备份和监控。在几分钟内获得生产就绪的云数据库。用于设置云 MongoDB、配置集群或管理 Atlas。 sasmp_version: “1.3.0” bonded_agent: 08-mongodb-devops-migration bond_type: PRIMARY_BOND
生产级技能配置
capabilities:
- cluster-provisioning
- network-configuration
- user-management
- backup-configuration
- monitoring-setup
- performance-advisor
input_validation: required_context: - tier_requirement - region optional_context: - cloud_provider - vpc_peering - backup_schedule
output_format: cluster_config: object connection_string: string security_setup: object monitoring_dashboard: string
error_handling: common_errors: - code: ATLAS001 condition: “IP 未列入白名单” recovery: “在 Atlas 控制台的网络访问中添加 IP 地址” - code: ATLAS002 condition: “集群层级不足” recovery: “升级到 M10+ 以获得生产功能” - code: ATLAS003 condition: “连接超时” recovery: “检查网络访问、VPC 对等连接、防火墙规则”
prerequisites: mongodb_version: “Atlas 托管” required_knowledge: - cloud-basics - mongodb-fundamentals account_requirements: - “MongoDB Atlas 账户” - “组织和项目已创建”
testing: unit_test_template: | // 验证 Atlas 连接 const client = new MongoClient(atlasUri) await client.connect() const result = await client.db(‘admin’).command({ ping: 1 }) expect(result.ok).toBe(1)
MongoDB Atlas 设置与配置
在云端获取具有企业级功能的 MongoDB 数据库。
快速入门
创建免费层级集群(5 分钟)
- 注册 在 https://www.mongodb.com/cloud/atlas
- 创建组织 和项目
- 部署免费集群:
- 选择云提供商(AWS、Google Cloud、Azure)
- 选择最接近您应用程序的区域
- 接受 M0 沙盒层级(512MB,永久免费)
- 创建数据库用户:
- 用户名:您的用户名
- 密码:强密码(自动生成)
- 设置网络访问:
- 将您的 IP 地址列入白名单
- 或允许从任何地方访问(0.0.0.0/0)用于开发
- 获取连接字符串:
mongodb+srv://username:password@cluster0.xxxxx.mongodb.net/database_name - 连接:
const { MongoClient } = require('mongodb'); const client = new MongoClient(connectionString);
集群层级
M0 沙盒(免费 - 适合学习)
- 512MB 存储
- 共享基础设施
- 单区域
- 无备份
- 最适合: 学习、开发、原型设计
M2/M5 共享层级($9-57/月)
- 2GB-10GB 存储
- 共享基础设施
- 全局集群可用
- 每日备份
- 最适合: 暂存环境、小型生产应用
M10+ 专用层级($57+/月)
- 10GB+ 存储(可扩展)
- 专用服务器
- 所有 MongoDB 功能
- 时间点恢复
- 最适合: 生产系统
集群配置
区域选择策略
全球用户? → 多区域集群
仅美国? → us-east-1 或 us-west-2
欧盟用户? → eu-west-1
亚太地区? → ap-southeast-1
网络安全
// 1. IP 白名单(推荐)
// 添加可访问集群的特定 IP
// 例如,您的办公室、AWS 安全组、CI/CD 运行器
// 2. 公共互联网(不推荐)
// 允许 0.0.0.0/0 - 任何人都可以尝试连接
// 必须有强密码!
// 3. VPC 对等连接(企业版)
// 通过私有网络连接
// 最安全的选项
连接字符串选项
// 标准:直接连接
mongodb+srv://user:pass@cluster.mongodb.net/database
// 带选项
mongodb+srv://user:pass@cluster.mongodb.net/database?retryWrites=true&w=majority
// 连接池
mongodb+srv://user:pass@cluster.mongodb.net/database?maxPoolSize=100
// 要求 TLS
mongodb+srv://user:pass@cluster.mongodb.net/database?ssl=true
数据库用户与身份验证
在 Atlas 中创建用户
1. 安全 → 数据库访问
2. 添加数据库用户
3. 选择身份验证方法:
- 密码:用户名 + 强密码
- 证书:X.509 证书
- LDAP:企业目录
4. 分配角色:
- Atlas 管理员
- 项目所有者
- 编辑者
- 查看者
- 自定义角色
用户角色解释
- 项目所有者:完全控制项目
- 编辑者:创建/删除数据库,管理用户
- 查看者:对项目的只读访问
- 数据库用户:应用级身份验证
备份与灾难恢复
Atlas 备份
免费 M0:无自动备份
M2-M5:每日快照
M10+:每小时快照 + 时间点恢复
备份保留:
- 2 周默认(M10+)
- 90 天适用于 M10+
- 更长时间保留可用
恢复过程
1. Atlas 控制台 → 备份
2. 选择快照
3. 恢复到新集群或现有集群
4. 等待恢复完成
5. 验证数据完整性
备份最佳实践
- 定期测试恢复 - 验证备份有效
- 在不同区域保留备份 - 灾难恢复
- 导出重要数据 - Atlas 外的单独备份
- 监控备份大小 - 影响存储成本
- 设置保留策略 - 平衡成本与可恢复性
监控与性能
Atlas 监控仪表板
- 连接:活动连接、客户端信息
- 操作:读取、写入、插入、更新
- CPU:CPU 使用百分比
- 内存:内存使用
- 存储:数据库大小增长
- 网络:传入/传出字节
- 查询:慢查询
- 锁:锁争用
性能顾问
自动推荐:
- 频繁查询字段上缺少索引
- 模式改进
- 连接池建议
- 存储优化
实施推荐:
1. 查看建议
2. 预览影响
3. 一键应用
4. 监控结果
警报配置
设置警报:
- 高 CPU(> 75%)
- 高内存(> 90%)
- 低磁盘空间(< 10% 可用)
- 慢查询(> 1000ms)
- 复制延迟
- 连接问题
- 长时间运行操作
高级功能
全局集群(企业版)
多区域复制:
- 写入任何区域
- 从最近区域读取
- 全球低延迟访问
- 自动故障转移
VPC 对等连接
私有网络连接:
- 从 AWS VPC 连接
- 无互联网暴露
- 最低延迟
- 最安全
静态加密
在 M10+ 上默认启用:
- AES-256 加密
- 由 AWS/GCP/Azure 管理
- 自动密钥轮换
- HIPAA/SOC2 合规
LDAP 集成
企业目录身份验证:
- 连接公司 LDAP/Active Directory
- 集中用户管理
- 自动同步
- 角色映射
成本优化
估算成本
免费:$0/月(M0)
小型应用:$9-57/月(M2-M5)
生产:$57-500+/月(M10-M30)
加上数据传输成本:
- 在 AWS 区域内:免费
- 跨区域:$0.02/GB
- 互联网出口:$0.03/GB
降低成本
- 使用免费 M0 - 在开发期间
- 选择正确区域 - 避免数据传输成本
- 监控增长 - 适当扩展
- 压缩数据 - 减少存储、网络
- 归档旧数据 - 仅保留活动数据
故障排除
连接问题
❌ "IP 未列入白名单"
✅ 在安全 → 网络访问中添加您的 IP 到白名单
❌ "身份验证失败"
✅ 检查用户名/密码、正确数据库
❌ "集群不可用"
✅ 等待几分钟,集群启动需要时间
❌ "连接超时"
✅ 检查防火墙、增加超时、检查 IP 白名单
性能问题
❌ 慢查询
✅ 检查性能顾问、添加索引
❌ 高 CPU
✅ 审查资源使用、优化查询、升级层级
❌ 存储已满
✅ 归档数据、删除旧记录、升级层级
最佳实践
✅ 安全:
- 使用强随机密码(20+ 字符)
- 限制 IP 白名单到特定 IP
- 启用加密(M10+)
- 为每个应用使用单独用户
- 定期轮换密码
✅ 性能:
- 定期监控指标
- 早期创建索引
- 在生产负载下测试
- 使用连接池
- 归档旧数据
✅ 操作:
- 设置警报
- 测试备份/恢复过程
- 每月监控成本
- 记录设置程序
- 计划容量增长
下一步
- 创建 MongoDB Atlas 账户 - 免费层级
- 部署 M0 集群 - 5 分钟
- 加载示例数据 - 了解结构
- 创建应用用户 - 与管理员分开
- 设置监控 - 配置警报
- 计划备份策略 - 在进入生产前
准备好用云中的 MongoDB 为您的应用提供动力! ☁️