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

如何通过AWS VPN终端节点访问同VPC内EKS集群的Pod服务?

解决方案

方法1:使用ClusterIP Service直接访问

  • K8s默认的ClusterIP类型Service会分配一个VPC内可达的私有IP,这个IP可以被VPC内(包括VPN连接后的客户端)的资源访问。
  • 先获取你的Service的ClusterIP和映射端口(需对应Pod的3005端口),连接VPN后直接用ClusterIP:端口访问即可。
  • 核心原因:Pod IP属于K8s集群的Overlay内网网段,VPC内非EKS节点无法直接路由;而ClusterIP的流量会由EKS节点负责转发到Pod,全程在VPC内部流转。
  • 确保EKS节点安全组允许VPN客户端所在的VPC CIDR访问该Service的端口。

方法2:使用NodePort Service

  • 创建NodePort类型的Service,指定一个30000-32767范围内的端口,映射到Pod的3005端口。
  • 配置EKS节点安全组,允许VPN客户端CIDR访问这个NodePort端口。
  • 连接VPN后,用任意EKS节点的私有IP加上NodePort即可访问服务,流量完全在VPC内部。

方法3:使用AWS内网负载均衡器(Internal LoadBalancer)

  • 若需要稳定的入口(不依赖单个节点或ClusterIP),可以创建仅VPC内部可达的内网ELB,不会生成公网IP。
  • 示例Service YAML配置:
apiVersion: v1
kind: Service
metadata:
  name: your-service
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-internal: "true"
spec:
  type: LoadBalancer
  ports:
    - port: 80
      targetPort: 3005
  selector:
    app: your-pod-label
  • 内网ELB的私有域名/IP仅在VPC内可访问,连接VPN后直接使用即可,完全符合你的需求。

关键检查项

  • 确认VPN客户端的IP段已加入EKS集群所在VPC的路由表,保证流量能路由到EKS节点或内网ELB。
  • 验证EKS节点安全组的入站规则,已允许VPN客户端CIDR访问对应服务端口。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 07:42:35