Overview
This is a repackaged software product wherein additional charges apply for hardening, security configuration, and support.
WHAT IS FERRETDB
FerretDB is an open-source document database that implements the MongoDB wire protocol, so standard MongoDB drivers, shells and application code connect to it without changes. It is a stateless Go server that translates document operations into SQL rather than shipping a storage engine of its own, and this AMI bundles the backend it needs: PostgreSQL 17 with the open-source DocumentDB extension. Feature blocks include document collections, secondary and compound indexes, TTL indexes, aggregation pipelines, geospatial operators and vector search. Because every document is persisted in PostgreSQL, ordinary PostgreSQL backup, replication and audit tooling applies directly, and the on-disk format stays open. FerretDB is an independent project under the Apache-2.0 license and the DocumentDB extension is MIT - no vendor lock-in, and no proprietary storage format to migrate away from later.
WHAT THIS AMI ADDS
Security hardening:
- TLS-only on the database port - 27017 accepts TLS connections only and refuses plaintext clients, so credentials never cross the network in the clear
- A unique TLS certificate is generated on each instance at first launch, carrying that instance's address - no private key is shared between deployments
- No credentials are baked into the AMI - the database password, the PostgreSQL superuser password and the operations console password are all generated at first launch and written to /root/ferretdb-credentials.txt
- SCRAM-SHA-256 authentication throughout; anonymous clients are refused and trust authentication is used nowhere
- PostgreSQL 17 bound to 127.0.0.1 only, and blocked externally in the firewall
- The operations console is served over HTTPS behind HTTP Basic Auth; profiling and debug-archive endpoints are blocked at the perimeter
- Usage telemetry is switched off, verified in the running process state - nothing leaves the instance
- UFW firewall pre-configured - TCP 22, 80, 443 and 27017 open; PostgreSQL and the internal diagnostics ports blocked
- fail2ban, AppArmor
- CVE scan - every image is scanned for vulnerabilities before release
OS hardening (CIS Level 1):
- CIS Ubuntu 24.04 LTS Level 1 benchmark applied via ansible-lockdown, with a documented tailored profile
- auditd, SSH hardening (key-only, no password authentication), Kernel hardening, IMDSv2 enforced
Compliance artifacts:
- SBOM - CycloneDX 1.6 at /etc/lynxroute/sbom.json
- CIS Conformance Report at /etc/lynxroute/cis-report.html
- CIS Tailored Profile at /usr/share/doc/lynxroute/CIS_TAILORED_PROFILE.md
Highlights
- FerretDB security baked in: TLS-only on the database port with a per-instance certificate, every credential generated at first launch, bundled PostgreSQL bound to 127.0.0.1 only, usage telemetry switched off, UFW firewall pre-configured.
- CIS Level 1 hardened Ubuntu 24.04 LTS: auditd, fail2ban, AppArmor, SSH key-only, IMDSv2 enforced. CVE-scanned before every release. SBOM (CycloneDX) and CIS Conformance Report included.
- Run document workloads on PostgreSQL: MongoDB wire protocol compatibility for existing drivers and tools, with aggregation pipelines, TTL and compound indexes, geospatial operators and vector search. Apache-2.0 license - fully auditable, no vendor lock-in.
Details
Introducing multi-product solutions
You can now purchase comprehensive solutions tailored to use cases and industries.
Features and programs
Financing for AWS Marketplace purchases
Pricing
Free trial
Dimension | Cost/hour |
|---|---|
t3.medium Recommended | $0.05 |
t3.small | $0.03 |
m6i.large | $0.05 |
Vendor refund policy
We do not offer refunds for this product. AWS infrastructure charges (EC2, EBS, data transfer) are billed separately by AWS and are not refundable by us.
How can we make this page better?
Legal
Vendor terms and conditions
Content disclaimer
Delivery details
64-bit (x86) Amazon Machine Image (AMI)
Amazon Machine Image (AMI)
An AMI is a virtual image that provides the information required to launch an instance. Amazon EC2 (Elastic Compute Cloud) instances are virtual servers on which you can run your applications and workloads, offering varying combinations of CPU, memory, storage, and networking resources. You can launch as many instances from as many different AMIs as you need.
Version release notes
FerretDB 2.7.0 - Initial release (July 2026)
- FerretDB 2.7.0 on Ubuntu 24.04 LTS
- Bundled PostgreSQL 17 with the open-source DocumentDB extension 0.107.0 - a complete self-contained document store, no external database required
- CIS Level 1 hardening applied (ansible-lockdown/UBUNTU24-CIS)
- CVE-scanned before every release
- MongoDB wire protocol on TCP 27017, TLS only - plaintext clients are refused
- A unique TLS certificate is generated on each instance at first launch, carrying that instance's address
- No credentials baked into the image - the database password, PostgreSQL superuser password and operations console password are generated at first launch
- PostgreSQL bound to 127.0.0.1 only; internal diagnostics ports not exposed
- Usage telemetry switched off - nothing leaves the instance
- Operations console on HTTPS 443 behind HTTP Basic Auth, exposing liveness, readiness and Prometheus metrics
- Certbot pre-installed for a trusted certificate in one command
- UFW firewall pre-configured (ports 22, 80, 443, 27017 only)
- fail2ban, auditd, AppArmor pre-configured
- SBOM (CycloneDX 1.6) at /etc/lynxroute/sbom.json
- CIS Conformance Report (OpenSCAP) at /etc/lynxroute/cis-report.html
- IMDSv2 enforced
Additional details
Usage instructions
- Launch instance (t3.medium recommended)
- Open Security Group - allow TCP 22, TCP 443 and TCP 27017 from your IP
- SSH: ssh -i key.pem ubuntu@<PUBLIC_IP>
- Read credentials: sudo cat /root/ferretdb-credentials.txt
- Connect any MongoDB driver or shell to <PUBLIC_IP>:27017 with TLS enabled, using the username and password from that file. The credentials file contains a ready-to-paste connection string.
- Open https://<PUBLIC_IP>/ for the operations console (liveness, readiness, Prometheus metrics) and sign in with the console user and password from the same file - accept the self-signed certificate warning
- Verify the stack is up: the login banner shows the FerretDB version and service state
Port 27017 accepts TLS connections only; a plaintext client will be refused. Because the certificate is self-signed per instance, clients need TLS verification relaxed until you install your own certificate - for example append ?tls=true&tlsAllowInvalidCertificates=true to the connection string. All credentials are generated uniquely on this instance at first launch and saved to /root/ferretdb-credentials.txt. Nothing is baked into the image. The bundled PostgreSQL listens on 127.0.0.1 only and is not reachable from the network; administer it locally with sudo -u postgres psql. For production, replace the self-signed certificates: run sudo certbot --nginx -d yourdomain.com for the operations console, and swap /etc/ferretdb/tls/ferretdb.crt and ferretdb.key for your own pair, then sudo systemctl restart ferretdb. Back up with ordinary PostgreSQL tooling: sudo -u postgres pg_dump -Fc postgres > backup.dump
Resources
Vendor resources
Support
Vendor support
Visit us online: https://lynxroute.com
For FerretDB documentation:
AWS infrastructure support
AWS Support is a one-on-one, fast-response support channel that is staffed 24x7x365 with experienced and technical support engineers. The service helps customers of all sizes and technical abilities to successfully utilize the products and features provided by Amazon Web Services.