我有一个使用zappa和ECR docker映像创建的AWS API网关。我将lambda函数分配给VPC,但不能再访问API。
我创建了一个互联网网关,并有路由表路由0.0.0.0/0和::/0到它。
我在安全组的所有端口上都允许所有流量。
但是,每当我尝试访问任何端点时,我都会得到超时错误。如果我将lambda函数从VPC中取出,我就可以访问所有端点。
如果lambda在VPC内,则不能直接从lambda访问API网关。在这种情况下,您必须使用VPC端点。
可以使用Lambda函数将API网关的HTTP请求代理到VPC内没有Internet接入的HTTP端点。这允许你保持你的EC2实例和应用程序完全与互联网隔离,同时仍然通过API网关暴露它们。通过使用API Gateway来处理您现有的端点,您可以配置身份验证和授权规则以及节流规则来限制后端接收的流量。
参考:https://aws.amazon.com/blogs/compute/using-api-gateway-with-vpc-endpoints-via-aws-lambda/: ~:文本=结论,通过% 20 api暴露% 20他们% 20 % 20网关