如何使用 Terraform 设置安全组规则描述?
How can I set the security group rule description with Terraform?
看来您现在可以设置 security group rule descriptions。这对于维护管理访问的白名单非常有用。
我可以在 AWS 控制台中设置描述,但不知道如何使用 Terraform 进行设置。
我的假设是,如果 AWS API 允许,Terraform 无需在 Terraform 代码中明确支持它就可以做到。也许这是一厢情愿的想法,我们将不得不等待 Terraform 支持新功能,或者也许我只是做错了。
我尝试在规则声明中简单地声明描述 属性(就像您对安全组本身的描述所做的那样):
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: invalid or unknown key: description
我还尝试在规则声明中设置标签(就像设置安全组名称一样):
ingress {
from_port = 22
...
tags {
"Description" = "some rule description"
}
}
Terraform 在计划阶段退出:
aws_security_group.somegroup: ingress.0: invalid or unknown key: tags
您似乎没有正确使用 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
声明之外声明,在其根范围
截至目前,这是可能的,您的代码应该有效。
看来您现在可以设置 security group rule descriptions。这对于维护管理访问的白名单非常有用。
我可以在 AWS 控制台中设置描述,但不知道如何使用 Terraform 进行设置。
我的假设是,如果 AWS API 允许,Terraform 无需在 Terraform 代码中明确支持它就可以做到。也许这是一厢情愿的想法,我们将不得不等待 Terraform 支持新功能,或者也许我只是做错了。
我尝试在规则声明中简单地声明描述 属性(就像您对安全组本身的描述所做的那样):
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: invalid or unknown key: description
我还尝试在规则声明中设置标签(就像设置安全组名称一样):
ingress {
from_port = 22
...
tags {
"Description" = "some rule description"
}
}
Terraform 在计划阶段退出:
aws_security_group.somegroup: ingress.0: invalid or unknown key: tags
您似乎没有正确使用 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
声明之外声明,在其根范围
截至目前,这是可能的,您的代码应该有效。