Eaddrnotavail when use pub ip as hostname for Amazon VPC instance as Couchbase node

Couchbase can only use private ip as hostname even I made sure I enabled DNS resolution and DNS support on my VPC, and also manually changed the instance’s hostname to its public DNS(private DNS by default). I also experimented with Amazon non-VPC instance, and Couchbase has no problem using the pub ip as hostname. Thanks in advance!