wiki:InstallationGuidelines/Amazon

Version 5 (modified by Fran Boon, 13 years ago) ( diff )

--

Amazon EC2

Amazon's Cloud provides a flexible platform to deploy Eden scalably.

The costs aren't fixed & can be difficult to predict, despite their calculator, but are competitive, especially in Singapore, which is a good base for the Asia Pacific region.

Regions & Zones

Amazon supports multiple Regions in order to provide a service closest to your users.

  • Namespaces of Instances, Volumnes & Snapshots are unique only within a Region.
  • Within each Region, there are a couple of Availability Zones to allow spreading the risk across different facilities.
  • Volumes are located within a specific Availability Zone
  • Bandwidth transfers are free within an Availability Zone

Instance Size

  • The free starter 'micro' instance is flexible as it can run both 32-bit & 64-bit Operating Systems.
  • The normal production 'small' instance can only run 32-bit.
  • Larger production instances can only run 64-bit, so can't have the exact same image used.
  • The community Debian Squeeze AMI seems a fine base & attached scripts turn this into an Eden instance

Instance Persistence

  • EBS-backed instances have persistent storage even whilst powered down, which is very useful.
  • Each time you start an instance up, it will be assigned a new IP ('Public DNS')

Authentication

This can provide an early stumbling block.

  • Each instance created needs to start with a unique SSH keypair
  • When setting up an instance, be sure to safely download the private key.
  • In order to get the public key (needed by SecureCRT for instance) then you need to login using CLI & retireve it:
    ssh -l root -i private.pem <hostname>
    cat ~/.ssh/authorized_keys
    

SecureCRT needs the private key storing as <filename> & the public as <filename.pub> (all on one line)

CLI Management

There are extensive CLI tools available to manipulate your instances.

Growing Storage

1Gb EBS is too small for Eden - need to grow to 3Gb

# --region ap-southeast-1
set EC2_URL=https://ec2.ap-southeast-1.amazonaws.com
# Stop Host
ec2stop i-c75af292
# Create a snapshot
ec2-create-snapshot vol-e189e88c
# Create new volume from snapshot
ec2-create-volume -z ap-southeast-1b --size 3 --snapshot snap-63f89d08
# Attach new volume as secondary
ec2-attach-volume -i i-c75af292 vol-a9c2a3c4 -d /dev/sdb1
# Start Host
ec2start i-c75af292
ec2-describe-instances
# Login (Remember different IP!)
mkdir /mnt/data
echo '/dev/xvdb1 /mnt/data ext3 defaults,noatime 0 0' >> /etc/fstab
mount /mnt/data
resize2fs /dev/xvdb1
umount /mnt/data
# Stop Host
ec2stop i-c75af292
# Unattach volumes
ec2-detach-volume -i i-c75af292 vol-e189e88c
ec2-detach-volume -i i-c75af292 vol-a9c2a3c4
# Attach volume as boot
ec2-attach-volume -i i-c75af292 vol-a9c2a3c4 -d /dev/sda1
# Start Host
ec2start i-c75af292
ec2-describe-instances
# Login (Remember different IP!)
df -h

Keep Templates as EBS Volumes as this is cheaper than Snapshots

Attachments (14)

Note: See TracWiki for help on using the wiki.