从中找出 lambda 函数的 IP 运行
Find out what IP a lambda function is running from
我有一个从 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)
但这给了我:
Your Computer Name is:169.254.128.117
Your Computer IP Address is:169.254.128.117
这没有帮助。
我如何知道 lambda 函数使用的私有 IP?
请记住,当您将 Lambda 配置为在 VPC 中工作时,它实际上是附加到 VPC(实际上它是 运行 在 AWS 管理的 VPC 中)。
相反,您会为每个 Lambda 获得一个 ENI,Lambda 将通过该 ENI 为其出站连接发声,这允许它连接到您在 VPC 中的资源。
此时,Lambda 无法访问您 运行 所在可用区的值,这里是 Lambda 可以访问的 list of all available environment variables。
如果您想检索您连接到资源的 ENI IP,因为您需要与 VPC 中的资源进行出站通信,并且 return 您连接的 IP 地址。
我有一个从 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)
但这给了我:
Your Computer Name is:169.254.128.117
Your Computer IP Address is:169.254.128.117
这没有帮助。
我如何知道 lambda 函数使用的私有 IP?
请记住,当您将 Lambda 配置为在 VPC 中工作时,它实际上是附加到 VPC(实际上它是 运行 在 AWS 管理的 VPC 中)。
相反,您会为每个 Lambda 获得一个 ENI,Lambda 将通过该 ENI 为其出站连接发声,这允许它连接到您在 VPC 中的资源。
此时,Lambda 无法访问您 运行 所在可用区的值,这里是 Lambda 可以访问的 list of all available environment variables。
如果您想检索您连接到资源的 ENI IP,因为您需要与 VPC 中的资源进行出站通信,并且 return 您连接的 IP 地址。