【发布时间】:2023-03-29 20:31:01
【问题描述】:
我有一个已经在 AWS 上运行的 EC2 实例,并定义了安全组和规则。
如果假设,我需要在该实例上打开一个端口,如何使用 terraform 将新的安全规则添加到附加到该实例的现有安全组?
每次我尝试更改端口时,都会创建一个具有相同名称的新安全组,导致重名错误
我正在为已经存在的安全组编写规则:
resource "aws_security_group_rule" "rule1" {
count = "${var.count}"
type = "ingress"
from_port = "${var.portNumber}"
to_port = "${var.toPort}"
protocol = "${var.protocol}"
cidr_blocks = "${var.cidr_blocks}"
security_group_id = "sg-061e#####8"
}
resource "aws_security_group_rule" "rule2" {
type = "ingress"
from_port = "${var.portNumber2}"
to_port = "${var.toPort2}"
protocol = "${var.protocol2}"
# Opening to 0.0.0.0/0 can lead to security vulnerabilities.
cidr_blocks = "${var.cidr_blocks2}"
security_group_id = "sg-061e#####8"
}
resource "aws_instance" "example" {
ami = "ami-0375ca3842950ade6"
instance_type = "t2.micro"
key_name = "${aws_key_pair.deployer.id}"
associate_public_ip_address = true
#security_groups = ["sg-061e11f267df00668"]
vpc_security_group_ids = [ "sg-061e#####8"]
}
如何向现有安全组添加安全规则?
【问题讨论】:
-
您能否编辑您的问题以包含您的 Terraform 代码,解释您所做的导致此问题的更改以及您进行所述更改时的计划输出?
-
只是为了确认一下 - 如果您不更改您的 terraform 代码,它是否在不进行任何更改的情况下成功计划/应用?您能否详细说明您正在进行的更改 - 您是在添加新规则,还是在更新
var.portNumber或var.toPort? -
安全组 (sg-0$23232*^*eb7) 开放了 5985 端口,在安全规则中我尝试配置安全规则,使其打开端口 6556
-
这里的问题是如何编辑或添加新规则到现有安全组
-
您是否手动创建和/或编辑安全组?我过去在手动修改安全组并运行 terraform apply 后遇到过这个问题。
标签: amazon-web-services terraform aws-security-group