O'Reilly logo

Getting Started with Terraform by Kirill Shirinkin

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Rolling out AMI upgrades with Terraform

Remember that we used data resource "aws_ami" to pull the latest AMI belonging to the AWS account configured in the template? At that moment, we didn't put much effort into it, blindly pulling any existing AMI , as long as it is the latest updated one:

data "aws_ami" "app-ami" { 
  most_recent = true 
  owners = ["self"] 
} 

With Packer building our AMIs, we can put a bit more effort into this resource. We need to make sure that it pulls the image that is suitable for this application. First, simplify Packer template: remove any variables and make sure that the "ami_name" key looks as simple as the following:

"ami_name": "centos-7-base-puppet-{{timestamp}}", 

Rebake the image and then modify Terraform application module ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required