我创建了一个VPC10.5.0.0/16
有 2 个子网 (10.5.1.0/24
, 10.5.4.0/24
).
我创建了一个安全组:
入境规则:
Type Protocol Port range Source Description - optional
All traffic All All 0.0.0.0/0 allowing traffic from same security group
All traffic All All ::/0 allowing traffic from same security group
出境规则:
Type Protocol Port range Source Description - optional
All traffic All All 0.0.0.0/0 allowing traffic from same security group
All traffic All All ::/0 allowing traffic from same security group
现在,我创建了 2 个具有适当 IAM 角色(其中包含调用策略)的 Lambda 函数。这 2 个 Lambda 函数位于相同的 VPC、子网和安全组中。
Case 1:
- 当 Lambda 函数为not附加 VPC 子网和安全组
Case 2:
- I am not当 Lambda 1 位于同一 VPC 中时,能够从 Lambda 1 调用 Lambda 2
我想我错过了一些东西,但我无法弄清楚。有什么建议么?
我想我错过了一些东西,但我无法弄清楚
不幸的是,调用 lambda 的唯一方法是通过公共 lambda 服务端点。由于 VPC 中的 lambda 函数没有互联网访问权限,也没有公共 IP,因此您无法在无法访问互联网的情况下从 VPC 中的另一个 lambda 函数调用一个 lambda 函数。从docs https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html:
将函数连接到公共子网并不会给出它互联网访问或公共 IP 地址.
遗憾的是,它们位于同一 VPC 甚至同一子网中这一事实是无关紧要的。
要纠正该问题,调用函数必须能够访问互联网,因为 lambda 服务不具有 VPC接口端点 https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html。这可以通过将其放置在私有子网并使用NAT网关/实例 https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html使用正确配置的路由表来提供访问。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)