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

AWS Lambda经Application Load Balancer调用时未触发问题排查求助

排查思路与解决建议

一、ALB路由规则验证

  • 确认ALB的监听器规则是否匹配请求路径:检查规则中是否设置了与/help/generate对应的路径条件,且动作是转发到目标组。如果使用默认规则(转发所有流量),需确认该规则优先级最高,未被其他更具体的规则覆盖。
  • 核对ALB监听器的协议与端口:若测试用HTTP,确认监听器开启80端口;用HTTPS则需确认证书配置正确,请求使用443端口,避免协议不匹配导致请求被丢弃。

二、目标组配置检查

  • 验证目标组的请求协议版本:ALB转发Lambda的目标组必须设置为HTTP/1.1,协议版本不兼容会导致无法触发Lambda。
  • 检查目标组的路径匹配设置:如果目标组配置了路径前缀,需确保请求路径与该前缀匹配(比如目标组前缀为/help,则/help/generate才会被转发);若目标组无路径设置,确认ALB规则未修改请求路径导致不匹配。
  • 确认目标组的注册状态:在目标组的“目标”标签页下,检查Lambda是否成功注册,状态显示为“健康”。

三、Lambda权限与触发配置

  • 添加ALB触发Lambda的资源策略:Lambda必须允许ALB调用,示例策略如下:
    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "Service": "elasticloadbalancing.amazonaws.com"
          },
          "Action": "lambda:InvokeFunction",
          "Resource": "arn:aws:lambda:区域:账号ID:function:函数名",
          "Condition": {
            "ArnLike": {
              "AWS:SourceArn": "arn:aws:elasticloadbalancing:区域:账号ID:loadbalancer/app/ALB名称/ALB-ID"
            }
          }
        }
      ]
    }
    
  • 检查Lambda执行角色权限:确保执行角色拥有CloudWatch日志写入权限(避免触发后无日志记录),且无权限变更导致的功能异常。

四、请求与响应调试

  • 用curl命令输出详细请求日志:
    curl -v https://xxxxx.amazonaws.com/help/generate
    
    查看HTTP状态码和响应内容:4xx多为路由或权限问题,5xx可能是Lambda执行出错或ALB转发异常。
  • 开启ALB访问日志:将日志存储到S3,查看请求是否到达ALB,以及ALB转发请求的结果(比如target_processing_time为0说明未转发到Lambda)。

五、VPC与网络细节

  • 确认Lambda子网的路由表:若Lambda在VPC中,子网需配置互联网网关(IGW)或NAT网关,保证Lambda能访问AWS服务(比如健康检查、日志写入)。
  • 检查NACL出站规则:除入站允许ALB流量外,出站规则需允许Lambda向AWS服务端点发送流量,否则即使触发也无法执行或记录日志。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 14:20:07