Skip to main content

Blueprint: ecs-fargate-rds

Containerised service running behind an Application Load Balancer, backed by a managed PostgreSQL database.

Architecture

Internet


Application Load Balancer (port 80)
│ health checks, target group

ECS Fargate Service ──────────────────────┐
│ auto scaling (CPU & memory) │
│ Container Insights enabled │
▼ │
ECR Repository │
(container images) │

RDS PostgreSQL 16 (private subnet)
(secrets in Secrets Manager)

AWS resources provisioned

ResourceDetails
VPCPublic + Private + Isolated subnets, configurable AZs
ECR RepositoryPrivate image registry
ECS ClusterContainer Insights enabled
Fargate TaskConfigurable CPU / memory
ALBPublic, HTTP listener, health check path
RDS PostgreSQL 16Private subnet, encrypted, automated backups
Secrets ManagerAuto-generated DB credentials
Security GroupsApp → DB only; ALB → App only
Auto ScalingCPU (70%) and memory (80%) target tracking
CloudWatch AlarmsALB 5xx, ECS CPU, RDS CPU

Deploy

idp blueprint deploy ecs-fargate-rds \
--name my-app \
--env dev \
--region us-east-1

Context parameters

ParameterDefaultDescription
serviceName✅ requiredService name prefix
env✅ requireddev / staging / production
region✅ requiredAWS region
containerPort8000Application port inside container
containerCpu512Fargate task CPU units
containerMemoryMb1024Fargate task memory (MB)
desiredCount2Initial task count
minCapacity1Auto scaling minimum
maxCapacity10Auto scaling maximum
dbNameappdbPostgreSQL database name
dbInstanceClasst4g.smallRDS instance class
dbAllocatedStorageGb20Initial storage (GB)
dbMaxAllocatedStorageGb100Max auto-scaled storage (GB)
ecrImageTaglatestImage tag to deploy
healthCheckPath/api/v1/healthALB + container health check path

Outputs

OutputDescription
AlbDnsNameLoad balancer DNS name
EcrRepoUriECR repository URI for pushing images
DbEndpointRDS endpoint address
DbSecretArnSecrets Manager ARN for DB credentials

Production vs dev differences

SettingDevProduction
VPC AZs23
NAT Gateways12
RDS Multi-AZNoYes
RDS backup retention1 day7 days
RDS deletion protectionNoYes
ECR removal policyDESTROYRETAIN