Overview
This is a repackaged software product wherein additional charges apply for hardening, security configuration, and support.
WHAT IS POSTGRESQL
PostgreSQL is a powerful, open-source object-relational database management system, implemented in C as a robust multi-process server with multi-version concurrency control (MVCC). It offers fully ACID-compliant transactions, the SQL standard plus rich extensions, native JSON and JSONB, full-text search, window functions, common table expressions, materialized views, table partitioning, GiST/GIN/BRIN indexing, stored procedures in multiple languages, logical and streaming replication, and a mature extension ecosystem (the contrib modules pg_stat_statements, pgcrypto and uuid-ossp ship in the image). It speaks the standard wire protocol, so it connects from every language through libpq, JDBC and ODBC drivers. Data is persisted on disk with write-ahead logging and page checksums enabled. Running it yourself in your own VPC keeps your data inside your AWS account rather than a managed service. PostgreSQL license, no vendor lock-in.
WHAT THIS AMI ADDS
Security hardening:
- scram-sha-256 auth required - the postgres superuser password plus a sample application database and role are generated at first boot, never a default or empty password
- No trust authentication anywhere - every host connection in pg_hba.conf requires scram-sha-256
- Native TLS enabled at first boot with a per-instance self-signed certificate - no shared private key is baked into the image; clients connect with sslmode=require
- Listens for VPC-internal access only - port 5432 is governed by your Security Group, not exposed to the internet
- UFW firewall - SSH on 22 only; port 5432 governed by your Security Group
- fail2ban, AppArmor
- CVE scan - every image is scanned for vulnerabilities before release
Web administration (pgAdmin 4):
- pgAdmin 4 web UI in server mode - browse schemas, run SQL, manage roles and backups from your browser
- Served only over HTTPS behind an nginx TLS perimeter on 443 (per-instance self-signed certificate; swap in your own with certbot)
- pgAdmin itself binds to 127.0.0.1 only - never exposed directly; the admin email and a random password are generated at first boot
- No new database port is opened - the UI is reached on 443, governed by your Security Group
OS hardening (CIS Level 1):
- CIS Ubuntu 24.04 LTS Level 1 benchmark applied via ansible-lockdown
- auditd, SSH hardening, 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
- PostgreSQL security baked in: scram-sha-256 auth required, superuser password and sample database generated at first boot, native TLS with a per-instance certificate, no trust authentication - unlike bare PostgreSQL AMIs that ship with no password set and plaintext connections you have to lock down yourself.
- 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.
- Bundled pgAdmin 4 web UI: manage schemas, run SQL, and handle backups from any browser over HTTPS (nginx TLS perimeter on 443; pgAdmin binds to loopback, admin login generated at first boot). The world's most advanced open-source SQL database - ACID, JSON/JSONB, full-text search, replication. PostgreSQL license, no vendor lock-in.
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.02 |
t3.large | $0.03 |
t3.small | $0.02 |
m6i.xlarge | $0.05 |
m6i.large | $0.03 |
Vendor refund policy
We do not offer refunds for this product. AWS infrastructure charges 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
PostgreSQL 18.4 + pgAdmin 9.15 - adds the pgAdmin 4 web administration UI (server mode) behind the nginx TLS perimeter on 443 (/pgadmin4/); pgAdmin listens on loopback only, admin login generated per-instance at first boot. PostgreSQL 18.4 unchanged.
Additional details
Usage instructions
- Launch instance (t3.medium recommended)
- SSH: ssh -i key.pem ubuntu@<PUBLIC_IP>
- Read credentials: sudo cat /root/postgresql-credentials.txt
- Open port 5432 in the Security Group ONLY to your trusted app-tier sources in the same VPC (never 0.0.0.0/0); open 443 ONLY to the trusted IPs that will use the pgAdmin web UI
- Connect from an app server in the same VPC using the private IP, port 5432, and sslmode=require
- pgAdmin web UI: browse to https://<PUBLIC_IP>/pgadmin4/ and log in with the admin email + password from the credentials file (the certificate is self-signed by default)
The database requires scram-sha-256 password authentication, native TLS is enabled, and access to port 5432 is governed by your Security Group - never expose 5432 to the public internet. The pgAdmin 4 web UI is the only browser-facing component; it is served on 443 only, binds to loopback internally, and should likewise be scoped to trusted sources.
Example (psql): psql "host=<PRIVATE_IP> port=5432 dbname=appdb user=appuser sslmode=require" psql "host=<PRIVATE_IP> port=5432 dbname=postgres user=postgres sslmode=require"
The postgres superuser password and the sample appdb/appuser credentials are saved to /root/postgresql-credentials.txt at first boot. A per-instance self-signed TLS certificate is generated at first boot; for production, replace /etc/postgresql/18/main/server.crt and server.key with a CA-signed pair (key owned by postgres, mode 600) and restart the service.
Resources
Vendor resources
Support
Vendor support
Visit us online: https://lynxroute.com
For PostgreSQL documentation: https://www.postgresql.org/docs/18/ For PostgreSQL community support and bug reporting:
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.
Similar products
