Ea

ElasticMQ - Amazon SQS-Compatible Message Queue

AWS Streaming & Messaging

a self-hosted, Amazon SQS-compatible message queue for local development, CI and testing

Base
Hardened build
minimal ports, security patches applied at build time
Access
Unique credentials
generated on first boot, readable only by root
Verified
Boots working
services pass a health gate before release
Support
24/7, 365 days
by email and live chat, 24 hour response SLA

Overview

ElasticMQ is an open source message queue that speaks the Amazon SQS REST API. Point aws-cli, boto3 or any AWS SDK at it with a single endpoint override and you get a local, self-hosted SQS with 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.

Why the cloudimg image

The cloudimg image ships ElasticMQ hardened for AWS: the queue engine is bound to loopback and fronted by nginx, exposing an unauthenticated drop-in SQS port for SDK clients and a per-instance Basic Auth gated management port, so the queue is never left world-open by accident. A per-instance admin password is generated on first boot, the Apache 2.0 licence is baked in, and every image is backed by 24/7 cloudimg support.

Common uses

  • Run SQS-dependent test suites against a local endpoint with zero AWS cost and full offline reproducibility
  • Give every developer a private SQS-compatible queue without provisioning real AWS queues per person
  • Provide a lightweight, dependency-free SQS API for demos and air-gapped queueing

Key features

  • 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

Description

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.

Related technologies

elasticmqsqsmessage queueamazon sqs compatiblemessaginglocal developmentci testing