安全组定义中不允许自引用

Posted

技术标签:

【中文标题】安全组定义中不允许自引用【英文标题】:self-reference not allowed in Security Group definition 【发布时间】:2018-10-04 08:17:15 【问题描述】:

我正在尝试使用 Terraform 创建一个 sg。

我希望特定 SG 的所有实例都允许它们之间的所有通信,因此我将 SG 本身添加到入口规则中,如下所示:

resource "aws_security_group" "rancher-server-sg" 
  vpc_id = "$aws_vpc.rancher-vpc.id"
  name = "rancher-server-sg"
  description = "security group for rancher server"

  ingress 
      from_port = 0
      to_port = 0
      protocol = -1
      security_groups = ["$aws_security_group.rancher-server-sg.id"]              
  

但是在运行terraform plan 时,我得到:


但是,在 AWS 控制台中,我可以在入站规则中添加 SG 名称,并且我看到我可以添加组本身(即自引用)。

为什么会这样?

我也试过这个没有成功:

security_groups = ["$self.id"]

【问题讨论】:

【参考方案1】:

引用the manual:

self - (可选)如果为真,安全组本身将被添加为 此入口规则的来源。

  ingress 
      from_port = 0
      to_port = 0
      protocol = -1
      self = true
  

【讨论】:

以上是关于安全组定义中不允许自引用的主要内容,如果未能解决你的问题,请参考以下文章

AWS CloudFormation:默认 VPC“vpc”中不存在安全组“sg-”

阿里云ECS镜像,标签,安全组操作

云网络安全组防护

Auto Scaling 活动失败,因为 VPC 中不存在安全组

AWS 安全组不允许入站流量

尝试提取最后一组数据时,安全图形 API 中不存在 @data.nextlink