Узнайте, с какого IP-адреса запущена лямбда-функция - PullRequest
2 голосов
/ 04 августа 2020

У меня есть лямбда-функция, которая запускается из VP C. У нас есть три зоны доступности, настроенные для HA. Я хотел бы знать, из какой зоны доступности запускается каждый вызов Lambda.

Моя ламбда использует 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

, что бесполезно.

Как я могу узнать, какой частный IP-адрес использует лямбда-функция?

1 Ответ

2 голосов
/ 04 августа 2020

Помните, что когда вы настраиваете свою лямбду для работы в VP C, она фактически присоединяется к VP C (на самом деле она работает в AWS управляемом VP C).

Вместо этого вы получаете ENI для каждой Lambda, через который Lambda будет говорить для своих исходящих подключений, это позволяет ему подключаться к вашим ресурсам в VP C.

В это время значение для Зона доступности, в которой вы работаете, недоступна для Lambda, вот список всех доступных переменных среды , к которым Lambda имеет доступ.

Если вы хотите получить IP-адрес ENI того, что вы подключались к ресурсам, так как вам потребуется исходящий обмен данными с ресурсом в вашем VP C, чтобы он возвращал IP-адрес, к которому вы подключились.

...