Overview
NATS server running under systemd
systemctl status nats-server showing the NATS service active and JetStream enabled.
NATS server running under systemd
NATS monitoring healthz endpoint
Publish subscribe round trip
This is a repackaged open source software product wherein additional charges apply for cloudimg support services.
Overview
NATS is a CNCF-hosted open source messaging system written in Go, trusted by organizations worldwide for cloud native and edge workloads. This AMI delivers NATS Server fully installed and configured on AWS so you have a production-ready messaging platform running within minutes of launch - no package management, repository setup, or manual compilation required.
What Is Included
- NATS Server binary from the official upstream GitHub release, installed under /usr/local/bin
- A systemd unit (nats-server.service) running the server as a dedicated nats system user
- JetStream persistence layer enabled by default with its store on a dedicated data volume
- Baseline server configuration with a single authenticated user, client port 4222, and HTTP monitoring on port 8222
Why This AMI Over a Manual Install
Deploying NATS from scratch requires downloading binaries, creating system users, writing systemd units, configuring JetStream storage, and generating credentials. This image eliminates that operational overhead entirely. Compared to running a heavier streaming platform like Kafka, NATS offers a dramatically smaller resource footprint - a single binary with no JVM, no ZooKeeper, and no complex broker coordination - while still providing durable streaming through JetStream.
Security Practices
- Per-instance credentials on first boot: A one-shot service generates a32-character random password, writes it to /root/nats-credentials.txt with file mode 0600, and configures it in /etc/nats/auth.conf. No credentials are baked into the image.
- Ports bound to localhost by default: Client port 4222 and monitoring port 8222 are not exposed until you explicitly configure your firewall and edit /etc/nats/nats-server.conf.
- TLS support: NATS Server supports TLS for client connections and cluster routes. You can enable encryption in transit by adding your certificates to the server configuration.
- Dedicated system user: The NATS process runs as an unprivileged nats user, limiting the blast radius of any potential compromise.
Dedicated Storage Tier
The JetStream store directory lives on a separate, independently resizable EBS volume mounted at /var/lib/nats. This architecture keeps messaging persistence off the OS disk so you can grow storage to accommodate larger streams and key-value buckets without disturbing the instance. It also simplifies backup strategies - snapshot the data volume independently of the root volume.
Monitoring - Headless by Design
NATS runs headless with no built-in web console. Status and metrics are exposed via HTTP endpoints on port 8222:
- /varz - server statistics (connections, messages in/out, memory)
- /connz - active client connections
- /healthz - liveness check for load balancers
- /jsz - JetStream state (streams, consumers, storage usage)
These endpoints integrate with Prometheus, Grafana, and AWS CloudWatch via NATS Surveyor or custom scrapers.
Use Cases
- Microservices messaging: Route requests between hundreds of services with sub-millisecond publish latency. Ideal for fintech platforms processing order events or logistics systems coordinating fleet telemetry.
- Event streaming with JetStream: Replace heavyweight Kafka clusters for workloads under millions of messages per day. JetStream provides at-least-once delivery, replay, and consumer groups in a single binary.
- IoT and edge telemetry: Ingest data from thousands of devices through lightweight NATS clients (available in 40+ languages) into time-series databases or analytics pipelines.
- Request-reply RPC: Build synchronous service-to-service communication patterns without dedicated API gateways.
- Key-value and object store: Use JetStream KV and Object Store for distributed configuration or binary asset storage.
Getting Started
Launch the AMI, retrieve your unique credentials from /root/nats-credentials.txt, open port 4222 in your security group, and publish your first message. For a guided setup or cluster architecture review, contact cloudimg support.
About NATS
NATS is a CNCF incubating project with an Apache 2.0 license, originally created by Derek Collison and now maintained by Synadia. It supports 40+ client languages and is designed for performance, scalability, and simplicity.
All product and company names are trademarks or registered trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.
Highlights
- NATS Server preinstalled with JetStream persistence enabled, running as a dedicated nats system user under systemd, with no package management or repository setup required
- JetStream store directory lives on a separate, independently resizable data volume kept off the operating system disk
- Round the clock technical support from cloudimg, with expert assistance for NATS deployment, JetStream configuration, clustering and client integration
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 | Description | Cost/hour |
|---|---|---|
m5.large Recommended | m5.large | $0.08 |
t2.micro | t2.micro instance type | $0.04 |
t3.micro | t3.micro instance type | $0.04 |
m7i.2xlarge | m7i.2xlarge instance type | $0.24 |
p3dn.24xlarge | p3dn.24xlarge instance type | $0.24 |
m6idn.32xlarge | m6idn.32xlarge instance type | $0.24 |
r5dn.24xlarge | r5dn.24xlarge instance type | $0.24 |
c8ine.xlarge | c8ine.xlarge instance type | $0.12 |
m5ad.xlarge | m5ad.xlarge instance type | $0.12 |
m5a.large | m5a.large instance type | $0.08 |
Vendor refund policy
Refunds available on request.
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
Initial release of NATS Server on AWS.
Additional details
Usage instructions
Connect via SSH on port 22 as the default login user for your operating system variant (the user guide lists it per variant). The NATS Server is already running under systemd as nats-server.service. Read the rotated cloudimg user password from /root/nats-credentials.txt (sudo cat /root/nats-credentials.txt). The client port 4222 and monitoring port 8222 are bound to 127.0.0.1 in the captured image; edit /etc/nats/nats-server.conf to set 'host: 0.0.0.0' and open the corresponding security group rules to expose NATS to your network. Confirm liveness with: curl http://127.0.0.1:8222/healthz .
Resources
Vendor resources
Support
Vendor support
cloudimg Support for NATS Server
cloudimg provides 24/7 technical support for this product by email and live chat. Our engineers specialize in NATS deployment, JetStream configuration, clustering, authentication, TLS setup, and client integration.
Support Channels:
- Email: support@cloudimg.co.uk
- Live chat: Available around the clock
Response Times:
- Critical issues: One-hour average response
- General inquiries: Handled during the same business day
What We Help With:
- Initial deployment and instance configuration
- JetStream stream and consumer tuning
- Multi-node cluster setup and route configuration
- Performance troubleshooting and optimization
- Security configuration including TLS and authentication
- Software updates and patch guidance
- Refund requests and billing questions
Guided Setup: If you are deploying NATS for the first time or planning a clustered architecture, contact us for a guided setup consultation. We can help you select the right instance type and storage configuration for your workload.
For any issues - including troubleshooting, configuration assistance, or refund requests - reach out to support@cloudimg.co.uk and our team will respond promptly.
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


