快速筆記,最近花了非常多時間在研究為什麼 ECS 底下的 EC2 作業系統從 CentOS 7 升級成 Amazon Linux 2023 後,上頭的 ECS container 出現一堆問題。
主要遇到的問題似乎是 I/O 的緣故。EBS I/O 超過部署時設定的 throughput 的話,會導致 EC2 變得很不穩定,例如無法 SSH 進入 EC2、或者 EC2 上的 ECS agent 會斷線等等。這個問題可能會衍生出 EC2 上的 ECS container 無法正常寫檔案,要寫入檔案的內容可能會一直被 cache 在 dirty page 上,導致 container 的記憶體用量超出預期。
至於為什麼 EBS I/O 的用量會超出部署的設定,這點暫時還沒有結論,不過 architect 有發現 Amazon Linux 2023 寫 system journal 寫蠻多的,相較來說,CentOS 幾乎不寫 system journal。