Step-by-step Guide
1
Install tools
- Install Docker Desktop
- Install uv (Python package manager)
- Install and configure the AWS CLI
2
Create and activate a virtual environment
3
Install Agno
4
Create your codebase
5
Set your API key
6
Configure AWS settings
Update
infra/settings.py with your AWS configuration:7
Test locally (optional)
8
Deploy to AWS
- Docker image pushed to ECR
- RDS PostgreSQL instance
- ECS Cluster, Service, and Task Definition
- Application Load Balancer with Target Group
9
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.10
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.