У меня есть эта группа безопасности AWS, определенная в terraform:
resource "aws_security_group" "sg" {
name = "${var.name}"
description = "${var.description}"
vpc_id = "${data.terraform_remote_state.vpc.vpc_id}"
ingress {
from_port = 80
to_port = 80
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
}
ingress {
from_port = 443
to_port = 443
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
}
ingress {
from_port = 22
to_port = 22
protocol = "tcp"
cidr_blocks = ["${var.ext_blocks}"]
}
egress {
from_port = 0
to_port = 0
protocol = "-1"
cidr_blocks = ["0.0.0.0/0"]
}
}
При этой конфигурации любой порт может использоваться как исходящий / исходящий.Но если я хочу исключить некоторые порты, каков будет рекомендуемый способ?
Допустим, я хочу исключить порты 25 и 465, чтобы я мог сделать что-то вроде (вместо того, чтобы использовать это одно правило выхода, которое позволяет любомупорт):
egress {
from_port = 0
to_port = 24
protocol = "-1"
cidr_blocks = ["0.0.0.0/0"]
}
egress {
from_port = 26
to_port = 464
protocol = "-1"
cidr_blocks = ["0.0.0.0/0"]
}
egress {
from_port = 466
to_port = 65535
protocol = "-1"
cidr_blocks = ["0.0.0.0/0"]
}
Но для этого необходимо определить конкретные диапазоны, которые требуют определения некоторых дополнительных правил выхода.Может быть, есть лучший способ?Например, где я могу определить правило, разрешающее все порты, а затем исключить некоторые?