Spa*_*Dev 5 python amazon-web-services amazon-vpc aws-lambda serverless
我有一个从 VPC 运行的 lambda 函数。我们为 HA 配置了三个可用区。我想知道每个 Lambda 调用是从哪个可用区运行的。
我的 lamdba 使用 python 3.7 作为运行时
我试过这个
import socket
hostname = socket.gethostname()
IPAddr = socket.gethostbyname(hostname)
print("Your Computer Name is:" + hostname)
print("Your Computer IP Address is:" + IPAddr)
Run Code Online (Sandbox Code Playgroud)
但这给了我:
Your Computer Name is:169.254.128.117
Your Computer IP Address is:169.254.128.117
Run Code Online (Sandbox Code Playgroud)
这没有帮助。
我如何知道 lambda 函数正在使用什么私有 IP?
请记住,当您将 Lambda 配置为在 VPC 中工作时,它实际上已附加到 VPC(实际上它在 AWS 托管的 VPC 中运行)。
相反,您会为每个 Lambda 获得一个 ENI,Lambda 将通过该 ENI 代表其出站连接,这使其能够连接到 VPC 中的资源。
目前,Lambda 无法访问您正在运行的可用区域的值,以下是Lambda 有权访问的所有可用环境变量的列表。
如果您想要检索连接到资源的 ENI IP,因为您需要与 VPC 中的资源进行出站通信,并返回您连接的 IP 地址。
| 归档时间: |
|
| 查看次数: |
5870 次 |
| 最近记录: |