我正在尝试为ElasticCache启用VPC lambda函数以访问DynamicDB。我知道为此,我需要设置一个NAT网关。然而,我无法使它工作。我的专用子网在172.31..范围内。
以下是我遵循的步骤:
现在我有 3 个路由表,两个用于我的公有子网 (10.0.0.0),一个用于我的私有子网 (172.31.0.0),它是我的私有 VPC 的一部分。
我的专用路由表有一个0.0.0.0/0到我的专用Internet网关的路由。
我想我需要更改此路由以指向我的公共NAT网关,但是我无法这样做,因为我的NAT的私有IP位于10.0.0.0范围内。在这一点上,我不知道如何继续下去。我试着在私有子网中创建一个NAT网关,并将路由转发给它,但它也不起作用。我错过了什么?
愚蠢,但您是否有可能混淆了默认VPC(172.31…)和您创建的VPC(10.0…)。因此,如果您看到默认VPC的路由表,实际上是默认子网的路由表。顺便提一下,它是公共的!
我犯的错误是创建了两个VPC,一个用于专用子网,另一个用于公用子网。除非启用对等,否则AWS VPC无法相互通信。
对于有网络背景人来说,私有子网和公共子网的概念起初是模糊的。它实际上意味着,逻辑子网将拥有可从互联网访问的资源(如web服务器)和本地资源,如数据库服务器(应受到保护,不受互联网影响)。