Overview
This AMI runs Prefect, a self-hosted workflow orchestration server, on Ubuntu 24.04 LTS. Schedule and run data pipelines and automations, watch flow runs and their logs in the dashboard, and point your own Prefect workers or scripts at the server to report their work. Flow, deployment and run metadata is stored in PostgreSQL. The container image is pinned to version 3.9.2 and baked into the AMI, so first start does not depend on a registry.
What Perimattic adds
Prefect's self-hosted server has no login of its own: every page and API call would otherwise be open to anyone who can reach it. During first-login setup a random 24-character password is generated on your server and written into an HTTP Basic authentication login file, and Apache is configured to require it for the whole site, UI and API alike; only the health-check address stays public, for load balancers and monitoring. Setup proves the server is healthy and that a flow can be created directly, then checks are run through the published domain to confirm anonymous requests and wrong or blank passwords are refused and that the login works.
HTTPS: Apache is configured as a reverse proxy, including the websocket connections the dashboard and log streaming need, and a free Let's Encrypt certificate is requested for your domain with certbot.
Pinned and tested: the application version is fixed, not 'latest', so a rebuild never changes the server behind your back. Patched base: Ubuntu 24.04 LTS built through an automated EC2 Image Builder pipeline, with security updates applied at build time.
What you should know
Prefect itself used well under 250 MB of memory in our tests, so a modest instance is enough; see the recommended size below. Usage telemetry and Prefect's own CSRF protection (designed for browser sessions, not for scripted clients) are both switched off, since Apache Basic authentication is the real access control here. No workers, work pools or automations are pre-configured; set them up yourself from the UI or CLI once you are signed in.
Licence and attribution
Built on the open-source Prefect (Apache-2.0 licence), unmodified. Not affiliated with, endorsed by, or sponsored by Prefect Technologies; Prefect is a trademark of its respective owner.
Getting Started Launch the AMI and open ports 22, 80 and 443 in the security group SSH in and answer the setup prompts (domain and admin email) Open https://your-domain/ and sign in with the username and password printed at the end of setup Point the Prefect client at the server (export PREFECT_API_URL with the login) and run your first flow
A domain name with an A record pointing at the instance is required, because the site is served over HTTPS.
This AMI is built and supported by Perimattic.
Book a free setup consultation at https://cal.com/gaurav-pareek-perimattic/marketplace-setup-consultations or email us at aws-support@perimattic.com .
Support Managed and supported by Perimattic, a cloud infrastructure company with 13+ years of experience serving global clients. We offer free setup assistance, custom integrations, infrastructure consulting, and 24/7 support.
Highlights
- Prefect 3.9.2 (Apache-2.0) pinned and pre-installed: workflow orchestration with a dashboard, API and a Postgres backend.
- Secure first login: Prefect has no login of its own, so a random 24-character password gates the whole site (UI and API) at the Apache layer; anonymous access and wrong or blank passwords are refused. HTTPS through Apache and Let's Encrypt, with websocket support for the dashboard.
- Built on patched Ubuntu 24.04 LTS and supported by Perimattic: free setup assistance at aws-support@perimattic.com.
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
- ...
Dimension | Cost/hour |
|---|---|
t3.medium Recommended | $0.03 |
t3.micro | $0.03 |
c3.2xlarge | $0.03 |
c3.4xlarge | $0.03 |
c3.8xlarge | $0.03 |
c3.large | $0.03 |
c3.xlarge | $0.03 |
c4.2xlarge | $0.03 |
c4.4xlarge | $0.03 |
c4.8xlarge | $0.03 |
Vendor refund policy
For any questions or concerns, please contact: Perimattic.com Email: aws-support@perimattic.com
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.
- Application: Prefect 3.9.2 (container image pinned, baked into the AMI).
- Base: Ubuntu 24.04 LTS, fully patched at build time, built by an automated EC2 Image Builder pipeline.
- TLS: Apache reverse proxy with a Let's Encrypt certificate requested by certbot at first login.
- Credentials are generated on the instance at first login; none are present in the image.
- Prefect has no login of its own: a random 24-character password generated at first login gates the whole site through an Apache Basic-auth login file (only the health check stays public); setup verifies the login works and that anonymous access and wrong or blank passwords are refused through the published domain before relying on it.
- Prefect 3.9.2 (Apache-2.0, unmodified vendor image) listens on the loopback interface; usage telemetry and Prefect's own browser-session CSRF protection are both switched off since Apache Basic auth is the real access control.
- Prefect used under 250 MB of memory in testing; a t3.small or larger instance is recommended.
Additional details
Usage instructions
-
Launch an Instance
From AWS Marketplace, click Continue to Subscribe and then Continue to Configuration to launch the AMI.
-
Choose the Recommended Instance Type
t3.small (2 GB of memory) is the recommended size: Prefect itself used well under 250 MB in our tests; the rest is the operating system, Docker, PostgreSQL and Apache.
-
Configure Security Group
Allow inbound traffic on the following ports:
- 22 (SSH) - terminal access for setup
- 80 (HTTP) - needed to validate your domain for the TLS certificate
- 443 (HTTPS) - access to Prefect
-
Point a domain at the instance
Create a DNS A record (for example orchestration.example.com) pointing to the instance's public IP before you log in.
-
Connect to the Instance
ssh -i <your-key.pem> ubuntu@<public-ip>
-
First-Login Setup
The first SSH login runs a guided setup:
- Prompts for your domain and admin email and checks the DNS A record
- Generates a random 24-character password on your server and writes it into an Apache Basic-auth login file
- Starts PostgreSQL and the Prefect server, checks the server is healthy and that a flow can be created directly, then after Apache is published checks that the login works through the domain and that anonymous requests and wrong or blank passwords are refused
- Configures Apache as an HTTPS reverse proxy (with websocket support) and requests a Let's Encrypt certificate
- Prints the URL, username and password; they are also stored in /opt/app/access.txt (root only)
If a step fails, fix the problem shown and log in again: the setup resumes where it stopped.
-
Access Prefect
Open https://<your-domain>/ and sign in with the username and password printed at the end of setup (view them again with: sudo cat /opt/app/access.txt). To use the Prefect client or API from a script, set PREFECT_API_URL to https://<your-domain>/api with the login embedded or sent as a Basic auth header.
-
Credentials
Generated on your server, never shared between customers. View them again with:
sudo cat /opt/app/access.txt
-
Manage the Services
cd /opt/app sudo docker compose ps sudo docker compose restart
Flow, deployment and run metadata is in PostgreSQL under /opt/app/postgres, reachable only from the Prefect container, on the root volume with no size limit; watch disk usage. Back up or snapshot /opt/app (stop the stack first for a consistent copy).
Thank you for subscribing.
Need Support or Customization? Perimattic's team can help with setup issues, custom features and integrations:
Email us: aws-support@perimattic.com WhatsApp: +91-92142 66896 Learn more: <www.perimattic.com >
We offer free setup assistance, custom development and integrations, and infrastructure consulting.
Resources
Vendor resources
Support
Vendor support
Support by Perimattic
Perimattic provides 24/7 support for all AWS Marketplace products. Our team has 13+ years of cloud infrastructure expertise serving global clients.
Contact Channels: Email: aws-support@perimattic.com WhatsApp: +91-92142 66896 Website: <www.perimattic.com >
What We Help With: Initial setup and configuration assistance (free) Troubleshooting connectivity, performance, and backup issues Custom development and integrations Infrastructure consulting and architecture review Migration planning from other solutions Automation solutions and scaling guidance
Instance Sizing Guidance: t2.medium or t3.medium: Development environments, small applications m5.large: Production workloads with moderate traffic m5.xlarge: High-traffic production deployments and larger datasets
For workload-specific sizing recommendations, contact our team for a free consultation.
Refunds and Issues: If you experience any issues or need to request a refund, contact us at aws-support@perimattic.com and we 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.