我有一个AWS Lambda函数:
Redis实例位于私有子网中;因此,为了获取它,我添加了VPC和实例所在的子网。我还指定了允许所有出站流量的安全组。网络ACL是应用于所有入站和出站流量的默认ACL。
通过控制台将VPC添加到Lambda函数时,它会提示:
启用VPC后,您的Lambda函数将失去默认的Internet访问权限。如果您的功能需要外部Internet访问,请确保您的安全组允许出站连接,并确保您的VPC具有NAT网关。
所以,在私有子网的Route Table
,我也添加了一个NAT gateway
。但是,在使用Lambda函数调用Google Places API服务时,它总是注定会导致超时。
简而言之,我怀疑NAT网关是否正确允许Lambda函数的Internet访问。我怎样才能检查它出了什么问题?
NAT网关是否记录了在CloudWatch等中以某种方式通过它进行的呼叫或呼叫尝试?
需要执行以下步骤
我的案例的问题证明了,我在私有子网中创建了NAT网关。
确保将NAT网关放在公有子网中。
顺便提一下,CloudWatch for NAT Gateway中有指标但没有可用的直接日志记录。