目前條件:
👉 這通常表示 OS 層的存取服務(sshd、ssm-agent)有問題,或磁碟爆滿導致系統服務無法運作。
t3.small 的根磁碟通常不大(8GB~20GB),Docker log 很容易爆掉。
💡 修復方法(現在無法登入):
停止該 EC2 實例。
在 Console 上 Detach root volume。
Attach 到另一台健康的 EC2。
掛上後執行:
df -h
sudo du -h --max-depth=1 / | sort -hr | head
找出爆掉的目錄(通常是 /var/lib/docker/containers
或 /var/log
)。
刪掉不必要的 log 或 container 檔案。
卸載 volume,再掛回原實例,重新啟動。
如果你後來才開啟 SSM 功能,而當初 AMI 沒裝 amazon-ssm-agent
,或 agent 因為系統更新壞掉,也會進不去。
💡 修復方式(需透過 Serial Console 或掛載 volume):
/usr/bin/amazon-ssm-agent
是否存在。/var/log/amazon/ssm/amazon-ssm-agent.log
。有時修改 /etc/ssh/sshd_config
、更新套件、重啟後沒有自動啟動 sshd,也會導致無法登入。
若能透過 Serial Console 進去,執行:
sudo systemctl restart sshd
journalctl -xe | grep ssh
這會同時導致 SSH/SSM 都不通(但 Web 還在,是因為只有 22/443 不同 port)。
檢查:
進 AWS Console → EC2 → Status Check,看是不是「Instance reachability check failed」。
試 Serial Console 登入(Console → Connect → Serial console)。
若能進去,檢查磁碟空間:
df -h
若 Serial Console 沒開啟:
今天 EC2(t3.small)突然連不進去,SSH 跟 SSM 都掛掉,但網站(Docker)還能開。
代表機器其實還活著,只是登入服務出問題。
第一個懷疑是磁碟爆滿。之前有遇過 Docker log 撐滿整個 root volume,導致 sshd、ssm-agent 都啟不起來。
後來我把 instance 停掉,detach root volume 掛到另一台機器,果然 /var/lib/docker/containers
底下塞滿幾 GB 的 log。清掉後再掛回去,一切恢復正常。
這次也學到幾件事: