Search code examples
amazon-web-servicesamazon-ec2aws-code-deployamazon-aurora

AWS Aurora migration during deployment


I would like to make a step towards a no-downtime continuous deployment of my application. I have an app running on an EC2 instance that connects to the aurora database. During the deployment I need to run the database migration scripts and update the app running on EC2. How can I update both of them without causing any down time? I probably can configure Elastic Beanstalk/CodeDeploy to update the EC2 instance in such a way that for a while I will in fact have 2 instances of my app running on 2 separate EC2 instances, but that still gives me only one instance of the database. If I run my migration scripts, this may assassinate one of the instances of my application and if the deployment for some reason fails, I might not be able to revert the changes done to the database.

So basically the question is: what is the right way to apply the SQL migration scripts without causing any downtime?


Solution

  • That would depend on your specific situation and type of DB migration. One route you can follow, taken directly from AWS documentation is :