Elastic Compute Cloud (EC2)
EC2 is the computing part of the Amazon services. EC2 provides the CPU, memory, operating system and transient storage. EC2 is the equivalent of a barebones PC. You get to pick the amount of RAM you need (from a predefined list of configurations), the amount of transient storage you need (also from a list) and the number of CPUs you need (from a series of compute options). For the operating system, you can choose from various flavors of Linux, Solaris or Microsoft Windows Server.
If you can use a web browser and understand basic computer technology, you can use EC2. The basis if EC2 is the Amazon Machine Image (AMI). An AMI is a virtual machine with your chosen operating system and applications bundled together. You can create your own AMIs from scratch if you want to. To get started though, Amazon offers hundreds of public AMIs with many operating systems and pre-installed applications.
Once you’ve chosen, or built, your AMI, you will start it up. This starts a virtual machine in an Amazon data center. You won’t know where your machine is running beyond some generic “regions” and “availability zones”.
Regions and Availability Zones
A region is an actual geographic area. Currently, you can choose the US or Europe as regions. As Amazon adds additional data centers around the world, you will be able to choose from a list of them.
An availability zone is a distinct location within a region. Each availability zone is insulated from failures in any other zone. By running multiple AMIs across several zones, you can protect your databases and applications from a single point of failure. Each zone has its own power sources and cooling and are designed to be insulated from floods and fires.
Availability Zones are logical identifiers and are unique to an account. That means that two people who map to the same zone name may not actually be running in the same physical location.
Currently, Amazon offers three availability zones in the US: us-east-1a, us-east-1b, us-east-1c and two availability zones in Europe: eu-west-1a, eu-west-1b. Amazon recommends not choosing an availability zone unless you actually need protection from failure between instances. That allows AWS to choose the best zone based on performance and availability.
If you are running a replicated environment or any other kind of high availability or failover environment, you would want to start any secondary instances in different zones. That will allow you to have minimal downtime should your primary zone suffer any kind of an outage.