Why can the EC2 instance no longer connect to itself using its public DNS entry

amazon ec2amazon-elastic-ipdomain-name-system

One of our Amazon EC2 instances can no longer connect to itself using its public DNS . It says "unknown host". Previously, when used from within EC2, the public DNS resolved to the current internal IP. This is still the case for another instance we also use.

This has worked for the previous 8 months. Last week, our continuous integration server on that machine ran into the problem a few times. After the instance was started today, connecting via public DNS no longer works at all, even though the elastic IP is definitively attached to the instance.

Pinging that public DNS entry from elsewhere – both from inside and outside EC2 – works perfectly fine.
The instance can ping itself using the elastic IP, but we want to connect directly.
The instance can also ping itself using its current internal IP or internal DNS entry, but as that changes on startup, it is not a solution.

As we did not change the machine configuration in any way for the past two months, I am reasonably sure this is a problem on Amazon's end. Can anyone confirm this, has experienced similar issues or a suggestion what to do to fix this?

Note: we only have the "basic" AWS suppport level, so I can't file an issue with Amazon about this. I did post this question on the AWS forums, though.

Best Answer

In the forum thread I started, several other users confirmed the issue. Only some of their instances were affected, and only in some availability zones.

On the same day, an Amazon technician posted in the thread. He confirmed that the issue was caused on their end, and wrote that they had fixed it.

The correct approach for similar issues therefore seems to be:

  1. Check that the elastic IP is attached to the instance.
  2. Check DNS resolution from outside EC2.
  3. Check DNS resolution from inside EC2, but from another instance.
  4. Post on the AWS developer forums for EC2. Explain the issue and include the instance ID and the details above.
  5. Wait one or two days.