You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Terraform EKS模块中cluster_security_group_id作用及RDS访问问题

问题解答

1. cluster_security_group_id 的实际用途

这个参数指定的安全组是绑定到EKS集群控制平面的弹性网络接口(ENI)上的,核心作用是管控控制平面与工作节点之间的管理通信:比如API Server和节点kubelet的交互、控制平面到节点的运维流量等。它完全不关联Pod的网络流量,所以你把data-sg赋值给这个参数,只会让控制平面使用该安全组,Pod根本不会加入这个组,这就是你看不到Pod在data-sg里的原因。

2. 需要在data-sg中允许哪个安全组的入站流量

要让EKS Pod访问RDS,得根据你使用的CNI插件类型来配置:

  • 默认AWS VPC CNI:Pod的网络流量通过节点的主ENI或辅助ENI转发,出站流量的源安全组就是EKS工作节点的安全组。你需要在data-sg中添加入站规则,允许节点安全组的对应端口(比如PostgreSQL的5432)流量。
  • 使用Security Group for Pods功能:如果你给Pod单独配置了安全组,就需要把Pod的安全组加入data-sg的入站规则。
  • 其他CNI(如Calico):多数情况下依然依赖节点安全组,但如果是自定义网络模式,需要确认CNI的流量转发逻辑,通常还是需要允许节点安全组的入站。

你之前添加cluster_primary_security_group_id无效,是因为这个安全组是EKS默认创建的集群主安全组(仅当create_cluster_security_group=true时生成),和Pod的流量没有关联。

额外排查点

  • 确认RDS和EKS节点在同一个VPC内,且RDS的子网与节点子网有网络连通性
  • 检查VPC的网络ACL是否允许节点子网到RDS子网的对应端口流量
  • 确认节点安全组本身允许出站到RDS的5432端口

内容的提问来源于stack exchange,提问作者user4601931

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 15:15:32