You can examine and edit files on the root EBS volume on an EC2 instance even if you are in what you considered a disastrous situation like:
-
You lost your ssh key or forgot your password
-
You made a mistake editing the
/etc/sudoersfile and can no longer gain root access withsudoto fix it -
Your long running instance is hung for some reason, cannot be contacted, and fails to boot properly
-
You need to recover files off of the instance but cannot get to it
On a physical computer sitting at your desk, you could simply boot the system with a CD or USB stick, mount the hard drive, check out and fix the files, then reboot the computer to be back in business.
A remote EC2 instance, however, seems distant and inaccessible when you are in one of these situations. Fortunately, AWS provides us with the power and flexibility to be able to recover a system like this, provided that we are running EBS boot instances and not instance-store.
The approach on EC2 is somewhat similar to the physical solution, but we’re going to move and mount the faulty “hard drive” (root EBS volume) to a different instance, fix it, then move it back.
In some situations, it might simply be easier to start a new EC2 instance and throw away the bad one, but if you really want to fix your files, here is the approach that has worked for many: