When you need to upgrade an application on an AWS EC2 instance with minimum downtime, there are many options.
Upgrade an EC2 instance
- Stop the application, so users don’t make more changes,
- Create a backup of the database (snapshot of the RDS instance),
- Create a backup of the server (backup image of the EC2 instance),
- Upgrade the application on the server,
- Start the application,
- Test the new version of the application.
In case the upgrade fails, or the post-upgrade test fails
- Stop the application,
- If you use RightScale to launch servers:
- stop the RightLink service on the failed server to prevent RightScale auto terminating the restored server
(When RightScale finds a new identical server instance, it automatically shuts it down to avoid multiple instances with the same identifier.) - Terminate the failed server
- stop the RightLink service on the failed server to prevent RightScale auto terminating the restored server
- Stop the failed server,
- Restore the database from the pre-upgrade backup with a new name,
- Restore the server instance from the pre-upgrade backup,
- Start the restored server,
- Change the database address in the application’s config file to point to the restored database,
- Start the application,
- Test the restored version of the application.
To make the backup image of the AWS EC2 instance
- Open the AWS console and navigate to EC2, Running instances
- Find the server instance you want to backup
- Right-click the row of the instance and select Image, Create Image
- Name the image and click the Create Image button
- Save the image Id from the popup