Can I host my entire site at AWS or do I need to have shared hosting/server in order to use AWS, my site runs on php and mysql.
Amazon Web Services (AWS) is merely infrastructure. You could spin up a new LAMP (Linux, Apache, Mysql, PHP) virtual machine on EC2 and from there configure everything else yourself.
The short answer is yes you can. The long answer is you probably shouldn't. For one it's going to be more expensive than using a shared hosting account. Another reason not to use AWS for this type of thing is data loss. I haven't used AWS services in a while, but the last time I did all data on a running EC2 instance is lost when you shut down the instance.