如何解决具有互联网访问权限的AWS VPC有时因外部请求而超时
我已经在AWS中创建了一个VPC(由于lambda内部需要RDS连接),该VPC大多数时候都可以访问互联网,但有时我的外部请求超时(大多数情况是SES发生,因为它们是大多数外部请求)。我已经按照以下方式配置了我的VPC(对不起,不是按照创建的顺序,只是从AWS上读取了它们):
- 具有172.30.0.0/16 CIDR的VPC
- 3个私有子网,分别具有172.30.0.0/24、172.30.1.0/24、172.30.2.0/24和每个(1a,1b,1c)不同的可用区,其中0.0.0.0/0路由针对我的NAT
- 1个具有172.30.3.0/24到1a可用区的公共子网,其0.0.0.0/0路由以我的IGW为目标
- 2个路由表(私有和公共),私有路由表中有3个私有子网,私有子网中有一个公共子网
- 用于将所有出站流量定向到0.0.0.0/0的lambda的安全组
- Lambda配置为使用这些子网和给定的安全组。
我不明白为什么我的Internet请求有时会从VPC内部失败,这就像lambda在某个可用区启动一样,而特定的那个人无法访问vpc内部的Internet。
编辑:已解决!我的lambda函数中列出了公共子网,这导致了超时
解决方法
连接到VPC的AWS Lambda功能应始终配置为使用专用子网。
如果这些Lambda功能也需要Internet访问,则可以使用NAT网关或NAT实例访问Internet。这些NAT服务应配置为使用公共子网。
当Lambda功能连接到专用子网时,发往Internet的流量将从专用子网经过NAT网关/ NAT实例路由到Internet。如果Lambda功能连接到公共子网,则此功能将无效。 (而且Lambda函数无法直接从VPC连接到Internet。)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。