Elastic Compute Cloud (EC2) Overview
Elastic Compute Cloud is an environment provided by Amazon for creating and running Virtual servers. It allows us to make manage a Virtual servers like real machines. For example: It allows us to run and install software of our choice on machine. It provides us flexibility to create as many virtual servers we want, to use them in any way we want, and to use them any long we want. This whole process incurs cost corresponding to the resource we use and the time these resources are used.
These virtual machines are handled by AMI’s and Instances. AMI is Amazon Machine Image which is responsible for booting a machine.
Amazon Machine Image (AMI)
An AMI is a configuration of files, softwares and certain installations and data that helps in booting a virtual machine. An AMI can be used to boot more than one Virtual machine. Every AMI has a configuration and it opens up a machine with the same configuration. After logging onto a virtual machine, one can change the configuration of his machine and hence can update his AMI.
There are several ways of creating and using an AMI: An AMI can be created from scratch. Some already created AMIs can be used for booting a machine. AMI can be created and shared on web and can be made accessible to public. AMI can be sold or rented using Amazon Devpay system. Amazon deducts hourly premium from the user.
Amazon EC2 Instance
An instance is the building block of Amazon EC2. Each virtual machine corresponds to an instance. Running an instance means using one machine. A user has the root access over his instances. He can run as many or as few instances at the same time.
Instances are categorized into two categories viz: standard and High-CPU depending on the performance, computational power and resources they provide. EC2 has its own benchmark for computing power e.g. : an instance with a rating of 1 EC2 compute unit is expected to provide the same CPU capacity as a physical machine with a 1.0 to 1.2 GHz AMD Opteron processor, circa 2007. Standard instances are used for general purpose applications while High-CPU instances are used for applications requiring high computations.
Amazon EC2 provides renting capacity by an hour which means customers need not to buy or lease resources for months or years. In this technologically dynamic time, it becomes important not stuck by any commodity and keep room for yourself to change the newer one.
Every instance keeps a storage space along with it. This space is not permanent and hence is called “ephemeral store”. All the data stored in the instance storage is at risk of being lost. If an instance is intentionally or unintentionally rebooted then the data gets stored but it gets lost if instance terminates or underlying drive fails. So, it is always recommended to instance user to keep backup of the important data in Amazon S3.
Amazon provides facility to its users to store their EC2 instances in any availability zone of their choice. The choice of availability is specified while launching an instance.
Instance Addressing
Every instance has two IP addresses: a private address and a public address.
Private address is reachable only within Amazon EC2 network and is used for communication among instances. Private address is associated with an instance for its lifetime. Communication among EC2 instances with private IP addresses ensures highest bandwidth, low latency path being used through the network. Every instance has an internal DNS name that resolves its private IP address inside Amazon EC2 network.
Like private address has to do only within the EC2 network, there is public address that has to do only outside EC2 network. This address is reachable over the internet. It is mapped to private IP address using Network Access Translation (NAT). Every instance has public DNS name associated with it and it is used to resolve public address outside Amazon and private address within Amazon.
Elastic IP Address
Elastic IP address is an address associated with any AWS account that can be mapped to any instance.
Changing an existing DNS to a new instance creates problem because takes almost 24 hours to propagate the change through internet. Any request in the meantime to that DNS fails because it reaches the terminated instance.
To cope with the problem Amazon comes out with Elastic IP addressing. Elastic IP address can be attached to any instance. If an instance fails, the Elastic IP address associated with it is attached to the new instance thus enabling the traffic to the old instance to get diverted to the new instance.
Network Security
Frequently adding or deleting instances raise some security issues to the instances as their firewall configuration depends on their DNS names. So in order to preserve the security, Amazon EC2 provides Security Groups.
Security Group
Security Group is a set of access rules that describes which incoming traffic should reach the instance and which should be discarded. The rules described in a security group are enforced to all the members. If there is any new instance in the group, then the rules are automatically enforced to it. An AWS account holder can have 100 security Groups.
During the creation of instance; user can assign any number of groups to that instance. If an instance is not assigned any security Group then default security Group is automatically assigned to it. The rules in default Group are preconfigured but account holder can modify these as per his/her needs.
In short Amazon EC2 is a web server which is online, easy to use and at cheap prices. It simply reduces the work of weeks into days and work of days into hours.
Popularity: 20% [?]

April 9th, 2011 at 5:05 am
“It allows us to run and install “software” of our choice on machine.”
It is common that we choose software to our machine that we want to use.
May 5th, 2011 at 2:54 am
I like it because it can be created and shared on the web and can be accessed by the public. Furthermore, as like what you said AMI cans be sold or rented using Amazon Devpay system. Than AMI can be sold or rented, of course it\’s really saving my money.