AWS Deployment Guide
Prerequisites
- Terraform >= 1.0
- AWS CLI configured with appropriate permissions
- S3 bucket for Terraform state
- Route53 hosted zone (for SSL/domain)
- AWS Bedrock models enabled in your AWS account
IMPORTANT: Before deploying, you must enable the models you plan to use:
- Go to AWS Console -> Bedrock -> Model access
- Click βManage model accessβ
- Select and request access for desired models
- Wait for approval (usually immediate for most models)
Quick Start
- Initialize deployment:
cp aws/terraform.tfvars.template aws/terraform.tfvars cp aws/backend.hcl.example aws/backend.hcl # Edit both files with your configuration
- Deploy infrastructure:
make aws-init make aws-plan make aws-apply
Troubleshooting
Infrastructure Deployment
- Terraform State Issues
# Check state
terraform -chdir=aws state list
# Refresh state
terraform -chdir=aws refresh
- Resource Creation Failures
# Get detailed error output
TF_LOG=DEBUG terraform -chdir=aws apply
# Check AWS CloudTrail for API errors
aws cloudtrail lookup-events --lookup-attributes AttributeKey=EventName,AttributeValue=CreateStack
ECS Services
- Task Definition Issues
# List task definitions
aws ecs list-task-definitions
# Describe specific task
aws ecs describe-task-definition --task-definition horizons-compute-webui
- Service Health
# Check service status
aws ecs describe-services --cluster horizons-compute-fargate --services horizons-compute-webui | grep -e status -e failures
- Container Logs
# Get log streams
aws logs describe-log-streams --log-group-name /ecs/horizons/webui
# View logs
aws logs get-log-events --log-group-name /ecs/horizons/webui --log-stream-name $STREAM_NAME
Network Issues
- VPC Configuration
# Check VPC endpoints
aws ec2 describe-vpc-endpoints --filters Name=vpc-id,Values=vpc-XXXXX
# Verify security groups
aws ec2 describe-security-groups --filters Name=group-name,Values=horizons-*
- Load Balancer
# Check target health
aws elbv2 describe-target-health --target-group-arn $TARGET_GROUP_ARN
Authentication
- Cognito Issues
# List user pools
aws cognito-idp list-user-pools --max-results 20
# Check user pool status
aws cognito-idp describe-user-pool --user-pool-id $POOL_ID
- SSL Certificate
# Verify certificate
aws acm describe-certificate --certificate-arn $CERT_ARN
Database
- RDS Connectivity
# Check RDS status
aws rds describe-db-instances --db-instance-identifier horizons-persistence-db
- Performance Issues
# View slow query logs
aws rds download-db-log-file-portion --db-instance-identifier horizons-persistence-db --log-file-name error/postgresql.log.YYYY-MM-DD-HH
Maintenance
Backup and Recovery
- Database Backups
# Create snapshot
aws rds create-db-snapshot --db-instance-identifier horizons-persistence-db --db-snapshot-identifier your-backup
# List snapshots
aws rds describe-db-snapshots --db-instance-identifier horizons-persistence-db
- EFS Backups
# Create EFS backup
aws backup start-backup-job --backup-vault-name horizons-backup --resource-arn $EFS_ARN
Updates and Upgrades
- Container Images
# Update task definitions
aws ecs update-service --cluster horizons-compute-fargate --service horizons-compute-webui --force-new-deployment
- Infrastructure Updates
# Apply Terraform changes
make aws-plan
make aws-apply
Monitoring
- CloudWatch Dashboards
# View metrics
aws cloudwatch get-dashboard --dashboard-name horizons-monitoring
Getting Help
- Check AWS ECS Documentation
- Check AWS Bedrock Documentation
- Review Terraform AWS Provider
- Join our Community Discussion
Horizons OmniChat by evereven