Terraform中该AWS安全组声明的含义及Ingress规则疑问
Terraform AWS安全组Ingress规则解析
先看你提供的Terraform代码:
resource "aws_security_group" "xxx" { name = "xxx" description = "xxx" vpc_id = xxxx ingress { description = "xxxx" from_port = 5432 to_port = 5432 protocol = "TCP" self = true } }
1. 这条Ingress规则允许什么流量?
这条规则允许所有关联了当前安全组的AWS资源,通过TCP协议访问目标资源的5432端口(PostgreSQL默认服务端口)的入站流量。直白点说:同一个安全组内的机器,能互相访问彼此的PostgreSQL服务。
2. self参数的含义是什么?
self = true 表示这条入站规则的源范围是当前安全组本身。也就是说,只要是被分配了这个安全组的资源(比如EC2、RDS等),都被允许发起符合规则的流量到同样属于该安全组的资源。不用手动写CIDR地址,直接用安全组自身作为源地址集合。
3. from_port与to_port取值相同有什么意义?
from_port和to_port分别定义了规则允许的端口范围的起始和结束值。当两者值相同时,说明规则只放行单个特定端口的流量(这里就是PostgreSQL用的5432端口)。如果需要放行一个连续的端口范围(比如1000-2000),才会给这两个参数设置不同的值。这里因为PostgreSQL仅使用单个端口,所以设置相同值来精准限制流量端口。
内容的提问来源于stack exchange,提问作者java_doctor_101
相关产品推荐
相关产品推荐

