简体   繁体   中英

Terraform change Hostname on subnet

I am launching two ec2 instances with an autoscale group in terraform. The hostnames of the two ec2 need to be different based on the su.net (vpc_zone_identifier) its launched into (one should be xxxx-proxy01 and the other should be xxxx-proxy02). Is there a way i can do this?

### EC2, ASG, LAUNCH CONFIG
resource "aws_launch_configuration" "as_conf" {
  name          = "${local.name}-launchconfig"
  image_id      = "ami-xxxxxx"
  instance_type = "t4g.xxxxx"
  iam_instance_profile = aws_iam_instance_profile.xxxxx_profile.id
  key_name      = aws_key_pair.proxy.key_name
  user_data = templatefile("${path.module}/templates/user_data_proxy.tftpl", 
  {
    hostname              = format("%s-proxy%02d", local.name_prefix, 1)
    region                = var.region
    enable_x11_forwarding = "false"
  }
  )

}

resource "aws_autoscaling_group" "auto_scaler" {
  name                      = "${local.name}-group"
  max_size                  = 2
  min_size                  = 2
  health_check_grace_period = 30
  health_check_type         = "EC2"
  desired_capacity          = 2
  force_delete              = true
  launch_configuration      = aws_launch_configuration.as_conf.name
  vpc_zone_identifier       = [module.vpc.subnet_ids["app"][0], module.vpc.subnet_ids["app"][1]]
``

You can do that. You have to amend your userdata to fetch the su.net-id , availability-zone-id or what you want from ec2 metadata .

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