Step-by-step Guide
Install tools
- Install Docker Desktop
- Install uv (Python package manager)
- Install and configure the AWS CLI
Test locally (optional)
Deploy to AWS
- Docker image pushed to ECR
- RDS PostgreSQL instance
- ECS Cluster, Service, and Task Definition
- Application Load Balancer with Target Group
Get your endpoint
Find your Load Balancer DNS in the AWS Console (EC2 → Load Balancers). Navigate to
https://<load-balancer-dns>/docs to see your AgentOS API.Connect your AgentOS to the control plane
- Open os.agno.com
- Click “Connect OS” and select “Live”
- Enter your Load Balancer DNS as the endpoint

Tips
Update deployment: After making changes to your agents:ag infra up prd:aws command provisions:
- ECR: Container registry for your Docker image
- ECS Fargate: Serverless container hosting
- RDS PostgreSQL: Managed database with pgvector
- Application Load Balancer: HTTPS endpoint
- AWS Secrets Manager: Secure credential storage
- Security Groups: Network access controls
- ECS Fargate: $30-50
- RDS db.t3.micro: $15-20
- Load Balancer: $20-25
Troubleshooting
RDS not accessible
RDS not accessible
The RDS instance takes about 5 minutes to provision. Check status in the AWS Console (RDS → Databases).
ECS task failing
ECS task failing
View task logs in CloudWatch. Common issues: missing environment variables, incorrect database connection string.
Load Balancer returns 503
Load Balancer returns 503
The ECS service may still be starting. Wait 2-3 minutes for health checks to pass.