Amazon-EC2-LogoCloud computing is currently the number one hype topic. Many believe that it will replace on-premise computing over the long run. I guess most analysts who make such predictions never managed a server in the cloud. It sounds so easy: Just tell your cloud provider how many virtual servers you need and you are done. Computational power in the cloud is as easy to consume as electrical power. However, after I played for some hours with Amazon Elastic Compute Cloud (Amazon EC2), I came to a different conclusion.

Today I will give an overview of how a Windows server is installed in Amazon’s cloud and in my next I post I will share my opinion about Amazon EC2. The first steps are indeed as simple as many articles describe. You just have to give Amazon your credit card details and you are ready to enter the cloud. However, this is when the real work begins.

After I signed up I had to generate three access identifiers for the Amazon Web Services (AWS): an Access Key ID, a Secret Access Key and an X.509 certificate. This can easily be done via the web interface. I had to download the keys even though I didn’t understand at this point why this was necessary. I assumed that I would only play in the clouds.

I expected that I would now be able to log on to my first cloud server. Unfortunately, I didn’t see any hint how to proceed. So I just started clicking on everything that looked promising somehow. After clicking for a while I accidentally found the Amazon EC2 Getting Started Guide. It became clear pretty fast that things were not as easy as I had hoped.

(EC2 can’t be managed through a web browser. / see comment below) First, one has to install a Java 5 compatible Java Runtime Environment (JRE) on the desktop. Since I already had Java 6 on my desktop I skipped this step. The next step explained in more detail about access keys. Only now did I begin to understand why all these keys are required.

EC2 has to be managed through a command line interface on the desktop. The keys are required to authenticate your console. The corresponding command line tools have to be downloaded. After I unzipped the file I had downloaded, I had to create a folder manually and copy the tools to there. Then I had to configure a couple of environment variables. It all reminded me of the good old MS DOS times. When I saw the number of tools (approximately 80), I began to realize that managing Amazon’s cloud computers means a lot of work for system administrators.

Amazon-EC2-command-prompt To prepare my first server I needed about eight commands. This requires a lot of typing and copy and pasting. The output of the tools is often quite cryptic and difficult to read (see screenshot). First you have to display a list of the publicly available images. The output on the command prompt doesn’t give you all the information you need to decide which image is the best one for your purpose, so I tried to find more information about the images on the web. I wasn’t very successful, though. Since I was already tired of clicking around, I just took the first Windows image.

Next I had to again generate a key pair, save the private key to a text file and copy the file with a certain name to a certain folder. Then I was finally able to launch my first “instance,” i.e. my virtual server. Next I had to create the administrator password using the private key I had just created. Just to give you an idea what EC2 commands look like: ec2-get-password -k id_rsa-gsg-keypair i-eb977f82. Yeah I know, as Windows admins we are used to setting passwords differently. But it also works this way.

Then I had to open the TCP port for RDP and request the FQDN (the address of the virtual server). The output of the corresponding command looks like this:

RESERVATION r-7430c31d 924417782495 default

INSTANCE i-ae0bf0c7 ami-2bb65342 ec2-67-202-7-236.compute-1.amazonaws.com ip-10-251-31-162.ec2.internal running gsg-keypair 0 m1.small 2008-03-21T16:19:25+0000 us-east-1a windows

As techies we love such outputs. It gives us the feeling that we are really geeks. I am sure you spotted the FQDN already. The next step is rather dull. Just copy the address to the RDP client and connect to the server. To be honest, the whole procedure didn’t run through as smoothly as I described it here. I made quite a few typos and I made the mistake of just skimming over the guide at first. Well, it seems I am not really such a geek.

Also read the second part of my review about Amazon EC2.