The canonical AWS answer here is: Elastic Beanstalk.
If you use a CI tool, it probably has a CD counterpart which can pipe a passing build directly to EB.
Or you can deploy manually from your repo with "eb deploy".
In either case, AWS will automatically bring the app up on new instances, and test them. If everything looks good, the load balancer will direct live traffic to the new instances, and then spin down the old ones.
If you use a CI tool, it probably has a CD counterpart which can pipe a passing build directly to EB.
Or you can deploy manually from your repo with "eb deploy".
In either case, AWS will automatically bring the app up on new instances, and test them. If everything looks good, the load balancer will direct live traffic to the new instances, and then spin down the old ones.
Config changes use a similar process.