无法从AWS Lambda连接Lightsail实例上的MySQL,同VPC EC2可连,如何排查?
遗漏配置排查清单
- VPC对等连接路由配置缺失
仅开启VPC对等连接不会自动生效,需要双向配置路由规则:- Lambda所在VPC的关联子网路由表,需添加Lightsail VPC网段的路由条目,下一跳选择已创建的对等连接ID
- Lightsail侧VPC路由表,需添加Lambda所在VPC网段的路由条目,下一跳选择同个对等连接ID
- Lambda安全组出站规则未开放
你导入的安全组需确认出站规则是否允许TCP 3306端口的流量发往Lightsail MySQL的IP/网段,若安全组默认限制了出站流量,未放行3306端口会导致连接超时 - Lightsail防火墙源地址限制
检查Lightsail防火墙3306端口的允许源地址范围,若仅配置了同VPC下EC2所在子网的网段,未包含Lambda关联子网的网段,会拦截Lambda的访问请求 - Lambda子网类型不匹配
你在CDK中将Lambda绑定到了isolated_subnet_ids(隔离子网),该类型子网默认无公网出口:
若你代码中填写的MySQLhost是Lightsail实例的公网IP,隔离子网的Lambda无法访问公网资源,需将Lambda迁移到带NAT网关的私有子网,或改为填写Lightsail实例的内网IP作为连接地址 - VPC网络ACL限制
检查Lambda所在VPC的网络ACL配置,确认出站允许TCP 3306端口、入站允许临时端口(1024-65535)的回程流量,Lightsail侧VPC的网络ACL也要对应放行相关端口的流量
内容的提问来源于stack exchange,提问作者nemy
相关产品推荐
相关产品推荐

