Skip to content
Snippets Groups Projects
autoscaling-group.tf 1.23 KiB
Newer Older
resource "aws_autoscaling_group" "secure-agent-autoscaling-group" {
  # as per our current licesning in IICS, each docker instance that
  # runs on EC2 will treat at as a new license.
  name = "secure-agent-autoscaling-group"
  desired_capacity = 1
  max_size = 1
  min_size = 1

  vpc_zone_identifier = data.aws_subnet_ids.subnets.ids
  health_check_type = "EC2"
  launch_configuration = aws_launch_configuration.secure-agent-launch-config.name
}

data "aws_ami" "ecs-optimized" {
  most_recent = true
  owners      = ["amazon"]

  filter {
    name   = "name"
    values = ["amzn2-ami-hvm-*"]
  }
}

resource "aws_launch_configuration" "secure-agent-launch-config" {
  name = "secure-agnet-launch-configuration"
  image_id      = data.aws_ami.ecs-optimized.image_id
  enable_monitoring = false

  iam_instance_profile = aws_iam_instance_profile.ecs-instance-profile.name
  security_groups = [data.aws_security_group.sec-group.id]
  user_data = <<EOF
              #!/bin/bash
              echo ECS_CLUSTER=${var.ecs_cluster_name} >> /etc/ecs/ecs.config
              yum install -y ecs-init
              service docker start
              start ecs
              EOF
  instance_type = var.instance_type
  lifecycle {
    create_before_destroy = true
  }
}