首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从不同帐户的VPC中从Lambda访问Redshift

如何从不同帐户的VPC中从Lambda访问Redshift
EN

Stack Overflow用户
提问于 2019-03-26 04:13:34
回答 2查看 3.7K关注 0票数 2

我已经阅读了互联网上的大多数Stackoverflow问题和大量文档,但由于某种原因,当Redshift位于不同的VPC和不同的AWS帐户中时,无法让lambda连接到Redshift。

我有两个与VPC相关的子网,一个internet网关和NAT网关连接到VPC上。这是与Lambda函数相关联的VPC。我将NAT弹性ip添加到Redshift安全组的安全组中。NAT在路由表中,指向Redshift弹性ip。

一、以下方法行之有效:

  • 将lambda从VPC中取出并向公众开放Redshift (0.0.0.0),这并不理想
  • 向公众关闭Redshift并从VPC中的EC2实例中进行查询(将EC2 ip放在Redshift安全组中)

你知道如何让兰达使用NAT的弹性ip或类似的东西吗?路由表中的NAT是否需要指向Redshift的弹性ip,或者CIDR块或类似的东西?我遗漏了什么?

EN

回答 2

Stack Overflow用户

发布于 2019-03-26 10:31:00

正如你所说的,向互联网开放你的红移并不是最好的答案,你真的应该考虑只在互联网上使用它。

因此,您将在下面找到我推荐给您的内容:-使用VPC对等程序(https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html)将您绑定到Redshift VPC。小心地遵循路由表的所有步骤。-一旦您的VPC窥视已经完成,您将能够直接声明您的Lambda安全组到您的Redshift安全组,以允许入站访问。

然后,您将能够删除您的红移群集的互联网,并只能使用它的内部方式。

然后,如果您仍然希望使用您的方式,请注意:-请小心将Lambda部署到您的私有子网中(以便能够使用NAT网关EIP),并确保配置了您的所有路由(https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)。如果您将lambda部署到您的公共子网中,那么配置Redshift安全组就会更加困难。-然后允许Lambda VPC EIP到Redshift安全组(入站规则)

票数 1
EN

Stack Overflow用户

发布于 2019-03-26 06:21:01

我使用以下要点找出了它:https://gist.github.com/reggi/dc5f2620b7b4f515e68e46255ac042a7

本质上,我做错的是使用一个路由表。我还把NAT指向了Redshift的弹性ip。

我所要做的就是从原始路由表中删除NAT,并创建一个新的附加路由表。然后,我将NAT添加到新的路由表中,并将该路由表与VPC中的另一个子网相关联。我将NAT指向0.0.0.0,而不是Redshift弹性ip。

这使我得以摆脱Redshift安全小组中的“公开”问题。我也相信NAT能帮助Lambda远离公共关系,但需要澄清这一点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55349746

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档