AWS error - sudo: unable to resolve host ip-10-0-xx-xx
You should enable the DNS hostnames on your VPC: http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-dns.html#vpc-dns-updating
If for some reason, you cannot enable it, you can still use the /etc/hosts
to make it resolve, but this is definitely not the recommended solution
10.0.xx.xx ip-10-0-xx-xx
This worked for me:
Add the following line to /etc/hosts
127.0.0.1 ip-xxx-xx-x-xx
The ip thing is your private ip address
This issue is caused by not enabling enableDnsHostnames
in your VPC configuration.
enableDnsHostnames
Indicates whether the instances launched in the VPC get DNS hostnames. If this attribute is true, instances in the VPC get DNS hostnames; otherwise, they do not. If you want your instances to get DNS hostnames, you must also set the
enableDnsSupport
attribute to true.
http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-dns.html#vpc-dns-updating
Can patch easily from command line as follows:
sudo sed -i /etc/hosts -e "s/^127.0.0.1 localhost$/127.0.0.1 localhost $(hostname)/"
And checked that a reboot, or stop, then start the aws instance would preserve it. In case it is lost, can easily re-apply on boot, and can be added to any provision for new vms.
Example
Before:
ubuntu@ip-177-11-22-333:~$ sudo id
sudo: unable to resolve host ip-177-11-22-333
uid=0(root) gid=0(root) groups=0(root)
Fix:
ubuntu@ip-177-11-22-333:~$ sudo sed -i /etc/hosts -e "s/^127.0.0.1 localhost$/127.0.0.1 localhost $(hostname)/"
sudo: unable to resolve host ip-177-11-22-333
After:
ubuntu@ip-177-11-22-333:~$ sudo id
uid=0(root) gid=0(root) groups=0(root)
ubuntu@ip-177-11-22-333:~$