Overview
ElasticMQ running under systemd
systemctl status elasticmq showing the ElasticMQ service active and bound to loopback, fronted by nginx.
ElasticMQ running under systemd
Amazon SQS round trip via aws-cli
Loopback bind and authenticated management gate
This is a repackaged open source software product wherein additional charges apply for cloudimg support services.
Overview
ElasticMQ is an open source message queue with a fully Amazon SQS-compatible REST interface. Point aws-cli, boto3, the AWS SDKs or Spring Cloud AWS at ElasticMQ with a single endpoint override and you get a local, self-hosted SQS - no AWS account, no network egress, and no per-message charges. It is the standard choice for local development, CI and integration testing, demos, and lightweight self-hosted queueing where a full managed queue service is unnecessary. This AMI delivers ElasticMQ fully installed and hardened on AWS so you have a working SQS-compatible endpoint within minutes of launch - no JVM setup, no reverse-proxy configuration, and no credential wiring required.
What Is Included
- The pinned upstream ElasticMQ fat jar (elasticmq-server-all-1.7.1.jar), verified by sha256, installed under /opt/elasticmq and run as a dedicated elasticmq system user
- A systemd unit (elasticmq.service) that binds ElasticMQ to loopback only, so the queue engine is never directly internet-exposed
- An nginx front end providing two customer-facing endpoints: an unauthenticated drop-in SQS port for AWS SDK clients and a Basic Auth gated management port, plus an unauthenticated health endpoint for load balancers
- Per-instance administrator credentials generated on first boot
Why This AMI Over a Manual Install
Running ElasticMQ safely for a team means more than downloading a jar: you need a service account, a systemd unit, a reverse proxy that separates the unauthenticated SDK endpoint from an authenticated management endpoint, a per-host credential, and a health check. This image does all of that. Because ElasticMQ has no authentication of its own, this appliance binds the queue engine to localhost and fronts it with nginx, so the queue is never left as a world-open unauthenticated service by accident.
Security Practices
- Loopback-bound engine: ElasticMQ binds to 127.0.0.1 only. All external access flows through nginx.
- Per-instance credentials on first boot: A one-shot service generates a 24-character random password for the admin user, bcrypt-hashes it into the nginx Basic Auth file, and writes the plaintext to /root/elasticmq-credentials.txt with mode 0600. No credentials are baked into the image.
- Default security group opens SSH only: Ports 80, 443 and 9324 are served by nginx but are not reachable until you explicitly open them in your security group. Restrict them to your own application CIDR - the SQS drop-in port is unauthenticated by design (SQS SDKs sign with SigV4 and cannot send Basic Auth), so network isolation is its security boundary.
- TLS ready: Front the management port with your own certificate on port 443 for encryption in transit.
Storage - In Memory by Design
ElasticMQ runs with in-memory storage, which is its canonical mode for development, CI and testing. Queues and messages are held in memory and are lost on service restart or instance reboot. This is intentional and documented on the instance MOTD, in the credentials file, and in the user guide. If you need durable queues, ElasticMQ supports optional file and embedded-database persistence that you can enable in the configuration - the user guide explains how.
Use Cases
- Local and CI SQS testing: Run your SQS-dependent test suites against a local endpoint with zero AWS cost and full offline reproducibility.
- Development environments: Give every developer a private SQS-compatible queue without provisioning real AWS queues per person.
- Demos and air-gapped queueing: Provide a lightweight, dependency-free SQS API where a managed service is unavailable or unnecessary.
Getting Started
Launch the AMI, SSH in as the login user for your operating system variant, and read your unique admin password from /root/elasticmq-credentials.txt. Point any SQS client at the drop-in endpoint with an endpoint-url override and dummy AWS credentials. For a guided setup or a durability/persistence review, contact cloudimg support.
About ElasticMQ
ElasticMQ is an open source project by SoftwareMill, distributed under the Apache License 2.0.
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
- Amazon SQS-compatible message queue preinstalled and hardened - point aws-cli, boto3 or the AWS SDKs at it with a single endpoint override for a fully local SQS with no AWS account and no per-message cost
- Queue engine bound to loopback and fronted by nginx: an unauthenticated drop-in SQS port for SDK clients plus a per-instance Basic Auth gated management port, so the queue is never left world-open by accident
- Round the clock technical support from cloudimg, with expert help for ElasticMQ deployment, SQS client integration, network isolation and optional persistence configuration
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 |
c5a.12xlarge | c5a.12xlarge instance type | $0.24 |
c5a.16xlarge | c5a.16xlarge instance type | $0.24 |
c5a.24xlarge | c5a.24xlarge instance type | $0.24 |
c5a.2xlarge | c5a.2xlarge instance type | $0.24 |
c5a.4xlarge | c5a.4xlarge instance type | $0.24 |
c5a.8xlarge | c5a.8xlarge instance type | $0.24 |
c5a.large | c5a.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 ElasticMQ 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). ElasticMQ is already running under systemd as elasticmq.service, bound to loopback 127.0.0.1:19324, with nginx fronting it. Read the per-instance admin password with: sudo cat /root/elasticmq-credentials.txt. The SQS drop-in endpoint is served by nginx on port 9324 (unauthenticated - SQS SDK clients sign with SigV4 and cannot send Basic Auth); an authenticated management endpoint is on port 80 behind HTTP Basic Auth (user admin), with an unauthenticated /healthz for probes. The default security group opens only port 22; open ports 80, 443 and 9324 in your security group ONLY as needed and RESTRICT them to your own application CIDR. Point a client at the queue, e.g.: aws --endpoint-url http://<instance-public-ip>:9324 sqs create-queue --queue-name my-queue. Storage is in-memory: queues and messages are lost on service restart or reboot; the guide explains enabling optional persistence.
Resources
Vendor resources
Support
Vendor support
cloudimg Support for ElasticMQ
cloudimg provides 24/7 technical support for this product by email and live chat. Our engineers specialize in ElasticMQ deployment, Amazon SQS client integration, network isolation, TLS termination, and optional persistence configuration.
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
- Pointing aws-cli, boto3 and the AWS SDKs at the ElasticMQ endpoint
- Security group and network isolation guidance for the drop-in SQS port
- Enabling optional file and embedded-database persistence for durable queues
- TLS termination for the management endpoint
- Software updates and patch guidance
- Refund requests and billing questions
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.