Overview
This is a repackaged software product wherein additional charges apply for hardening, security configuration, and support.
WHAT IS KESTRA
Kestra is an open-source, event-driven workflow orchestration and scheduling platform built on the Java Virtual Machine (Eclipse Temurin 21) with a JDBC-backed Postgres state store. Workflows are authored as declarative YAML "flows" with a 600+ plugin catalog covering S3, GCS, Azure Blob, BigQuery, Snowflake, dbt, Airbyte, Kubernetes, Slack, GitHub, Postgres, MySQL, and dozens more. Core features include scheduled and event-driven triggers, dynamic tasks, namespaces with isolated secrets, a visual flow editor with execution graph and Gantt views, runtime expressions via the Pebble template engine, retries with backoff, conditional and parallel branching, and a REST API for headless control. Persists flow definitions, execution history, queue state, and blob metadata in PostgreSQL. Apache-2.0 license, no vendor lock-in. Positioned as a self-hosted alternative to Airflow, Prefect Cloud, and Temporal Cloud - the entire orchestration plane (scheduler, executor, UI, queue, history) runs in your own AWS account; no executions, no secrets, and no metadata leave your VPC.
WHAT THIS AMI ADDS
Security hardening:
- Per-instance Kestra admin credential with a policy-compliant random password generated at first launch - never baked into the AMI
- Kestra REST API and UI bound to 127.0.0.1:8080 - reachable only through the nginx reverse proxy with TLS
- PostgreSQL 16 reachable only on the Docker bridge network (no host-port published) - database password generated per instance, the upstream demo password k3str4 never ships in this AMI
- Nginx reverse proxy with TLS termination, WebSocket support for live execution log streaming, HTTP-to-HTTPS redirect, security headers (X-Content-Type-Options, X-Frame-Options, Referrer-Policy)
- UFW firewall pre-configured - only TCP 22, 80, 443 are exposed
- fail2ban, AppArmor
- CVE scan - every image is scanned for vulnerabilities before release
OS hardening (CIS Level 1):
- CIS Ubuntu 24.04 LTS Level 1 benchmark applied via ansible-lockdown
- auditd, SSH hardening, kernel hardening, IMDSv2 enforced
Compliance artifacts:
- SBOM - CycloneDX 1.6 at /etc/lynxroute/sbom.json
- CIS Conformance Report at /etc/lynxroute/cis-report.html
- CIS Tailored Profile at /usr/share/doc/lynxroute/CIS_TAILORED_PROFILE.md
Highlights
- Kestra security baked in: per-instance admin credential with a policy-compliant random password generated at first launch, Kestra API and UI bound to 127.0.0.1 and reachable only through nginx with TLS, Postgres reachable only on the Docker bridge with a rotated password - unlike bare Kestra AMIs that ship without any admin credentials configured (so the API rejects every request, including the owner's) and embed the upstream demo Postgres password in the image.
- CIS Level 1 hardened Ubuntu 24.04 LTS: auditd, fail2ban, AppArmor, SSH key-only, IMDSv2 enforced. CVE-scanned before every release. SBOM (CycloneDX) and CIS Conformance Report included.
- Workflow orchestration: declarative YAML flows, 600+ plugins (S3, BigQuery, dbt, Airbyte, Kubernetes, Slack, Postgres), event-driven and scheduled triggers, namespaces with isolated secrets, visual flow editor with execution graph. Apache-2.0 license - fully auditable, no vendor lock-in, ever.
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 | Cost/hour |
|---|---|
m6i.large Recommended | $0.03 |
t3.large | $0.03 |
m6i.xlarge | $0.05 |
m6i.2xlarge | $0.07 |
Vendor refund policy
We do not offer refunds for this product. AWS infrastructure charges (EC2, EBS, data transfer) are billed separately by AWS and are not refundable by us.
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
Version 1.3.16 - Initial release (May 2026)
- Kestra 1.3.16 on Ubuntu 24.04 LTS (docker-compose stack: kestra/kestra + postgres:16-alpine)
- CIS Level 1 hardening applied (ansible-lockdown/UBUNTU24-CIS)
- CVE-scanned before every release
- Per-instance Kestra admin credential with a policy-compliant random password generated at first launch
- Kestra REST API and UI bound to 127.0.0.1:8080 - reachable only through nginx with TLS
- PostgreSQL 16 reachable only on the Docker bridge with per-instance generated password
- Nginx reverse proxy with TLS termination, WebSocket support for live execution log streaming
- UFW firewall pre-configured (TCP 22, 80, 443 only)
- fail2ban, auditd, AppArmor pre-configured
- SBOM (CycloneDX 1.6) at /etc/lynxroute/sbom.json
- CIS Conformance Report (OpenSCAP) at /etc/lynxroute/cis-report.html
- IMDSv2 enforced
Additional details
Usage instructions
- Launch instance (m6i.large recommended; t3.large minimum)
- Open Security Group - allow TCP 443 from your IP
- SSH: ssh -i key.pem ubuntu@<PUBLIC_IP>
- Read credentials: sudo cat /root/kestra-credentials.txt
- Open https://<PUBLIC_IP>/ in your browser - accept the self-signed certificate warning
- Log in with the username and password from the credentials file
- UI -> Settings -> Users -> change BOTH the email and the password to your own (the bootstrap email is a per-instance .local pseudo-address)
- Create your first flow: UI -> Flows -> Create
First boot takes 60-120 seconds (JVM warm-up + Postgres migrations + plugin index registration). Until ready, https://<PUBLIC_IP>/ returns a Lynxroute loading splash that auto-refreshes. Credentials are saved to /root/kestra-credentials.txt at first boot (root-only, mode 600). Replace the self-signed TLS certificate with a CA-signed certificate (e.g. Let's Encrypt via Certbot) for production use.
Resources
Vendor resources
Support
Vendor support
Visit us online: https://lynxroute.com
For Kestra documentation: https://kestra.io/docs For Kestra upstream issues:
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.