If your instance is "EBS-backed", then your root volume will be EBS. From your operating system's point of view, it will just look like an ordinary volume, but the data will be persisted to the EBS storage. You don't need to do anything special. If you desire, you can attach a second EBS volume to store your data on. Once it's attached, then it will just look like any other volume.
If your instance is "instance-store", then you don't have the option of stopping and restarting your instance. You can only terminate it, and if you do (whether intentionally or not), any updates to your root volume will be lost and you will need to re-install and re-upload your data.
Even if you use an EBS-backed EC2 instance, I recommend creating an AMI image in case you need to create a new instance (if your original instance goes down or is otherwise inaccessible).
I recommend following a gold-ami-instance pattern:
- Create a "gold" EC2 instance which is considered your "master copy". All updates are done to this instance, but this instance is never accessed by your visitors, only you via RDP, SSH, etc. Turn this instance off except when updating.
- Create an AMI of your gold instance.
- Create as many instances from your AMI image as needed. Point your Elastic IP or ELB to these instances (not your gold instance). These instance should have RDP, SSH access blocked using security groups. Only let http/https through.
- When you need to update your website, start your gold instance, update the site on that instance, create a new AMI, then launch new instances from the new AMI and terminate the old instances.