无法让堡垒实例跳转到RDS / Lambda实例

时间:2018-02-21 08:58:14

标签: amazon-web-services amazon-ec2 aws-lambda amazon-rds

我正在尝试为我的lambda和RDS工作设置一个漂亮而安全的VPC。从本质上讲,我希望我的lambda能够访问某个站点,获取一些数据并将其推送到数据库中。

孤立地,所有部件都有效。然而,第二个我去硬化一切都崩溃了。这是我的工作:

  1. 禁用"公开可用"来自RDS实例
  2. 将RDS实例更改为仅使用安全组
  3. 接受来自VPC内部的连接
  4. 将lambda与VPC关联(这会导致互联网访问
  5. 关注this tutorial我创建了一个NAT网关,从VPC子网中删除了Internet网关,并将其替换为NAT。现在,正如预期的那样,没有什么可以说入境,但事情可以说出境。
  6. 此时我知道我需要一个堡垒实例,所以我启动了一个EC2实例。

    EC2实例设置为RDS和Lambda所在的同一子网,不幸的是,这意味着我遇到了问题 - NAT网关目前正在通过0.0.0.0/0吸收所有流量,这意味着&# 39;没有互联网网关的空间。如果没有互联网网关,我(显然)可以通过SSH连接到我的堡垒实例,这样我就可以跳转到访问我的RDS数据库了。

    如何正确配置?我的猜测是我需要以某种方式拆分子网并建立一个私有和公共子网,公众中有堡垒和互联网网关。但是,我不确定这一切是如何工作的,因此堡垒实例仍然可以正常跳转到RDS。

    我真的很擅长设置AWS服务,所以我希望我一直都不会弄乱任何东西。

1 个答案:

答案 0 :(得分:1)

您需要一个公有子网(默认路由是Internet网关)和一个私有子网(默认路由是NAT网关)。 NAT网关本身位于公有子网上,因此它可以代表其提供服务的其他子网访问Internet。堡垒也在公共子网上,但Lambda和RDS在私有子网上。

只要安全组允许,任何东西都可以与VPC内任何子网上的任何内容通信(和网络ACL,但除非您有特定的理由,否则不要更改这些内容 - 如果您不确定,那么默认设置就足够了。