Skip to content
ELK Stack with Elasticsearch product logo
  • AWSAvailable on Amazon Web Services
  • AzureAvailable on Microsoft Azure
  • GCP· nextGoogle Cloud is next on the roadmap
Available

ELK Stack with Elasticsearch

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
Email support

What's installed

Every package and version on the image, identical on every cloud it ships on. 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)

LicensingElastic License 2.0 (free tier), no licence key required

Deploy anywhere

ELK Stack with Elasticsearch on AWS and Azure.

Google Cloud is 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
    Available

    Amazon Web Services

    AMI · v9.5.3

    AWS AMI ID

    Shown for your region on the AWS Marketplace launch page once you subscribe.

    Released
    Root volume
    gp3 · 15 GiB
    Instance types
    • t3a.large
    • t3.large
    • t3a.xlarge
    • m6a.xlarge
    Regions34 regions· show all
    • us-east-1
    • af-south-1
    • ap-east-1
    • ap-east-2
    • ap-northeast-1
    • ap-northeast-2
    • ap-northeast-3
    • ap-south-1
    • ap-south-2
    • ap-southeast-1
    • ap-southeast-2
    • ap-southeast-3
    • ap-southeast-4
    • ap-southeast-5
    • ap-southeast-6
    • ap-southeast-7
    • ca-central-1
    • ca-west-1
    • eu-central-1
    • eu-central-2
    • eu-north-1
    • eu-south-1
    • eu-south-2
    • eu-west-1
    • eu-west-2
    • eu-west-3
    • il-central-1
    • me-central-1
    • me-south-1
    • mx-central-1
    • sa-east-1
    • us-east-2
    • us-west-1
    • us-west-2

    5-day free trial, then from $0.04/hr software charge (larger instance sizes cost more) plus your own EC2 costs, billed by AWS.

    Subscriptions are open to AWS India (AISPL) accounts. Outside India? Ask us for a private build.

  2. Azure
    Available

    Microsoft Azure

    Compute Gallery image · v9.5.4

    Azure Compute Gallery image ID

    Selected for you when you create the VM from the Azure Marketplace listing.

    Released
    OS disk
    Premium_LRS · 30 GiB
    VM sizes
    • Standard_D2as_v7
    • Standard_D2as_v5
    • Standard_B2ms
    • Standard_D4as_v7
    Regions50 regions· show all
    • eastus
    • australiacentral
    • australiaeast
    • australiasoutheast
    • austriaeast
    • belgiumcentral
    • brazilsouth
    • canadacentral
    • canadaeast
    • centralindia
    • centralus
    • chilecentral
    • denmarkeast
    • eastasia
    • eastus2
    • francecentral
    • germanywestcentral
    • indiasouthcentral
    • indonesiacentral
    • israelcentral
    • italynorth
    • japaneast
    • japanwest
    • jioindiawest
    • koreacentral
    • koreasouth
    • malaysiawest
    • mexicocentral
    • newzealandnorth
    • northcentralus
    • northeurope
    • norwayeast
    • polandcentral
    • qatarcentral
    • southafricanorth
    • southcentralus
    • southeastasia
    • southindia
    • spaincentral
    • swedencentral
    • switzerlandnorth
    • uaenorth
    • uksouth
    • ukwest
    • westcentralus
    • westeurope
    • westindia
    • westus
    • westus2
    • westus3
AWS

Getting started on Amazon Web Services

From launch to signed in, step by step.

  1. Subscribe on AWS Marketplace and launch in your region 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 AWS 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.

Azure

Getting started on Microsoft Azure

From launch to signed in, step by step.

  1. Create the VM from the Azure Marketplace listing with TCP 22, 80, 5044 and 8000 open in your network security group. Choose ubuntu as the administrator username so SSH and the script paths match. Wait a few minutes for first boot.

  2. Open http://<vm-public-ip>/ and sign in with the username KibanaAdmin. Allow several minutes after the VM starts for Elasticsearch to reach a green cluster state.

  3. Ship logs to Logstash from other hosts on port 5044. Webmin: port 8000 (username admin).

  4. SSH as ubuntu with your key. Check the stack with sudo bash ~/iscripts/elk_status.sh and change passwords with pass_kibana.sh or pass_webmin.sh.

  5. The password for each console is your VM ID. Your VM ID is in the Azure portal: open the virtual machine, choose Properties and copy VM ID - a 36-character value such as 02aab8a4-74ef-476e-8182-f6d2ba4166a6, typed exactly as shown in lower case. Every deployment derives its own passwords from that value on first boot, so no two virtual machines share a credential.

Security posture

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

  • Clean-room build on Canonical's official Ubuntu 24.04 LTS image from the Azure Marketplace: every component comes from its own official source and the image was scanned for third-party vendor strings before capture.

  • Nothing guessable ships in the image - the pre-image cleanup randomises every credential the build set and proves the build's own password no longer authenticates; first boot then sets each password from the new VM's own vmId read from Azure IMDS, and regenerates the per-instance secrets so no encryption key is shared between deployments.

  • The ubuntu login account ships password-locked with an empty authorized_keys, and cloud-init installs your own SSH key at deploy time.

  • Elasticsearch (9200) and Kibana (5601) listen on localhost only and are reached through the nginx proxy; Kibana's encryption keys are regenerated per instance.

  • A fresh deployment was confirmed to reach cluster status green before the image was accepted.

  • Verified against Microsoft's documented Linux certification test cases on a VM deployed from this exact gallery version - 13 passed, 0 failures - with VM extension provisioning confirmed and the customer sign-in path exercised end to end.

  • The bundled password tools require 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.