carlochess / terraform-aws-autoscaling

Terraform module which creates Auto Scaling resources on AWS

Home Page:https://registry.terraform.io/modules/terraform-aws-modules/autoscaling/aws

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AWS Auto Scaling Group (ASG) Terraform module

Terraform module which creates Auto Scaling resources on AWS.

These types of resources are supported:

Usage

module "asg" {
  source = "terraform-aws-modules/autoscaling/aws"

  name = "service"

  # Launch configuration
  lc_name = "example-lc"

  image_id        = "ami-ebd02392"
  instance_type   = "t2.micro"
  security_groups = ["sg-12345678"]

  ebs_block_device = [
    {
      device_name           = "/dev/xvdz"
      volume_type           = "gp2"
      volume_size           = "50"
      delete_on_termination = true
    },
  ]

  root_block_device = [
    {
      volume_size = "50"
      volume_type = "gp2"
    },
  ]

  # Auto scaling group
  asg_name                  = "example-asg"
  vpc_zone_identifier       = ["subnet-1235678", "subnet-87654321"]
  health_check_type         = "EC2"
  min_size                  = 0
  max_size                  = 1
  desired_capacity          = 1
  wait_for_capacity_timeout = 0

  tags = [
    {
      key                 = "Environment"
      value               = "dev"
      propagate_at_launch = true
    },
    {
      key                 = "Project"
      value               = "megasecret"
      propagate_at_launch = true
    },
  ]
}

Conditional creation

Normally this module creates both Auto Scaling Group (ASG) and Launch Configuration (LC), and connect them together. It is possible to customize this behaviour passing different parameters to this module:

  1. To create ASG, but not LC. Associate ASG with an existing LC:
create_lc = false
launch_configuration = "existing-launch-configuration"
  1. To create LC, but not ASG. Outputs may produce errors.
create_asg = false
  1. To disable creation of both resources (LC and ASG) you can specify both arguments create_lc = false and create_asg = false. Sometimes you need to use this way to create resources in modules conditionally but Terraform does not allow to use count inside module block.

Examples

Authors

Module managed by Anton Babenko.

License

Apache 2 Licensed. See LICENSE for full details.

About

Terraform module which creates Auto Scaling resources on AWS

https://registry.terraform.io/modules/terraform-aws-modules/autoscaling/aws

License:Other


Languages

Language:HCL 100.0%