Why does my EC2 instance randomly become unreachable even though CPU/Memory look normal?

I have a standard web app running on an EC2 instance (t3.medium).

For a few days, everything works fine, but then the instance suddenly becomes unreachable:

– SSH stops working after a while – HTTP requests don’t go through

– The CloudWatch metrics look normal (CPU is around 10% and memory is stable)

I have to turn the instance off and on again by hand to get it to work again.

Things I looked at:

– No auto-scaling

– Security groups haven’t changed

– The system logs don’t show anything obvious

– There are no panic or out-of-memory logs

What could make an EC2 instance unreachable even when the resources it uses seem to be working well?

Do you know of any common problems or ways to fix them?

Why it gets noticed:

A problem that happens a lot for AWS users

A lot of possible root causes lead to a lot of answers.

It makes sense to both beginners and experts.