Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services Terraform将现有安全组添加到新的自动缩放ec2组_Amazon Web Services_Amazon Ec2_Terraform_Autoscaling - Fatal编程技术网

Amazon web services Terraform将现有安全组添加到新的自动缩放ec2组

Amazon web services Terraform将现有安全组添加到新的自动缩放ec2组,amazon-web-services,amazon-ec2,terraform,autoscaling,Amazon Web Services,Amazon Ec2,Terraform,Autoscaling,我想将VPC中定义的现有安全组添加到EC2自动扩展组。 没有定义LB。本例现在创建一个EC2实例 Terraform文档表明,这对于使用sg_附件的EC2实例是可能的 resource "aws_network_interface_sg_attachment" "bastion" { security_group_id = var.sg_id network_interface_id = aws_autoscaling_group.bastion.primary_network_i

我想将VPC中定义的现有安全组添加到EC2自动扩展组。 没有定义LB。本例现在创建一个EC2实例

Terraform文档表明,这对于使用sg_附件的EC2实例是可能的

resource "aws_network_interface_sg_attachment" "bastion" {
  security_group_id    = var.sg_id
  network_interface_id = aws_autoscaling_group.bastion.primary_network_interface_id
}
但我得到以下错误,可能是因为我使用的是自动缩放组:

错误:不支持的属性

在……\modules\ec2\u auto\u scaling\u group\bastion.tf第51行的 资源“aws网络接口”sg附件“堡垒”:51:
网络接口id= aws\u自动校准\u组.bastion.primary\u网络\u接口\u id

此对象没有名为的参数、嵌套块或导出属性 “主网络接口id”

我看到了自动缩放组附件-

但这根本不涉及安全组


当然,我可以使用所有相同的规则隐式地指定一个新的安全组,或者只声明一个ec2实例。但是,在控制台上创建自动缩放组时,您可以选择导入现有安全组。所以我认为terraform有一个等价物。

看来我忽略了以前的设置:

resource "aws_launch_configuration" "bastion" {
  # Launch configuration can't be updated, (provisioning)
  # in order to update the resource will be destroyed and rebuilt

  name_prefix = var.bastion_name_prefix

  image_id = data.aws_ami.RHEL_77.id 
  instance_type = var.bastion_instance_type
  key_name = aws_key_pair.bastion.key_name
  associate_public_ip_address = true
  enable_monitoring = false
  security_groups = [var.vpc_main_sg_id,aws_security_group.bastion.id]

  lifecycle {
      create_before_destroy = true
  }
}

将安全组添加到aws_launch_配置中,修复了此问题。

所有自动缩放组都需要启动配置或启动模板来提供实例设置。我建议考虑使用启动模板,因为它是使用所有较新的自动缩放功能所必需的