In a typical Amazon Web Services(AWS) Environment, Amazon Machine Images (AMIs) are strictly available in a certain region only. These AMIs cannot be moved from one region to another. Though the AMIs are shared within different Availability Zones of the same region. For this purpose, you can use a third party tool called as CloudyScripts.

CloudyScripts is a collection of tools to help you programming Infrastructure Clouds. The web-based tool is self explanatory and regularly updated. In case you find any bug, do not hesitate to email the owners right away.

AMI should be EBS-backed Linux AMI only. The AWS Access Key and Secret Key can be found at the Security Credentials page of your AWS Account. This information is unique to your account and can be misused. DO NOT share these details with anyone.

The key provided should be generated in the source and target region before using the tool. Provide the .pem key files.

AWS discourages use of “root” user for login into AWS EC2 Instances.

You may use different ssh users like, “ec2-user” for AWS Linux Instances or “ubuntu” user for Ubuntu instances.

Output will be displayed as:

Verify that the AMI is registered in the destination as Private to you i.e.owner.

If you opt to receive mail of the status, enter your email id in the status window.

Starting with the 2009-10-31 API, Amazon Web Services (AWS) has a new type of Amazon Machine Image(AMI) that stores its root device as an Amazon Elastic Block Store(EBS) volume. They refer to these AMIs as Amazon EBS-backed. When an instance of this type of AMI launches, an Amazon EBS volume is created from the associated snapshot, and that volume becomes the root device. You can create an AMI that uses an Amazon EBS volume as its root device with Windows or Linux/UNIX operating systems.These instances can be easily backed-up. You can modify the original instance to suit your particular needs and then save it as an EBS-backed AMI. Hence, if in future you need the the modified version of instance, you can simply launch multiple new instances from the backed-up AMI and are ready to-go.

Following are the steps to be performed for backup/restoring of AWS EBS instance into/from an AWS AMI. Also brief steps for deletion of AMI backup are noted for reference.

EBS-instance to EBS-backed AMI

Go to AWS Management Console and in the My Instances Pane, select the instance which has to be backed up.

Right click the instance and select option Create Image (EBS AMI).

In the Create Image dialog box, give proper AMI Name and Description. Click on Create This Image button.

The image creation will be in progress. This will take sometime depending upon the number & size of volumes attached to the instance. Click on View pending image link. It will take you to the AMIs pane.

The AMI will be in pending state. It is important to note that this AMI is private to the account and not available for AWS public use.

If you select Snapshots from the Navigation Pane, then you can see that EBS volumes attached to the instance will be backed up as too.

Once the backup is done, the AMI will be in available state.

Restore from backup AMI into instance

In case, the running instance needs to be restored, use the latest backup AMI. To launch an instance from this AMI, right-click the AMI and select Launch Instance option. The Launch Instance Wizard will be displayed, perform the usual configurations and a new instance will be created containing all the data & configurations done before backup.

Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable compute capacity in the cloud. It is designed to make web-scale computing easier for developers. Amazon EC2 enables “compute” in the cloud.

Amazon Elastic Block Store (EBS) provides block level storage volumes for use with Amazon EC2 instances. EBS provides highly available, highly reliable storage volumes that can be attached to a running Amazon EC2 instance and exposed as a device within the instance. It persists independently from the life of an instance. These EBS volumes are created in a particular Availability Zone and can be from 1 GB to 1 TB in size.

Create the EBS Volume

Log into AWS Management Console and follow the below steps for all the each extra volume to be attached to instances. For example, let’s create and attach a 6GB EBS volume (for Oracle Alert Logs and Traces) to Database server.

• Choose “Volumes” on the left hand control panel:

• In the right-hand pane under EBS Volumes, click on ‘Create Volume’

• In Create Volume dialog box that appears:
Enter the size mentioned in table, keep availability zone same as that of Database instance and select No Snapshot and click on ‘Create’.

• This will create an EBS volume and once create is complete it will be displayed as

Attach Volume

• Select a volume and click on button to Attach Volume

• Select the instance for which EBS volume is to be attached. Also mention the mount point for the volume in device.
Here Instance is for database and mount device is /dev/sdf

• Once attached it will be displayed as

Mount the Volume

• Execute commands in the EC2 instance’s (Database Server) linux shell. As this is a new volume (with no data), we will have to format it
Run command:

mkfs -t ext3 /dev/sdf

(Replace text in blue with mount device used in previous step)

• Make a directory to mount the device.

mkdir /mnt/disk1

• Mount the device in newly created directory

mount /dev/sdf /mnt/disk1

(Replace text in blue as required)

• By default volumes will not be attached to the instance on reboot. To attach these volumes to given mount point every time on reboot, execute the following command

echo "/dev/sdf /mnt/disk1ext3 noatime 0 0" >> /etc/fstab"

(Replace text in blue as required)

Check attached volume by using command: df -h

Unmounting the volume

From the Elastic Block Storage Feature Guide: A volume must be unmounted inside the instance before being detached. Failure to do so will result in damage to the file system or the data it contains.

umount /mnt/disk1

Remember to cd out of the volume, otherwise you will get an error message

“umount: /mnt/disk1: device is busy”

Hope the above steps help you get into action in minutes.

In case you get stuck at any point, do comment below. I will be glad to help. 🙂

Categories

Categories

Disclaimer

The following is the opinion of the writer and is not intended to malign any religion, ethnic group, club, organization, company, or individual. The views of the writer are his own, and do not in any way reflect the views of the site they are posted on, other sites affiliated with this site, the staff involved with the site, or any other members of this site. Furthermore, they do not necessarily reflect the views of the the people who live in the author’s neighbor hood, city, province, country, continent, hemisphere, planet, star system, galaxy, or universe of origin. Please also note that the fact the piece is written in English is in no way meant to malign other languages or linguistic entities, nor to malign those who are illiterate or visually impaired and thus are unable to read the piece. Furthermore, the individual letters, words, and punctuation marks involved had no option but to be placed into the story, and should not be held accountable for the writer’s statement. Any spelling or grammatical errors are not the responsibility of the the schools the author attended, the teachers the author was taught by, the regional governments who did or did not fund the author’s educational system, or anyone else involved in the author’s education.