华为云 DDS MongoDB 分片集群需在控制台“白名单”页面添加授权 IP 地址,默认拒绝所有外部连接。配置 0.0.0.0/0 会开放公网访问权限,存在安全风险,仅建议在测试环境或已具备外层网络安全防护时使用。
先说结论:配置白名单是连接华为云 DDS 实例的前置必要步骤,需同时在控制台放行 IP 并确保客户端网络可达。
- 适合:需要允许特定 ECS 或本地客户端连接 DDS 实例的场景。
- 先准备:确认客户端出口 IP 地址,区分公网 IP 与内网 IP。
- 验收:使用 mongo shell 或客户端工具从授权 IP 发起连接测试。
快速处理思路
登录华为云控制台,进入 DDS 实例详情页,找到“白名单”设置项,将客户端 IP 地址加入默认分组或新建分组并保存。
为什么会这样
华为云 DDS 实例默认启用网络访问控制,未在白名单内的 IP 发起的连接请求会被直接丢弃。
这是云数据库的标准安全机制,用于防止未经授权的访问和数据泄露。分片集群涉及多个节点,白名单配置会自动同步到所有 Shard 和 Config 节点,无需单独为每个节点配置。
分步处理
- 登录华为云控制台,选择“数据库 > 文档数据库服务 DDS”。
- 在实例列表中找到目标分片集群实例,点击实例名称进入详情页。
- 在左侧导航栏或页面顶部找到“白名单”选项卡。
- 点击默认分组后的“修改”按钮,或点击“创建分组”新建白名单组。
- 在输入框中填入客户端 IP 地址或 CIDR 网段(例如 192.168.1.0/24),多个 IP 用逗号分隔。
- 点击“确定”保存配置,页面提示“成功”即表示配置下发完成。
怎么验证是否生效
在已添加白名单的客户端机器上,使用 mongo shell 执行连接命令,若能成功进入 MongoDB 交互界面则说明生效。
检查命令:mongo "mongodb://username:password@host:port/?authSource=admin"。若连接超时或被拒绝,需检查本地防火墙及 ECS 安全组配置。
常见坑
- 混淆 ECS 安全组与 DDS 白名单:两者均需配置,仅配置 DDS 白名单而 ECS 安全组未放行 27017 端口仍无法连接。
- 公网 IP 变动:本地宽带或动态 IP 环境出口 IP 可能变化,导致白名单失效,建议使用固定 IP 或 NAT 网关。
- CIDR 格式错误:输入非标准的 CIDR 格式(如掩码位数错误)会导致保存失败或无法匹配。
常见问题
白名单配置后需要重启实例吗?
不需要,白名单配置保存后立即生效,无需重启数据库实例。
支持配置域名吗?
不支持,华为云 DDS 白名单仅支持 IPv4 或 IPv6 地址及 CIDR 网段,不支持域名解析。
0.0.0.0/0 代表什么意思?
代表允许所有 IP 地址访问,生产环境严禁使用,仅限测试调试且确认网络安全可控时使用。
参考来源
- 华为云官方文档,页面标题:设置白名单,URL:https://support.huaweicloud.com/usermanual-dds/dds_01_0045.html