Getting up and running with EC2

Using the online Amazon guides, it's not long before you get yourself a working Windows Server machine that you can log into. I used the Windows Server 2008 R2 / IIS / SQL Server 2008 R2 x64 image on a Micro instance. I then used Remote Desk Connection (aka RDP) to log into my newly created instance.

vs. Shared Hosting

The comparison with shared hosting, which I've used for a number of years now, is already stark. I really like having complete control over the machine rather than using a restrictive web-based control panel (OK, with great power comes... but still, I like it!). Also, shared hosting always seems to come pre-bundled with support for things like classic ASP, PHP and so on and so on, which I've never needed.

Downside

I mentioned I'm already liking having full control over the machine, but the one obvious pain point is keeping the OS up-to-date. So the first thing I do is run Windows Update to make sure I get all the latest security patches and the like.

Problems Ahead?

This is where I start to feel I may run into problems running on the Micro instance. The updates take a really long time to install. Which is perhaps no surprise; it often seems to be a game of install a few, reboot, install a few more, reboot, repeat this a few more times. However, I notice on EC2 that the updates do a bit of installing then everything hangs for a little while, then everything continues again for a bit, then hang, and so on.

You get what you pay for I guess: as documented by Amazon, the Micro instance gives up to 2 compute units for a short period of time. Unfortunately, outside of that burst of performance, life sucks. I make a note that this is definitely something I'll want to check once my first site is running.

Data Drive

After letting Windows Update do its thing, I'm almost ready to get my site onto EC2. But first I decide to put all my non-OS data on a separate drive. My thinking being that if I create a new instance, I can simply attach this to the new instance and I'll be pretty much good to go. I create another EBS volume and attach it to my instance:

EBS Volumes

There may be a way to get the instance to pick this up without restarting, but I found that a simple reboot of my instance did the trick, and on logging back in, I now had an empty D: drive ready for my data.

Now also seems to be a good time to take a snapshot so in case of any problems, I can revert to the snapshot without having to go through all that Windows Update pain again.

Static IP

Before I get into the FTP can-of-worms, I will want a stable IP address I can use in my DNS setup. It seems that every time an instance is restarted, it gets a new dynamic IP. Amazon uses the term Elastic IP which is just a static IP that you can attach to a given instance.

Elastic IP

Perfect! I create a DNS entry (ec2.my domain.com) to use when RDP'ing and FTP'ing to make things easy.

Next, the tricky bit...getting my content up to the EC2 instance.


Comment Guidelines
See the FAQ for details on the full rules and guidelines. No Spam. Write clearly and thoughtfully - no bad language.