1

Как определить несколько правил входа в группу безопасности AWS с помощью Terraform?

Я пробовал это:

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}"
}

но я получаю следующую ошибку:

Error: resource 'aws_security_group_rule.ssh_from_office' config: unknown resource 'resource.sg_allowall' referenced in variable resource.sg_allowall.id

1 ответ1

1

Два вопроса здесь. Во-первых, для ссылки на группу безопасности, которую вы создали, вам нужно использовать синтаксис исправлений:

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

Внимательно посмотрите на документы по синтаксису Terraform.

Во-вторых, не рекомендуется смешивать встроенные блоки с правилами автономной группы безопасности. В документах есть предупреждение об этом, так что, возможно, посмотрите на это тоже.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .