如何将VPC内的AWS Lambda函数连接到DynamoDB等公共资源



我正在尝试使我的VPC lambda函数为ElasticCache访问DynamoDB。我知道为此,我需要设置一个NAT网关。然而,我不能使它工作。我的私有子网地址是172.31.

以下是我所遵循的步骤:

  1. 创建ip范围为10.0.0.0的公网子网。
  2. 在同一IP范围内创建一个公网VPC
  3. 在公网VPC中创建公网网关
  4. 创建非主路由表的公网路由表,并附加公网子网。然后,为上面创建的公网网关添加0.0.0.0/0路由。
  5. 在公网子网中创建NAT网关。该NAT在10..中获得弹性IP和私有IP。*范围。

现在我有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服务器)和本地资源,如数据库服务器(应受互联网保护)。

相关内容

  • 没有找到相关文章

最新更新