简体   繁体   中英

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!

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"
  }
}

Here is the code I used to build an EC2 image with a launch template.

variable "aws_access_key" {}
variable "aws_secret_key" {}

provider "aws" {
    access_key = "${var.aws_access_key}"
    secret_key = "${var.aws_secret_key}"
    region     = "us-east-1"
}

resource "aws_launch_template" "foobar" {
    name_prefix   = "foobar"
    image_id      = "ami-0080e4c5bc078760e"
    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"
    }
}

Many thanks Adil!

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM