Undelete files from amazon EC2 EBS - amazon-ec2

I deleted a bunch of files accidentally from an amazon Instances attached EBS volume.
I shutdown the AMI,
detached the volume,
started a new AMI, and attached the volume to the new AMI
ran recoverng the files using extundelete.
Nothing is recovered into the RECOVERED_FILES directory.
Am I missing something? Is there some other way?

I am going to say that you are screwed, unless you snapshotted the EBS volume recently.

Related

How to Backup running EC2 instances with EBS root volumes?

I am new to AWS and had to take over an existing VPC with multiple EC2 instances.
I am looking for a way to backup the instances (whole disks).
I read about EBS snapshots on forums and this seems a good solution.
The instances' root disks are all EBS volumes.
I read the AWS documentation on EBS snapshot which states as shown below:
To create a snapshot for Amazon EBS volumes that serve as root devices, you should stop the instance before taking the snapshot.
I cannot shutdown the EC2 instances just for a backup.
How do senior AWS sysadmins back up their instances with EBS root volumes ?
With KVM it is possible to pause a host. Is there a similar functionality available in AWS?

Can an existing device-name be given to a new EBS volume being attached to an Amazon EC2 instance?

Let's say there is a single disk Disk 0 at an Amazon EC2 instance Instance1 with the corresponding EBS volume having the device-name /dev/sd1. Let's say this disk maps to C-drive on the VM.
Now can we create a new EBS volume attach it to Instance1 with the same device-name /dev/sd1?
If this is possible, does it mean, after the volume is attached, we can go ahead and extend the existing C-drive at Instance1, without having to go through the process of detaching it first, creating a snapshot etc.?
If an EBS volume is already mounted at /dev/sd1, it is not possible to mount another volume as that device.
First, detach the existing volume, then attach a new volume.
To extend the size of an EBS volume:
Detach the EBS volume from the EC2 instance
Create Snapshot of the EBS volume
Create Volume from the snapshot, making the volume larger
Attach the new EBS volume to the EC2 instance
The disk partition will also need to be extended. This can be done with the Disk Management console (Windows) or with the resize2fs command (Linux).

ec2 ephemeral storage data recovery

Had some data on ephemeral storage of a ec2 medium instance. They are lost between server reboot. I had a ami created just before the reboot. Is it supposed to contain that data? I had created a new instance from that ami but can't find the data on new ephemeral drive.
ok. I got it. Create Image only creates ebs backed ami. Creating instance storage backed ami is different. It is described here creating an instance store ami
Ephemeral drives on EC2 are, by definition, ephemeral. This means that their data in not kept between reboots, and not saved as part of the AMI image.
You can read more on what you can an cannot do with these kinds of disks here.

Can a new EC2 instance attach to EBS volumes that are currently attached to another EC2 instance that's failed in reachability check?

I have an EC2 small instance, which has two EBS volumes attached and has EBS as root device. Now the EC2 instance is not reachable for some reason (AWS engineers are looking into it). In the mean while, we are thinking about launch another EC2 instance and attach it to the two EBS volumes. What's the best practice for that purpose? Do I need to take snapshot of the volumes before re-attach to the new EC2 instance? Can we attach to them without destroying the existing data on the volumes?
You do not need to take a snapshot in order to attach the volume to a new instance. You can simply detach the volumes and re-attach them to a new instance.
Your data will not be destroyed in this process.
Hope it helps.

Are files saved on EBS volume? Are they not supposed to be saved? I'm confused

So I create an instance using one of the Public AMI EBS Ubuntu flavors. I create an EBS volume and attach it to the instance. I format the volume and add an entry to /etc/fstab to mount it on /vol. I add mysql to the AMI and move the data files to the EBS volume I formatted and mounted at /vol. I then create an AMI from the running instance. Then I terminate the running instance.
I start a new instance using the freshly created AMI (with mysql on it). The /vol is mounted has the mysql data files - good, I expect that. Here's where I am confused. When I create any directory or files on the EBS volume /vol they aren't there any more after I terminate the instance and create a new one. The mysql stuff is there but no new stuff I created. Aren't those files and directory supposed to be there? Or am I misunderstanding how this works?
When you create an AMI, "Amazon EC2 powers down the instance, takes images of any volumes that were attached, creates and registers the AMI, and then reboots the instance." -Amazon. When the AMI is used to launch an instance, the images (snapshots) of the attached drives are used to create new volumes. It is these new volumes that are attached to the new instance, not your original EBS. (This generates lots of orphan volumes and snapshots with ongoing use.)
There is no automatic attaching of the EBS volume you created. What is automatically attached is the volume it creates at the time of launching the instance from your AMI! It creates this volume from the snapshot it made of your EBS at the time of the AMI creation!
The way to avoid clone volumes from being created and attached to new instances is simple: detach your volumes before making AMIs. You need to attach your EBS volumes manually with the EC2 Web Control Panel, or programmatically with .net or Java programming, scripting or command line tools.
EBS volumes are not tied to an AMI, only to the literal instance you attach them to. When you created your AMI and a new instance from that, the EBS is not cloned, nor does it follow you to the new instance.
You could move the EBS drive to the new instance manually. Alternately you could snapshot the EBS volume & clone a new drive from that.

Resources