When most people think of the Amazon cloud, they are thinking about Amazon EC2. EC2 represents your virtual network with all of the virtual servers running inside that network. It does not, however, stand alone. When you use EC2, you will be using S3 to store your machine images (more on that in a minute) and potentially for other storage needs. If you skipped the previous section, thinking you did not need to know about S3, go back and read it!
EC2 is quite a bit more complex than S3. Figure 2-1 shows all of the concepts that make up Amazon EC2 and how they relate to each other.
Figure 2-1. An overview of the components that support Amazon EC2
The main concepts are:
An EC2 instance is a virtual server running your choice of guest operating system based on the machine image from which the instance was cloned.
A pristine copy of your server that you can use to launch any number of instances. If you are familiar with the concept of ghosting, the machine image represents your ghost image from which you can build any number of servers. Minimally, a machine image will have the core operating system plus common preinstalled tools. Depending on your deployment strategy, it might have your prebuilt web application. Amazon has prebuilt AMIs to get you started. In addition, there are many third-party AMIs, and you can build your own.