I have a rails app running on several EC2 instances (using instance storage, not EBS). Frequently (more often than it seems like it should), an instance becomes unreachable (cannot ping or ssh, and Amazon ELB reports it as out of service). However, in the AWS console the instance still shows up as "running." Rebooting the instance doesn't help -- once an instance gets into this unreachable state, I can reboot it successfully, but it continues to be unreachable after reboot. The only alternative is to terminate it and start a new instance.
Any ideas why this might be occurring? Unfortunately I can't access the logs on the instance once it becomes unreachable, and my monitoring software does not show any spikes in any particular metric right before the instance becomes unreachable. The System Log for the instance that I can access through the AWS console is not informative (it seems to boot up fine).