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

AWS ECS Fargate任务无法访问Rekognition服务-504网关超时排查

问题描述

已配置AWS ECS Fargate服务,任务绑定任务角色,同时为Rekognition服务配置了VPC终端节点。但调用Rekognition服务API时出现504网关超时。采用类似配置可正常调用S3存储桶,请问连接Rekognition API时遗漏了什么配置?

现有配置信息

任务角色策略

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "rekognition:*"
            ],
            "Resource": "*"
        }
    ]
}

任务角色信任关系

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "",
            "Effect": "Allow",
            "Principal": {
                "Service": "ecs-tasks.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

服务安全组规则

安全组入站/出站规则

网络环境

ECS服务运行在私有子网中。


排查与解决方案

针对私有子网中ECS Fargate调用Rekognition VPC终端节点出现504超时的问题,结合S3正常的对比,重点检查以下关键配置:

1. Rekognition VPC终端节点类型与DNS配置

Rekognition仅支持接口型VPC终端节点(服务名称为com.amazonaws.<区域>.rekognition),而S3使用的是网关型终端节点,这是核心差异:

  • 确认创建的是Rekognition接口终端节点,而非错误创建网关终端节点。
  • 必须勾选终端节点的Enable DNS name选项。若未启用DNS,Fargate任务无法通过Rekognition公共域名解析到终端节点私有IP,会尝试走公网导致超时。

2. 安全组规则互访配置

  • 检查Rekognition接口终端节点的安全组,需添加入站规则:允许ECS任务所在安全组发起的TCP 443端口流量。
  • 确认ECS任务的安全组出站规则(从截图看是全放开),但需确保终端节点安全组的入站规则未限制流量。

3. 网络ACL双向放行

私有子网对应的网络ACL需同时配置:

  • 出站规则:允许TCP 443流量到Rekognition终端节点的CIDR范围。
  • 入站规则:允许TCP 443的响应流量(从终端节点CIDR到私有子网CIDR)。

4. Rekognition API的S3依赖处理

若调用的Rekognition接口(如DetectLabels)需要访问S3中的媒体文件,需额外确认:

  • S3网关型终端节点已配置,且私有子网路由表添加了对应路由条目。
  • 任务角色拥有访问目标S3对象的权限(权限缺失可能导致超时或隐式失败)。

快速验证步骤

  1. 在同私有子网内启动测试EC2实例,绑定相同任务角色,调用Rekognition API并抓包,确认流量是否指向终端节点私有IP。
  2. 查看Rekognition终端节点的CloudWatch指标(如ConnectionAttempts、ConnectionErrors),定位连接失败原因。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 00:11:21