In my previous articles [Introduction To Small Cloud Computing - Part 1, Introduction To Small Cloud Computing - Part 2] on Cloud Computing, I discussed some of the terms and options of cloud computing. To really understand cloud computing, though, I found it helpful to get hands-on experience.
This article is intended as a basic guide to starting and accessing a cloud computer. I found going through these steps demystified the concept of cloud computing for me. I've played around with various Linux and Windows servers before, but the idea of having a computer run in the “cloud” seems like there must be something advanced about it. As with many technologies, once you get the hang of it, it isn't as hard as it initially seems.
I'm using Amazon Web Services (AWS) as my public cloud computing supplier. As discussed in my previous article, there are many other providers. Amazon is one of the more well known and mature platforms for cloud computing. Amazon offers multiple cloud computing services; I'm using the basic cloud computing service called Elastic Compute Cloud, or EC2.
The outline of the process I followed is:
- Set up an AWS account
- Create a server instance
- Configure the instance
- Connect to the instance and configure it
Step 1: Set up an account on AWS You'll need to create a user name and password, address, as well as enter a credit card for billing information.
Step 2: Create an Instance
a) Click Launch an Instance. An instance is a cloud computer, which is a virtual machine. Instances are launched via the Amazon EC2 tab. Clicking this option starts the process for choosing options of your cloud computer.
b) Select your instance Type. You can select Windows and Linux instance types. I'm going to use Linux. There are several different Linux servers you can fire up, as well as Windows servers as shown in Figure 1 below. I selected a Fedora LAMP Web Starter (LAMP = Linux, Apache, MySQL, Perl) server.
Figure 1: Instance types
Under Launch Instance, I chose a simple billing option for pay by the hour cloud computing. I also chose to start my cloud computer with just a single core CPU instead of a dual core CPU, which is cheaper.
Step 4: Generate and download a key pair. This step is essential to securely access your cloud computer. In this step, you generate a special file, which is a .pem file, that you'll use to authenticate and log into your machine. Make sure your browser allows for file downloads before you proceed through this step. You'll need to keep this file handy to connect to your cloud computer, which I'll describe shortly.
Step 5: Configure the Firewall for your cloud computer. In this step, you'll specify the ports that will be open on your server. For a LAMP server, the default firewall configuration is to open ports for SSH, HTTP, and MySQL, which opens ports 22, 80, and 3306.
All of the above steps have customization options. For example, you can launch an instance without the security of a key pair. Further, you can customize the firewall to allow access via more ports than the ones listed in Step 5. I stuck with the basics.
Upon completing these steps, simply click Launch. When you do so, Amazon will build your cloud computer and turn it on. It took just over a minute for Amazon to generate my virtual machine and boot my server. The EC2 Dashboard shows my running instance below.
Figure 2: EC2 Dashboard
I now have a running instance, or cloud computer, on Amazon's Elastic Cloud Computer (EC2) service. The above steps seem pretty easy, and in fact they are. In fact, I found it more challenging figuring out how to connect to my new cloud server than setting it up.
Obviously, to do anything with your cloud computer, you need to log into it. Right clicking on your instance, you can select the option to Connect, which displays the screen show in Figure 3.
Figure 3: AWS connect screen
The Connect option doesn't really connect you to your cloud computer, it just provides you with these instructions. For me, the instructions didn't sink in, so I'll walk you through what I did.
The instructions tell you to access your machine via SSH. Secure Shell, or SSH, is a fast and secure means of accessing the command line of a Linux or UNIX system over a network, as it encrypts all packets of the transmission.
I found two ways to ssh to my cloud computer. Method one is via a local Linux PC. Method two is via a Windows PC using Putty.