AWS
AWS Marketplace Installation Guide
This document walks you through deploying the Dynamiq GenAI Operating Platform into your own AWS VPC from an AWS Marketplace subscription. It is aimed at DevOps engineers, SREs, software engineers, and data‑science practitioners who are comfortable with the AWS CLI and Kubernetes tooling.
Table of Contents
Prerequisites
AWS account with Administrator‑level access (or the specific permissions listed below).
AWS CLI ≥ 2.15, kubectl ≥ 1.31, eksctl ≥ 0.175, Helm ≥ 3.14, jq, and envsubst installed locally.
Public or private domain name (e.g.
example.com) that you control and are able to delegate to Route 53.At least one VPC quota slot for a new EKS cluster (eksctl will create the VPC by default).
Service quotas for the EC2 instance families you plan to use (
m5for platform nodes,g5for GPU nodes).
The acting IAM principal must be allowed to manage EKS, CloudFormation, IAM, RDS, Secrets Manager, S3, STS, and associated resources. For production we recommend deploying from a short‑lived CI user or assume‑role with the following AWS managed policies attached:
AmazonEKSClusterPolicyAmazonEKSServicePolicyAmazonEKSWorkerNodePolicyAmazonEC2ContainerRegistryPowerUserAmazonRDSFullAccessAWSCloudFormationFullAccessIAMFullAccessSecretsManagerReadWriteAmazonS3FullAccess
Subscribe on AWS Marketplace
Open the Dynamiq GenAI Operating Platform listing in your browser.
Click Continue to Subscribe → Accept terms.
Wait until the subscription status shows Subscribed.
No additional Marketplace configuration is required; the Helm chart (deployed later) records usage automatically.
Set your environment variables
Edit only the three highlighted variables, then copy‑paste the whole block:
**Tip **Add
set -euo pipefailto abort on errors; all commands below are idempotent unless otherwise noted.
Create the prerequisite IAM roles
The CloudFormation template bundled with Dynamiq creates the minimal IAM roles and policies required by Karpenter and External Secrets.
Wait until the stack status reads CREATE_COMPLETE (≈ 1–2 minutes).
Provision the EKS cluster
Paste the snippet below as‑is; envsubst injects your variables inline:
When the command completes you will have:
An EKS cluster with one m5.large node.
OIDC provider enabled for IAM Roles for Service Accounts (IRSA).
Retrieve a few handy values:
Create the RDS database
Dynamiq stores structured metadata in PostgreSQL. A convenience CloudFormation stack provisions a single‐AZ db.t3.medium instance with encrypted storage.
Security note Store
RDS_PASSWORDsecurely (e.g. in AWS Secrets Manager) after creation.
Install Karpenter
Create the node pools
The following manifests declare two node pools:
Platform (m5) for web/API workloads.
GPU (g5) for model inference.
Install External Secrets & supporting add‑ons
Create a ClusterSecretStore pointing External Secrets to Secrets Manager:
Store Dynamiq secrets
Update the placeholders before running:
Create the Dynamiq service account
Prepare the S3 bucket and Helm values
Create a local.values.yaml file with domain overrides:
Authenticate to ECR and deploy Dynamiq
Validate the deployment
Create A or CNAME records for the three hostnames (nexus, ui) in Route 53 pointing to the Load Balancer address shown in the ADDRESS column. Once DNS propagates you should be able to visit:
https://app.${BASE_DOMAIN}— Dynamiq web consolehttps://api.${BASE_DOMAIN}— Dynamiq API
Cleanup (optional)
The following commands remove all resources created by this guide. Irreversible!
Next Steps
Enable HTTPS by attaching an AWS Certificate Manager (ACM) certificate to the ALB Ingress Controller or by terminating TLS at an external load balancer.
Adjust Karpenter NodePool limits to meet your workload demands.
Integrate with your observability stack (Dynatrace, Datadog, CloudWatch) using Helm
--setoverrides.
Enjoy building with Dynamiq! ✨
Last updated