Day 25 ECS Rolling Deployment
ECS 預設的 deployment 方式是 Rolling Update,中文稱為「滾動式更新」,是不斷將現有 container 替換成新版本 container 的機制。這個機制可以做到 zero downtime 的 deployment。
Rolling Update 需要 Load Balancer 做流量的切換:開啟新的 container 後要把流量導到新的 container,停止送 request 給舊 container 並等舊 container 消化完正在處理的 request。
等舊 container 消化 request 的過程稱為 draining(排水),draining 的時間可以在 ALB 的 target group 設定,具體要設定多少則要看實際 request 的最大時間多長。
在 rolling update 中,有兩個 ECS service 參數會影響 deployment 的過程:minimumHealthyPercent 以及 maximumPercent 。