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

AWS ECS Fargate上SpringBoot应用无法访问EC2部署的Elasticsearch

问题背景
  • 基础环境:Ubuntu系统的AWS EC2实例上部署8.2.3版本Elasticsearch(监听9200端口)、Kibana(监听5601端口)
  • 初始EC2安全组入站规则:
    • 自定义TCP放行5601端口,源为本地IP CIDR段
    • SSH规则放行22端口,源为本地IP CIDR段
    • 自定义TCP放行9200端口,源为本地IP CIDR段
    • 自定义TCP放行9200端口,源为ECS服务关联安全组
  • 正常表现:本地浏览器可正常访问Elasticsearch、Kibana面板,本地IntelliJ启动的SpringBoot应用可正常执行ES索引创建、文档查询操作
  • 异常表现:SpringBoot应用打包为Docker镜像部署到私有子网运行的ECS Fargate后,持续抛出连接超时异常;临时添加0.0.0.0/0全流量放通规则后ECS服务可正常连通ES,但该规则安全风险过高无法长期使用,此前配置的ECS安全组放通规则未生效。
故障根因

规则不生效和安全组跨组引用能力无关,基本都是配置疏漏导致的:

  1. 连接地址错误:如果SpringBoot配置里填的是EC2公网IP/公网域名,私有子网的Fargate访问流量会经过NAT网关出公网再绕回EC2,此时源IP为NAT网关的公网IP,和ECS任务绑定的安全组不匹配,规则自然不生效。
  2. 安全组规则配置操作错误:添加源为安全组的规则时,如果源类型选了「自定义IP」而非「安全组」,手动输入安全组ID的配置是完全无效的。
  3. 主机层面拦截:Ubuntu默认的ufw防火墙如果未放通9200端口流量,或者Elasticsearch仅绑定127.0.0.1回环地址,就算安全组放通也无法建立连接。
正确配置步骤

按顺序操作即可移除全放通规则,实现安全连通:

  1. 修正Elasticsearch监听配置
    登录EC2实例编辑ES配置文件/etc/elasticsearch/elasticsearch.yml,确认以下配置项:
    network.host: 0.0.0.0
    discovery.seed_hosts: ["127.0.0.1"]
    
    保存后执行sudo systemctl restart elasticsearch重启服务,确保ES监听所有网卡地址,而非仅回环地址。
  2. 替换为私网连接地址
    修改SpringBoot应用配置中的Elasticsearch连接地址,必须填写EC2实例的VPC私有IP,禁止使用公网IP/公网域名。

    提示:EC2实例重启后私有IP可能变动,建议在VPC内创建内网DNS解析记录指向EC2私网IP,避免IP变动导致服务异常。

  3. 重新配置EC2安全组入站规则
    删除0.0.0.0/0的全流量放通规则,保留原有本地IP段的22、5601端口放通规则,重新添加9200端口放通规则:
    • 类型:自定义TCP
    • 端口范围:9200
    • 源类型:选择「安全组」(不要选自定义IP)
    • 源值:选择ECS Fargate任务关联的安全组ID(格式为sg-开头的字符串)
      配置完成后确认规则优先级高于默认拒绝规则即可。
  4. 排查主机与路由连通性
    • 检查Ubuntu主机防火墙:执行sudo ufw status查看规则,若ufw为启用状态,执行sudo ufw allow in on eth0 to any port 9200放通主网卡的9200入站流量。
    • 路由校验:在ECS集群启动一个带curl工具的临时Fargate调试任务,进入任务终端执行curl http://<EC2私网IP>:9200,如果返回ES版本信息说明链路连通正常。如果不通,确认同VPC下路由表存在local类型的VPC全局路由(默认自动创建,手动删除会导致私网不通);若EC2和ECS部署在不同VPC,需要先配置VPC对等连接并添加对应路由条目。
  5. 可选安全加固
    连通性验证通过后,如果本地不需要直接访问Elasticsearch,可以删除原有本地IP段放通9200端口的规则,仅保留本地访问22、5601端口的规则,进一步缩小攻击面。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 05:39:15