将公共流量路由到VPC

时间:2017-03-12 03:41:09

标签: amazon-web-services aws-lambda nat amazon-vpc

我在VPC上有一个Aurora数据库。今天我需要通过Lambda连接到该数据库。这不是一个问题,除了我需要在Lambda中访问互联网,因此我必须设置以下内容:

  1. 我为公共NAT添加了一个新子网。
  2. 我添加了NAT网关并将其分配给新的EIP和新子网。
  3. 我添加了一个新的路由表,该路由表将所有流量路由到igw,并将该表与我在步骤1中创建的新子网相关联。
  4. 我修改了Main路由表,并将所有流量路由到NAT。
  5. 这让我在Lambda中访问了Internet,通过在VPC上运行Lambda,我也可以访问我的Aurora数据库。

    但是,我现在已经通过MySQL Workbench失去了对该数据库的公共访问权。

    我需要配置什么才能将公共流量路由回VPC?

1 个答案:

答案 0 :(得分:3)

您之前可以从笔记本电脑连接到Amazon Aurora数据库的事实表明Aurora正在公共子网中运行。也就是说,具有路由表的子网将Internet绑定流量直接发送到Internet网关。

您提到您修改了Main路由表。此路由表可能与您的公共子网(Aurora所在的位置)相关联,并且之前已配置为将流量发送到Internet网关。但是,可能已修改以将流量发送到NAT网关。因此,子网实际上已更改为专用子网(没有指向Internet网关的路由表条目)。

如果您确实希望数据库位于公有子网中,则配置为:

  • 一个公有子网,其中包含Lambda函数连接的Aurora数据库
  • 与将Internet限制流量(0.0.0.0/0)路由到Internet网关的子网关联的路由表
  • 可能是附加子网,以便为Aurora和Lambda提供高可用性

由于您希望Aurora位于公有子网中,因此不需要私有子网。

更安全的选项将是:

  • 具有跳转框 EC2实例和Lambda连接
  • 的公有子网
  • 使用Aurora的私有子网

要从笔记本电脑连接到Aurora,您可以通过SSH进入跳转框并使用port forwarding访问Aurora数据库。这样,数据库就不会暴露给Internet。

公有子网将具有与私有子网不同的路由表(从而使它们成为私有/公共)。