Amazon web services 具有Internet网关和lambda的NAT网关
我们使用elastic beanstalk在EC2之外运行我们的主应用程序,我们在该VPC中也有一个RDS实例。这些实例具有公共IP,因此它可以使用标准internet网关访问internet。没问题 现在我已经创建了一个lambda函数,将它与EC2实例所在的3个AZ对应的3个子网相关联。一切都还不错。我的lambda可以很好地连接到这些资源 我的问题是我需要我的lambda来上网。通常我会将它所在的子网路由到0.0.0.0/0,然后通过NAT网关将其路由出去。但是,由于VPC子网中的EC2和RDS实例my lambda与公共IP关联,因此将NAT网关置于其internet连接中断。在不破坏其他Ec2实例的IGW的情况下,我应该如何让lambda访问互联网Amazon web services 具有Internet网关和lambda的NAT网关,amazon-web-services,aws-lambda,serverless-framework,Amazon Web Services,Aws Lambda,Serverless Framework,我们使用elastic beanstalk在EC2之外运行我们的主应用程序,我们在该VPC中也有一个RDS实例。这些实例具有公共IP,因此它可以使用标准internet网关访问internet。没问题 现在我已经创建了一个lambda函数,将它与EC2实例所在的3个AZ对应的3个子网相关联。一切都还不错。我的lambda可以很好地连接到这些资源 我的问题是我需要我的lambda来上网。通常我会将它所在的子网路由到0.0.0.0/0,然后通过NAT网关将其路由出去。但是,由于VPC子网中的EC2和
我在考虑在3个AZ中创建3个新的子网,将其与我的lambda函数相关联,在每个AZ子网中创建一个NAT网关,为每个子网创建相应的路由。如果我这样做了,我的lambda还能访问其他子网内的EC2\RDS实例吗?我有一个lambda sg和一个ec2 sg,允许lambda sg访问ec2 sg。希望这是有意义的 由于无法将公共IP地址附加到Lambda函数,您必须在私有子网中启动它们,并将internet流量转发到NAT网关/实例,以便让您的函数访问internet 看起来您只在VPC中创建了公共子网。正如您已经建议的,您需要创建承载lambda函数的私有子网
- 每个AZ创建1个公用子网和1个专用子网
- 在公共子网中启动NAT网关
- 更新专用子网的路由表,并将所有互联网流量转发至NAT GW