账户 A 中的 Lambda 函数连接到账户 B 中的内部网络负载均衡器

问题描述 投票:0回答:1

在账户 B 中,我有一个使用内部方案创建的网络负载均衡器。它在 TCP:80 上设置了侦听器,并将请求转发到同一帐户内的目标组。此 NLB 的设置没有关联任何安全组。

在账户 A 中,我有一个 Lambda 函数,我想用它从账户 B 连接到 NLB,并向其发出 http 请求。如何设置 Lambda 使其具有必要的权限?现在,在调用 Lambda 时,我可以看到尝试连接失败,并且由于没有适当的权限而超时。据我了解,Lambda 没有固定的 IP 地址,该地址因调用而异,因此我想知道如何使用 Lambda 正确设置它,尤其是当它位于不同的帐户和 VPC 中时。

我已经做了一些测试,在账户 B 中创建一个连接到账户 B 中的 NLB 的 Lambda,该测试有效,因为它们位于同一 AWS 账户和 VPC 中。

设置权限的正确方法是什么,以便账户 A 中的 Lambda 可以连接账户 B 并向账户 B 发出请求?

amazon-web-services amazon-ec2 aws-lambda amazon-elb
1个回答
0
投票

要使其正常工作,您需要确保设置以下 2 项:

  1. Lambda 与账户 A 的 VPC 关联。这将为 Lambda 创建 ENI,并且它将拥有其私有 IP

  2. 2 个 VPC 之间的私有通信通道,即 VPC Peering 或 Transit gateway 等。这将需要更新两侧 VPC 子网上的路由表

注意: 当您将 Lambda 关联到 VPC 时,Lambda 将失去对互联网的直接访问权限。因此,如果代码需要访问互联网,您需要在 VPC A 中设置 NAT 网关以使其通过

© www.soinside.com 2019 - 2024. All rights reserved.