Правила входа в группу безопасности Terraform AWS

242
Ken J

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

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

resource "aws_security_group" "sg_allowall" { name = "$-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 = "$" } 

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

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
Alexander

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

security_group_id = "$" 

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

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