FerretDB Cloud 使用指南:创建、部署与管理托管的 MongoDB 兼容数据库实例
2026/9/24 16:39:15 网站建设 项目流程
  • 后端
  • 数据库
  • 文档数据库

【免费下载链接】FerretDB

A truly Open Source MongoDB alternative

项目地址:https://gitcode.com/gh_mirrors/fe/FerretDB
点击查看免费下载

FerretDB Cloud 是 FerretDB 官方提供的托管数据库服务,让你无需自行维护基础设施,即可在云端创建、部署和管理 FerretDB 实例,并通过标准的 MongoDB Wire 协议与既有客户端无缝连接。本文完整覆盖从注册账户、选择订阅计划、创建实例,到使用mongosh、MongoDB Compass 等客户端连接实例的每一步操作,并结合当前仓库中的源码与文档,深入说明连接字符串中 TLS 参数差异背后的实现原理,帮助你快速上手并安全使用 FerretDB Cloud。

FerretDB Cloud 是什么

FerretDB 是一个真正开源(A truly Open Source)的 MongoDB 替代方案,让开发者可以使用既有的 MongoDB 驱动与工具生态,而数据则存储在 PostgreSQL 之上。根据仓库博客 Announcing FerretDB Cloud 的介绍,FerretDB Cloud 是一个完全托管的、MongoDB 兼容的数据库即服务(DBaaS),底层构建在开源的 DocumentDB 扩展之上。

与自行部署 FerretDB 相比,FerretDB Cloud 免去了你修补、扩容和管理 PostgreSQL 的运维负担;应用程序仍然像连接 MongoDB 一样连接你的实例,而数据实际存储在带有开源 DocumentDB 扩展的 PostgreSQL 中。值得注意的是,FerretDB Cloud 提供的功能集与本地 FerretDB 实例完全一致(例如开箱即用的向量搜索),避免了云厂商在 Atlas 等专有服务上通过"仅服务端可用"的功能造成的供应商锁定。

从当前仓库的文档结构(website/versioned_docs/version-v2.7/installation/ferretdb-cloud.md)可以看到,FerretDB Cloud 的入门路径分为三大步骤:创建账户 → 创建实例 → 连接实例,下文逐一展开。

订阅计划对比

FerretDB Cloud 提供四种订阅计划,不同计划的租户类型、存储上限、安全特性、备份策略与服务等级均有差异。根据仓库博客中的特性表格,各计划对比如下:

特性Free TierPro TierEnterprise TierBYOA(Enterprise,客户自有账户)
租户类型多租户(Multi-tenant)专用租户专用租户专用租户
默认存储10 Gi最高 64 Ti最高 64 Ti最高 64 Ti
访问控制 / RBAC
集群管理 REST API
审计日志
指标与日志仪表盘
传输加密(TLS)
静态加密
多云支持即将推出即将推出
E2E 计费
PMM(Percona 监控与管理)
自定义网络 + VPC 对等不适用
SOC2-ready
备份24h RTO,7 天保留,亚分钟 RPO1h RTO,30 天保留,亚分钟 RPO1h RTO,30 天保留,亚分钟 RPO
SLA99.90%99.99%99.99%
支持基础优先企业企业

各计划的定位如下:

  • Free Tier:适合刚开始接触 FerretDB 的开发者、学生和小型项目,免费即可体验完整功能。
  • Pro Tier:面向专业团队与成长型企业,提供可预测的定价与企业级特性。
  • Enterprise Tier:适合需要专属支持和高级服务等级的企业。
  • Bring Your Own Account - Enterprise(BYOA):适合需要最大灵活性与控制权的大型企业,实例部署在客户自己的云账户中。

需要说明的是,根据博客信息,当前 FerretDB Cloud 仅在 AWS 上可用(包括 AWS Marketplace),并计划在后续增加 Microsoft Azure 与 Google Cloud 支持;新订阅可能需要经过等待名单审核。

创建账户

在使用 FerretDB Cloud 之前,需要先注册并激活账户。操作步骤如下:

  1. 访问 FerretDB Cloud 官网的注册页面(signup 页面)创建账户。
  2. 填写必需信息,包括你的姓名、电子邮件地址、公司名称与公司网址(如适用),以及设置的密码。
  3. 提交表单完成注册。系统会向你的邮箱发送一封验证邮件,点击邮件中的链接即可激活账户;如果几分钟内没有收到邮件,请检查垃圾邮件文件夹。

激活后即可登录 FerretDB Cloud 账户,进入主控制台(Dashboard)。

创建 FerretDB Cloud 实例

创建实例前,请确保你已经登录 FerretDB Cloud 账户。完整流程如下:

  1. 在主控制台的左侧边栏中点击Deployments(部署),然后点击Create(创建)。
  2. 系统会提示你选择订阅计划。点击某个计划的Subscribe(订阅)按钮即可选择该计划;审核通过后你会收到邮件通知。
  3. 配置实例参数:选择云服务商、区域(region)、网络类型、计算规格(compute size)等设置。默认配置是不错的起点,你可以根据自己的需求进行定制。
  4. 复核配置无误后,点击Create部署实例。部署过程可能需要几分钟,期间实例的Lifecycle Status(生命周期状态)会显示为Deploying(部署中)。
  5. 部署完成后,状态会变为Running(运行中),表示实例已激活并可用。点击该实例即可查看连接详情。

连接已部署的实例

获取连接信息

在实例控制台中,找到你的实例对应的用户名(username)、密码(password)和端点(endpoint)。其中endpoint(连接端点)可以在Connectivity(连接)标签页中找到。

连接字符串与 TLS 差异

根据所选的订阅计划,连接字符串的格式有所不同,关键在于是否需要启用 TLS/SSL:

:::caution

  • Free Tier 实例不支持 TLS/SSL 连接,因此连接字符串中不要添加?tls=true
  • Free Tier 实例是临时的,如果长期处于非活动状态,可能会被停止或删除。
  • 付费计划(Pro、Enterprise 以及 BYOA - Enterprise)要求启用 TLS/SSL 连接,连接字符串中必须添加?tls=true。 :::

付费计划(Pro、Enterprise、BYOA - Enterprise)的连接字符串格式:

mongodb://<username>:<password>@<endpoint>/?tls=true

Free Tier 实例的连接字符串格式:

mongodb://<username>:<password>@<endpoint>

使用时请将<username><password><endpoint>替换为实例控制台中提供的实际值。

从源码层面看,TLS 监听器是 FerretDB 服务端的核心能力之一。在 internal/clientconn/listener.go 中,Listener结构体同时维护普通 TCP 监听器与 TLS 监听器(tlsListener),并通过tlsConfig()函数加载证书与密钥生成tls.Config,再调用tls.Listen启动加密监听;对应的配置参数(如FERRETDB_LISTEN_TLSFERRETDB_LISTEN_TLS_CERT_FILEFERRETDB_LISTEN_TLS_KEY_FILEFERRETDB_LISTEN_TLS_CA_FILE)也列在 website/docs/configuration/flags.md 的配置项表格中。FerretDB Cloud 的付费计划正是要求客户端通过这种加密通道访问实例。

此外,如果服务端的证书并非由系统级证书颁发机构签发,你可能还需要在客户端设置tlsCAFile参数指定根 CA 证书,例如mongodb://ferretdb:27018/?tls=true&tlsCAFile=companyRootCA.pem,具体可参考 TLS 连接文档 中关于客户端参数的说明。

使用 mongosh 连接

要与数据库交互,你需要在电脑上准备一个 MongoDB 兼容的客户端应用(例如 MongoDB Compass、mongosh或其他 MongoDB 兼容客户端),然后用上面的连接字符串连接实例。

mongosh为例,连接命令如下。

付费计划(Pro、Enterprise、BYOA - Enterprise):

mongosh mongodb://<username>:<password>@<endpoint>/?tls=true

Free Tier 实例:

mongosh mongodb://<username>:<password>@<endpoint>

同样,请将<username><password><endpoint>替换为实例的实际值。

使用其他 MongoDB 客户端

除了mongosh,任何兼容 MongoDB Wire 协议的客户端都能连接 FerretDB Cloud 实例。仓库的兼容应用清单 website/docs/compatible-applications/applications.js 列出了社区验证过的图形化客户端,包括 MongoDB Compass、NoSQLBooster、Studio 3T、MajorM、Mingo 和 DBeaver 等。在这些工具的连接对话框中填入实例的 endpoint、用户名与密码(并视计划决定是否启用 TLS),即可像操作本地 MongoDB 一样浏览和操作数据。

认证机制:连接后会发生什么

连接 FerretDB Cloud 实例时提供的用户名与密码,其认证过程与本地 FerretDB 完全一致。根据 认证文档,FerretDB 本身不存储认证信息,而是完全依赖 PostgreSQL(含 DocumentDB 扩展)的认证机制:客户端将凭据发送给 FerretDB,FerretDB 将其转发给 PostgreSQL 校验,校验通过后返回成功并允许查询。目前客户端侧仅支持SCRAM-SHA-256认证机制,这也是 MongoDB 生态中广泛使用的标准认证方式,因此各类 MongoDB 驱动无需额外适配即可工作。

也就是说,你在 FerretDB Cloud 实例控制台中看到的用户名和密码,本质上是 PostgreSQL 层面的用户凭据,而连接字符串中的?tls=true负责在传输层加密这些凭据与数据,二者共同构成"加密通道 + 标准认证"的安全访问链路。

从云端到本地:与自托管 FerretDB 的衔接

FerretDB Cloud 的接入体验与本地自托管保持高度一致,这为开发与生产环境之间的迁移提供了便利:

  • 开发环境:可以先用 评估镜像 在本地快速拉起一套 FerretDB(docker run -d --name ferretdb -p 27017:27017 ...),用同样的mongodb://<username>:<password>@127.0.0.1:27017/连接字符串完成开发与联调。
  • 生产环境:使用 FerretDB Cloud 托管实例,或参照 Docker 部署文档 自行部署生产镜像ghcr.io/ferretdb/ferretdb,配合 TLS 连接文档 中--listen-tls等参数自行开启加密监听。

无论选择哪种方式,客户端侧的连接字符串、驱动与工具生态都是共通的,这正是 FerretDB 强调"开放、可移植、无供应商锁定"的核心价值所在。

  • 后端
  • 数据库
  • 文档数据库

【免费下载链接】FerretDB

A truly Open Source MongoDB alternative

项目地址:https://gitcode.com/gh_mirrors/fe/FerretDB
点击查看免费下载

相关推荐

上一篇:猫抓插件:三步轻松下载网页视频音频的终极指南
下一篇:如何在 KubeSphere 中安装 Gateway API 扩展并检查 GatewayProxy 状态

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询