What happens when I reboot an EC2 instance?
When I reboot an EC2 instance, do I get the initial image again, or is the state of the hard disk before the reboot kept?
And what happens with billing, does the hour start again, or do I continue with the fraction of the hour I was in when I rebooted?
Rebooting an instance is like rebooting a PC. The hard disk isn't affected. You don't return to the image's original state, but the contents of the hard disks are those before the reboot.
Rebooting isn't associated with billing. Billing starts when you instantiate an image and stops when you terminate it. Rebooting in between hasn't any effect.
Rebooting keeps the disks intact.
If you shut down the instance and power up a new one, the disks will be reset to their initial states.
This doesn't apply to the EBS disks, which persist even across shutdowns.
As per AWS Documentation:
An instance reboot is equivalent to an operating system reboot. In most cases, it takes only a few minutes to reboot your instance. When you reboot an instance, it remains on the same physical host, so your instance keeps its public DNS name (IPv4), private IPv4 address, IPv6 address (if applicable), and any data on its instance store volumes.
Rebooting an instance doesn't start a new instance billing hour, unlike stopping and restarting your instance.
Further, they recommend:
We recommend that you use Amazon EC2 to reboot your instance instead of running the operating system reboot command from your instance. If you use Amazon EC2 to reboot your instance, we perform a hard reboot if the instance does not cleanly shut down within four minutes.