Trigger: Something happens in AWS (e.g. a file is uploaded to S3).

Client uploads file to S3
|
S3 sends event to EventBridge
|
EventBridge rule: "on S3 upload --> run ECS Task"
|
ECS spins up a new Fargate task
|
Task reads file from S3 --> processes it --> saves result to DynamoDB
|
Task finishes and stops automatically
Key points:
Trigger: A fixed time interval — no human action needed.

EventBridge Schedule: every 1 hour
|
Rule: Run ECS Task
|
ECS spins up a new Fargate task
|
Task does batch processing --> saves results to S3
|
Task finishes and stops automatically
Key points:
| EventBridge Event | EventBridge Schedule | |
|---|---|---|
| Trigger | Something happens (S3 upload, state change) | Fixed time (every 1 hour, every day at 9 AM) |
| Use case | React to events | Scheduled batch jobs |
Trigger: Number of messages waiting in an SQS queue.

Messages arrive in SQS Queue
|
ECS tasks poll the queue for messages
|
Queue backlog builds up
|
CloudWatch monitors SQS queue depth metric
|
ECS Auto Scaling adds more tasks
|
More tasks = more consumers = queue drains faster
|
Queue empties --> Auto Scaling removes extra tasks
Key points: