Today I completely obliterated my first EC2 instance. A year ago I moved to Australia, and the lag when connecting to Dublin over SSH was just too much. I wanted a clean slate, running right here in Sydney.
This process is simple, and involves only a few steps. First, make sure everything you want to keep is backed up. Then shut it down, terminate the virtual machine that represents your server, sever it's connection to the internet it by disassociating its IP address, and destroy any attached storage volumes.
If the server in question was your first personal web server, however, the first step can be a pretty sentimental experience. An eclectic mix of packages are installed - dependencies of half-baked but promising projects involving EEG-data processing, astronomy maths, or home automation. There are a number of configuration files for text editors and terminal multiplexers (updated and added to over the years) which when read top-to-bottom, tell the story of a steadily improving mastery of the tools of the trade.
And, obviously, the code you wrote to run on this server. Your code. Demo versions of websites you built for people (and eventually deployed on their hosting). Side-projects that made it far enough to be worth showing to someone. Occasionally, things that were actually used by other people.
In this case, my server contained all of the above, and even had some configuration, code, and data that exists nowhere else. And while I had the option to just attach the storage volume to a new server, it wouldn't have been a fresh start. Sometimes, you just really need to just throw a whole bunch of stuff out. The act of doing so, in choosing what goes and what stays, can be incredibly clarifying.