Regras de entrada do grupo de segurança Terraform AWS

1

Como você define várias regras do Ingress em um grupo de segurança da AWS com o Terraform?

Eu tentei isso:

resource "aws_security_group" "sg_allowall" {
  name = "${var.prefix}-allow"

  ingress {
    from_port   = "443"
    to_port     = "443"
    protocol    = "-1"
    cidr_blocks = ["0.0.0.0/0"]
  }

  egress {
    from_port   = "0"
    to_port     = "0"
    protocol    = "-1"
    cidr_blocks = ["0.0.0.0/0"]
  }
}

resource "aws_security_group_rule" "ssh_from_office" {
  type            = "ingress"
  from_port       = 22
  to_port         = 22
  protocol        = "tcp"
  cidr_blocks     = ["192.202.168.66/32"]

  security_group_id = "${resource.sg_allowall.id}"
}

mas recebo o seguinte erro:

Error: resource 'aws_security_group_rule.ssh_from_office' config: unknown resource 'resource.sg_allowall' referenced in variable resource.sg_allowall.id
    
por Ken J 12.10.2018 / 17:38

1 resposta

1

Duas questões aqui. Primeiro, para fazer referência ao grupo de segurança que você criou, você precisa usar a sintaxe de correções:

security_group_id = "${aws_security_group.sg_allowall.id}"

Dê uma boa olhada nos documentos de sintaxe do Terraform .

Em segundo lugar, não é recomendado misturar blocos inline com regras de grupos de segurança independentes. Há um aviso nos documentos sobre isso, então talvez dê uma olhada nisso também.

    
por 12.10.2018 / 23:16

Tags