1. All the virtual host need to use the private IP address in the virtual host directive rather the elastic IP or it will not work.
i.e.
Good
<VirtualHost 10.202.150.134:80>
Not
<VirtualHost *:80>
<VirtualHost 0.0.0.0:80>
<VirtualHost 184.72.230.132:80>
2. Access denied for user ‘www-data’@’localhost’ shows up if the first attempt to connect to database has failed and application has used mysql_query after that, so php won’t find any active connections so it would try default settings to connect to database, quite hard to fix.