ALB → ECS — requestを
Healthyなtaskまで届ける
ALBは受け付け、target groupはtask IPを管理し、ECS serviceが動的な登録を維持します。三者を分けるとrequest経路が見通せます。
TL;DR
- ALB listenerは条件に合うrequestだけをtarget groupへ送る
- ECS serviceがtask IPをtarget groupへ自動登録する
- health checkとSecurity Groupで正常な経路だけを通す
01ALBはHTTPSの受付と振り分け担当
ALBのlistener ruleはhostやpathの条件でtarget groupを選びます。API用ruleだけを転送し、default actionは403にすると、IP直打ちなど意図しないHostのrequestを転送しません。

02target groupは変動するtask IPの名簿
Fargate taskは起動・更新・scaleでIPが変わります。target groupはそのIPを管理する台帳で、ECS serviceがtaskの起動時に登録し、停止時に外します。Fargateではtarget typeはipです。

| コンポーネント | 責務 |
|---|---|
| ALB | HTTPSを受け、listener ruleで転送する |
| target group | 配信可能なtask IPを保持しhealth checkする |
| ECS service | desired countを維持し、targetを同期する |
03Healthyな経路だけが200に届く
Security GroupはALBからECS taskの8080番へ必要な通信だけを許可します。target groupのhealth checkは異常taskを外します。両方がそろって、custom domainの/api/healthが200を返せます。

結論
- ALB、target group、ECS serviceには別々の責務がある。
- default 403、host rule、health checkで入口と配信先を絞る。
- targetがHealthyでcustom domainのhealth APIが200なら経路は完成する。