Rolling ASG deployments with Terraform on AWS
This is a demo project that accompanies a blog post I wrote. It shows how to use various tools from the Hashicorp stack to achieve rolling deployments on AWS with zero downtime.
The post is here: https://robmorgan.id.au/posts/rolling-deploys-on-aws-using-terraform/
It is based on a concept from Paul Hinze: https://groups.google.com/forum/#!msg/terraform-tool/7Gdhv1OAc80/iNQ93riiLwAJ
You should have the following tools installed:
Additionally you will need the following environment variables set:
ssh_keysdirectory and update the path in
Makefile, simply run:
$ make bake
When Packer finishes running it will output an AMI ID we need for the next step.
$ make plan AMI="ami-XXXYYYZZ" $ make apply AMI="ami-XXXYYYZZ"
$ make bake $ make plan AMI="ami-XXXYYYZZ" $ make apply AMI="ami-XXXYYYZZ"
You can run the included tests using
$ make test