您现在可以设置security group rule descriptions了。这对于维护白名单以进行管理访问非常有用。
我可以在AWS控制台中设置说明,但无法弄清楚如何使用Terraform进行设置。
我的假设是,如果AWS API允许,Terraform可以直接在Terraform代码中明确支持它。或许这是一厢情愿的想法,我们不得不等待Terraform支持新功能,或者我可能只是做错了。
我尝试在规则声明中声明了description属性(就像你对安全组本身的描述一样):
ingress {
from_port = 22
to_port = 22
protocol = "tcp"
cidr_blocks = ["123.456.789.123"]
description = "some rule description"
}
Terraform在计划阶段保释:
aws_security_group.somegroup:ingress.0:无效或未知密钥:description
我还尝试在规则声明中设置标记(就像设置安全组名称一样):
ingress {
from_port = 22
...
tags {
"Description" = "some rule description"
}
}
Terraform在计划阶段保释:
aws_security_group.somegroup:ingress.0:无效或未知密钥:标记
答案 0 :(得分:1)
似乎您没有正确使用Terraform api。
您无法将description
设置为aws_security_group_rule
资源。
aws_security_group_rule
on Terraform.io
resource "aws_security_group_rule" "allow_all" {
type = "ingress"
from_port = 0
to_port = 65535
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
prefix_list_ids = ["pl-12c4e678"]
security_group_id = "sg-123456"
}
您可以将description
设置为aws_security_group
资源。
aws_security_group
on Terraform.io
来自他们的文档:
resource "aws_security_group" "allow_all" {
name = "allow_all"
description = "Allow all inbound traffic"
ingress {
from_port = 0
to_port = 0
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"]
prefix_list_ids = ["pl-12c4e678"]
}
}
aws_security_group
description
属性应在ingress
和egress
声明之外的根范围内声明
答案 1 :(得分:1)
截至目前,您的代码可能有效。