繁体   English   中英

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

[英]How to connect AWS Lambda function inside a VPC to public resources like DynamoDB?

我正在尝试为ElasticCache启用我的VPC lambda函数以访问DynamoDB。 我知道,我需要设置一个NAT网关。 但是,我无法使其工作。 我的专用子网位于172.31。 范围。

这些是我要执行的步骤:

  1. 创建IP范围为10.0.0.0的公共子网。
  2. 在上述相同的IP范围内创建一个公共VPC。
  3. 在公用VPC中创建公用Internet网关。
  4. 创建一个不是主路由表的公共路由表,并将公共子网附加到该表。 然后,将0.0.0.0/0的路由添加到上面创建的公共Internet网关。
  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无法相互通信。

起初,对于具有网络背景的人来说,专用和公用子网的概念是模棱两可的。 它实际上意味着的是逻辑子网,该子网将具有可从Internet(如Web服务器)访问的资源以及诸如数据库服务器(应受到Internet保护)的本地资源。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM