Search code examples
amazon-web-servicestemplatesamazon-ec2terraformterraform-provider-aws

How do I launch an AWS EC2 instance using an AWS launch template with Terraform?


I am trying to build an AWS EC2 redhat instance using an AWS launch template with Terraform.

I can create an launch template with a call to Terraform's resource aws_launch_template. My question is how do I use Terraform to build an EC2 server with the created launch template?

What Terraform aws provider resource do I call?

Many thanks for your help!


Solution

  • Welcome to Stack Overflow!

    You can create an aws_autoscaling_group resource to make use of your new Launch Template. Please see the example here for more details.

    Code:

    resource "aws_launch_template" "foobar" {
      name_prefix   = "foobar"
      image_id      = "ami-1a2b3c"
      instance_type = "t2.micro"
    }
    
    resource "aws_autoscaling_group" "bar" {
      availability_zones = ["us-east-1a"]
      desired_capacity   = 1
      max_size           = 1
      min_size           = 1
    
      launch_template = {
        id      = "${aws_launch_template.foobar.id}"
        version = "$$Latest"
      }
    }