A Quick Start Guide for Deployment to the Amazon EC2 Cloud

A Quick Start Guide for Deployment to the Amazon EC2 Cloud

One basic concept that escapes most cloud newbies is the fact that you are accessing a remote resource as if it were local; a very basic yet very powerful concept to understand. When think of how to approach development for the cloud, you could simply ask: What would you do if the node you are accessing is right in your own datacenter?

Amazon EC2 provides all you need to create an ecosystem or environment that allows seamless access to a remote virtual environment. One main difference is EC2’s auto scaling capability, which automatically increases or decreases the number of running Amazon EC2 instances to match demand. Scaling takes place when a metric’s upper or lower boundary threshold is breached for the duration specified by the user’s configuration. In essence, you create low and high water marks that if are breached, the number of machine instances (called Amazon machine images or AMIs) changes.

My previous article focused on the basics of the Amazon EC2 cloud offering. In this article, I will discuss how to actually get started with the EC2 infrastructure. Keeping only to EC2 for AWS newcomers, I will not cover other services that Amazon offers such as MapReduce, Database, and Simple Queuing Service. In fact, this article skips over many of the required steps for using EC2; you should use it only as a general beginner’s guide.

Accessing Amazon EC2 with REST

There are many ways to access EC2, and in this article I will focus on the most basic and platform-independent way: via REST. There are APIs that do the same thing, but I will leave that for future articles. I want to cover REST first because I can use it as the basis to illustrate how things actually work, even though most times a higher-level programming language is used.

One basic assumption here is that you have an account set up already with the proper credentials.

There are a number of classes of Amazon Machine Images:

  • Free
  • Custom-made ones you make yourself
  • Custom-made ones that you pay for

For many grid-type applications (the type I often work with), the vanilla image will do just fine — after all, all you need to do is compute, right? Right!

So I need to construct a REST request that asks for all the available AMIs.


This message will find and return all the images owned by Amazon. Amazon also provides an authenticator, which you need to use for access every time. You might get something like the following as the result.

                  ami-be3adfd7         amazon/getting-started         available         206029621532         true         i386         machine         aki-d3376696         ari-e73766a2         amazon         getting-started         Fedora 8 v1 ec2pnp enabled         ebs         /dev/sda                                 /dev/sda                           snap-32885f5a               15                   false                                             ...

This completely generic sample basically provides all you need to know about the image. What is important is the imageId, which Amazon will use as the OS to boot up your instances.

Accessing Your Amazon EC2 Instance

The next thing to do is to create a key-pair to be used to access your instance. The concept is the same as the REST request:


You will then need to create a file id_rsa-mykeypair and paste everything between the two lines in that file, the two lines inclusive.


Make sure you set the proper permissions on the file and make sure that it is in your path.

>>> chmod 600 id_rsa-mykeypair

Amazon now requires you to authorize access to your instance. This is to ensure that you or someone you trust can access these instances. I mostly like to access thru ports 22 (SSH) and 80 (HTTP). I then need these two requests:



The tricky part here is to make sure that you get your public IP address right. If you use a DSL or cable line, the address might change and nothing will work until you resubmit your request; something that has happened to me a number of times.

Let’s start the images.


As you can see, I asked Amazon to create at least two instances of the image (given by the image ID) and most 10, depending on the load. I will get two instance IDs in return.

What I require is a dnsName to access the instance(s). But when you request instances to be started, the dnsName entries that you get in return are all empty! You can use describeInstances to get the dnsName for every instance:


This will return information about each instance, and part of that is the public IP address that can be used to access the instance(s).

I am now ready to deploy and use!

For more information, be sure to read some of the EC2 documentation that are freely available from Amazon. Much of what I know, learned and showed you here are directly from the documents.

Share the Post:
XDR solutions

The Benefits of Using XDR Solutions

Cybercriminals constantly adapt their strategies, developing newer, more powerful, and intelligent ways to attack your network. Since security professionals must innovate as well, more conventional endpoint detection solutions have evolved

AI is revolutionizing fraud detection

How AI is Revolutionizing Fraud Detection

Artificial intelligence – commonly known as AI – means a form of technology with multiple uses. As a result, it has become extremely valuable to a number of businesses across

AI innovation

Companies Leading AI Innovation in 2023

Artificial intelligence (AI) has been transforming industries and revolutionizing business operations. AI’s potential to enhance efficiency and productivity has become crucial to many businesses. As we move into 2023, several

data fivetran pricing

Fivetran Pricing Explained

One of the biggest trends of the 21st century is the massive surge in analytics. Analytics is the process of utilizing data to drive future decision-making. With so much of

kubernetes logging

Kubernetes Logging: What You Need to Know

Kubernetes from Google is one of the most popular open-source and free container management solutions made to make managing and deploying applications easier. It has a solid architecture that makes

ransomware cyber attack

Why Is Ransomware Such a Major Threat?

One of the most significant cyber threats faced by modern organizations is a ransomware attack. Ransomware attacks have grown in both sophistication and frequency over the past few years, forcing

data dictionary

Tools You Need to Make a Data Dictionary

Data dictionaries are crucial for organizations of all sizes that deal with large amounts of data. they are centralized repositories of all the data in organizations, including metadata such as