Skip to content
ELK Stack - Elasticsearch, Logstash and Kibana product logo
  • AWS· soonComing soon on Amazon Web Services
  • Azure· nextMicrosoft Azure is next on the roadmap
  • GCP· nextGoogle Cloud is next on the roadmap
Coming soon

ELK Stack - Elasticsearch, Logstash and Kibana

The complete Elastic stack - Elasticsearch, Logstash and Kibana 9.5.3 - behind an authenticated nginx proxy, with Webmin for server administration. Ship logs from any host over Beats on port 5044 and search them in Kibana within minutes. Everything internal is loopback-only, every launch gets its own encryption keys and passwords, and a small service keeps Kibana's public URL correct if your IP changes.

Version
v9.5.3
Operating system
Ubuntu 24.04 LTS
Architecture
x86_64
Support
Community

What's installed

Every package and version on the image. Nothing else is installed.

  • Elasticsearch 9.5.3
  • Logstash 9.5.3
  • Kibana 9.5.3
  • nginx 1.24.0
  • Webmin 2.660
  • OpenJDK 26.0.2 (bundled)

Licensing Elastic License 2.0 (free tier), no licence key required

Deploy anywhere

ELK Stack - Elasticsearch, Logstash and Kibana on AWS.

Microsoft Azure and Google Cloud are next on the roadmap. One clean-room build, one first-boot credential model, one patch cadence — identical on every cloud you run. Every identifier below is the real one; copy it and launch.

  1. AWS

    Amazon Web Services

    AMI · v9.5.3

    Coming soon

    AWS AMI ID

    ami-0be76a53da36d277c
    Released
    September 6, 2026
    Root volume
    gp3 · 15 GiB

    Instance types

    • t3a.large
    • t3.large
    • t3a.xlarge
    • m6a.xlarge

    Regions

    • us-east-1

Getting started

From launch to signed in, step by step.

  1. Launch the AMI in us-east-1 with TCP ports 22, 80, 5044 and 8000 open in your security group, then allow five to ten minutes for the JVMs to start.

  2. Open http://<instance-public-ip>/ and sign in to Kibana with username KibanaAdmin and your EC2 Instance ID as the password, exactly as the console shows it (for example i-0123456789abcdef0).

  3. Webmin is at http://<instance-public-ip>:8000 with username admin and the same password.

  4. To ship logs, point Filebeat or Metricbeat on another host at <instance-public-ip>:5044, open port 5044 to that host, and create a data view in Kibana under Stack Management.

  5. SSH as ubuntu with your key pair. Change passwords with sudo bash /home/ubuntu/iscripts/pass_kibana.sh or pass_webmin.sh; elk_status.sh prints a health report.

  6. Sized for 4 GB and up (2 GB Elasticsearch heap). Use t3a.large or larger with a bigger data volume for production log volumes.

Security posture

What this image does and does not ship with, one fact per line.

  • Clean-room build on Canonical's official Ubuntu 24.04 LTS image: every component comes from its own official repository or release, nothing is copied from any third-party image, and the finished image was scanned for third-party vendor strings before capture.

  • No usable credential ships in the image; passwords are set on your instance at first boot from EC2 instance metadata (IMDSv2) and the scripts that set them delete themselves afterwards.

  • SSH is key-only, root login over SSH is refused, and build-time SSH keys, shell history and logs were removed before imaging.

  • Authentication for the whole appliance is enforced once, at the nginx edge, with HTTP Basic credentials before any Kibana content is served; Elasticsearch (9200/9300), Kibana (5601) and the Logstash API (9600) are bound to 127.0.0.1 and are never reachable from outside the instance.

  • All three Kibana encryption keys are regenerated per instance so no two customers share the keys protecting saved objects, reporting and sessions.

  • Port 5044 is intentionally open for Beats shippers - scope it to the hosts that need it.

  • The bundled password tools enforce at least 10 characters with upper- and lower-case letters, a number and a symbol, and verify the new credential with a real sign-in before reporting success.

  • The image is HTTP-only by design so it works at a bare IP with no certificate warnings: terminate TLS at a load balancer or add a certificate before exposing it publicly, and restrict port 22 and any admin ports to trusted IP ranges in your security group.