Setting up a server in the Cloud is a bit technical and not an easy job. I'm going to help you setup your new server correctly and hassle free.
The following list are my experience:
1. AWS - EC2, S3, Elastic IP, Route 53
2. CenturyLink
3. Apache or Nginx server
* setup apache modules - mod_rewrite, mod_dumpio,
4. PHP
* php gd - for image processing
* php ffmpeg - for video processing
5. Database
* MySQL
* MariaDB
* Percona
6. FTP
* Vsftpd