AWS私有子网内Lambda通过interface endpoint连接SQS超时问题求助
缺失配置排查清单
以下是你当前遗漏的核心配置,按排查优先级排序:
- 安全组端口配置错误
你当前开放的22端口是SSH服务专用端口,SQS的API访问默认走HTTPS 443端口,需要补充两组安全组规则:- Lambda关联的安全组:出站方向开放TCP 443,目标为SQS Interface Endpoint关联的安全组或其私有IP段
- SQS Interface Endpoint关联的安全组:入站方向开放TCP 443,源为Lambda关联的安全组ID
- VPC DNS属性未正确开启
要让sqs.eu-central-1.amazonaws.com域名解析到SQS Interface Endpoint的私有IP而非公网IP,必须开启VPC的两个DNS配置项:enableDnsSupport设为true,启用VPC内置DNS解析服务enableDnsHostnames设为true,启用VPC内资源的DNS主机名分配
该配置缺失是触发本次连接超时的常见原因:私有子网无公网出口,请求发到SQS公网IP必然超时。
- SQS Interface Endpoint部署范围不匹配
确认你创建的SQS Interface Endpoint已经部署到Lambda所在私有子网对应的可用区,确保Lambda可以访问到同可用区的Endpoint弹性网卡。 - 权限配置校验(非超时直接原因,属于常见遗漏)
确认两处权限配置:- SQS Interface Endpoint的端点策略允许Lambda执行角色调用
sqs:SendMessage操作 - Lambda的执行角色IAM策略中已经添加了对应SQS队列的操作权限
- SQS Interface Endpoint的端点策略允许Lambda执行角色调用
- 代码配置校验
确认代码中ENDPOINT_URL_SQS参数为你创建的SQS Interface Endpoint的正确域名;如果你已经开启了VPC私有DNS,也可以去掉自定义Endpoint配置,直接使用默认客户端构造逻辑,SDK会自动解析到私有Endpoint地址。
内容的提问来源于stack exchange,提问作者Nane Petrosyan
相关产品推荐
相关产品推荐

