It is easy to assume that having heard the term 'The Cloud' bounced about for the last two years, everyone knows what you are talking about.
So I thought this post would be a good place to explain the terms that will form the details of the posts to come.
AWS Infrastructure Concepts
Region- Simply this is a geographic region in which the data centre that holds the server is held. Be aware that the server is subject to the legal requirements of that region, so be aware of any legal requirements when setting up the server.
Availability Zone- This is a sub-set of a Region to provide fault tolerance to servers, although interestingly EBS disk volumes are not mountable across Availability Zones, which can pose niggles if you are not careful in either setting up the EBS Volume or starting your server.
AMI and Server Instance- Amazon Machine Image (AMI) is a prebuilt image that is used to instantiate a Server Instance, AMI's come in either Public or Private. There are AMI's supporting most available Operating Systems, although there is a lag in releasing the AMI's due to quality control and build processes within AWS, for example Windows 2008 is not currently available (Nov 2009)
EC2 AMI Flow (Copied from Amazon Documentation
EBS and S3 Volumes - Elastic Block Store (EBS) volumes are part of the Amazon Simple Storage Service (S3), this is where you place any data that you wish to be persistent. That is, not dependent on the Instance, rather like a volume on a local SAN the volumes can be presented to different Instances. You can take a snapshot of a volume and create several copies, in doing this you can launch a number of SAP application servers very quickly and easily.
Amazon EBS (Copied from Amazon Documentation)
Elastic IPs- Elastic IP addresses are publically accessible addresses, they allow a layer of visualization as you can associate the Elastic IP with any server in your Availability zone. If you combine your Elastic IP address with a DNS record, then you can make your instance much more accessible. During the POC I am using
dyndns.org to supply my DNS records.
Public Keys, Secret Keys, Key Pairs- Using a PKI type process, AWS use a public key, private key and a key pair to control the server instance. It is vital that Private keys are kept secret, they are used to create, stop and start instances. If they get 'into the wild' they must be cancelled to protect the instances. Key Pairs are used to authenticate SSH sessions to servers.
Key AWS Applications
AWS Web Console - Amazon's own tool, it is a web based console and kept up to date with their own API. It performs many of the required functions very well, but several functions are easier to control from other applications. For example, several attempts to create custom AMI's failed due to the AWS console, it was only when using a different tool were custom AMI's created.
ElasticFox- This is perhaps the most useful tool available to control the AWS cloud and the infrastructure associated with your instances.
S3Fox - This tool is very useful in creating and managing the storage areas used for bundling AMI's.