as mentioned in the responses above, it could be related to AWS security groups, and other things. but if you created a user and gave it remote access ‘%’ and still getting this error, check your mysql config file, on debian, you can find it here: /etc/mysql/my.cnf and find the line:
bind-address = 127.0.0.1
and change it to:
bind-address = 0.0.0.0
and restart mysql.
on debian/ubuntu:
/etc/init.d/mysql restart
I hope this works for you.