Q:

Need a step by step guide to host a website on AWS

I've been browsing for a week on how to use AWS.
I've always been using cpanel (I'm new to web) but someone recommended AWS to me.
From the info I pieced together from various websites, I think I'm supposed to do the following?:
1) copy my website files to S3
2) set up an instance in EC2
3) set up volume in EBS and attach to instance
4) set up elastic IP and attach to instance.
5) ??
The questions are, 
1) is this correct?
2) Where and how do I create mySQL database? Do I use SimpleDB, Where can you find it in the management console? I'm using Windows Server 2008 32b on EC2, should I connect to remote desktop, install XAMPP and then create the database on localhost? 
3) How can I get S3 files from EC2? or should I just copy all the website files to EBS?
4) How do I copy files from my computer to EC2/EBS? Only S3 seems to be easily accessible
5) when it finally work, what do I connect my domain to? The elastic IP? or the Public DNS?
Sorry if this is unclear, I'll do my best to explain.
Thank you in advance for your help
David

A:

First some concepts:
EC2 instances are just virtual machines. Once started, you manage them by Remote Desktoping into the instance (using the public dns address or an attached elastic ip address). Then its as though you are sitting in front of the computer. You can install anything you like on the instance and you are responsible for installing patches/updates etc. I guess, if you like, you could install cPanel on an EC2 instance and manage it that way.
You would install your webserver, database etc on your EC2 instance.
Think of EBS as a way to add additional hard disks to your instance. These persist beyond your instances - eg if you shut down an instance, the EBS volume will still be available.
S3 is purely a storage medium. Its basically an ever expanding, highly scalable storage space but you only pay for the amount that you are using. You might use this to store any static files associated with your website. eg images, videos etc or even javascript, css etc. But you don't need to use S3 with EC2. Both can operate independently.
Answers to your questions:

See above
Logon to your server using remote desktop and install mySql and any other software you need. If you don't no what SimpleDB is, you probably dont need it. It's Amazons noSql offering which is probably not something you are looking use.
The easiest way to access S3 from your EC2 instance is by using one of the Amazon SDK's. Files on S3 can also be linked to using standard urls. Remember, not all your website files should be on S3, only the static resources if any. You don't need to use s3 at all.
One option is to setup an FTP server on your EC2 instance to copy files to EC2.
Attach an elastic ip address to your server and point your domain at that ip address.

