I configure EC2 in AWS VPC environment. There is 1 instance, 1 network interface, and multiple elastic IPs. It is only possible to ping the primary address. Strange is, before all IPs worked. Suddenly ( not sure, but probably after restart ) this happened. All elastic IPs are associated with the instance. Policies allow all in and outbound traffic.
Another thing I noticed, when I try to associate elastic IP with instance without providing private address, it replaces the main public IP and then it works. But when I associate another unused private IP, then it is appended to the public IP list of the network interface, and not possible to ping it, because other IP is primary.
You have to have 2 different internal IP addresses as elastic IPs you can assign only to internal IPs. When you associate elastic IP you need to specify internal IP otherwise it will replace main public IP.
What internal addresses do you use? It seems they're from the same CIDR range and the instance simply cannot route it properly.
I found a solution. The problem was, all secondary internal addresses were unknown to the OS. The following script reconnects all secondary addresses to eth0 network interface.
Taken from here.