I have amazon VPC set through wizard as "public only network", so all my instances are in public subnet.
Instances within VPC that have Elastic IP assigned connect to internet without any troubles.
But instances without elastic IP can't connect anywhere.
Internet gateway is present. Route table in aws console looks like
Destination Target
10.0.0.0/16 local
0.0.0.0/0 igw-nnnnn
and route from inside instance shows
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.0 * 255.255.255.0 U 0 0 0 eth0
default 10.0.0.1 0.0.0.0 UG 100 0 0 eth0
I tried to open ALL inbound and outbound traffic to 0.0.0.0/0 in security group that an instance belongs to. Still no success.
~$ ping google.com
PING google.com (74.125.224.36) 56(84) bytes of data.
^C
--- google.com ping statistics ---
6 packets transmitted, 0 received, 100% packet loss, time 5017ms
What else can I do?
It appears that the only way to get outside from instances that don't have Elastic IP is:
So, just adding NAT is not enough. Instances should be stopped and moved to another IP from another subnet.