003 - elastic-container-registry = Before we can deploy any containers, we need somewhere to store their images. Those images need to be available all the time because containers are regularly replaced and may need to pull a fresh copy of the software.
009 - application-load-balancer = A load balancer sits in front of our service and distributes incoming traffic across your task(s). It handles things like health checks, SSL termination, and routing traffic to healthy containers. We’ll place the load balancer in public subnets so it can receive traffic from the internet.
010 - ecs-target-groups = A target group tells the load balancer where to send traffic. It defines:
Protocol and port: What protocol (HTTP/HTTPS) and which port your tasks are listening on
Health checks: How the load balancer determines if a target is healthy
Target type: Whether targets are IP addresses (for Fargate) or instance IDs (for EC2)