Ошибка времени ожидания подключения в лямбда-функции - PullRequest
0 голосов
/ 21 июня 2020

Я пытаюсь S SH все экземпляры ec2 в AWS учетной записи с помощью лямбда-функции.

c .connect (hostname = each_in.private_ip_address, username = 'pcs_user', pkey = k)

Но я получаю такую ​​ошибку. Я использовал AWSLambdaVPCAccessExecutionRole для роли IAM.

Response:
{
  "errorMessage": "[Errno 110] Connection timed out",
  "errorType": "TimeoutError",
  "stackTrace": [
    "  File \"/var/task/lambda_function.py\", line 30, in lambda_handler\n    c.connect( hostname = each_in.private_ip_address, username = 'pcs_us', pkey = k )\n",
    "  File \"/opt/python/paramiko/client.py\", line 349, in connect\n    retry_on_signal(lambda: sock.connect(addr))\n",
    "  File \"/opt/python/paramiko/util.py\", line 283, in retry_on_signal\n    return function()\n",
    "  File \"/opt/python/paramiko/client.py\", line 349, in <lambda>\n    retry_on_signal(lambda: sock.connect(addr))\n"
  ]
}

1 Ответ

0 голосов
/ 21 июня 2020

Похоже, что Lambda не может подключиться к вашим экземплярам EC2 из-за правила группы безопасности, блокирующего доступ.

Если вы пытаетесь подключиться к экземплярам EC2 в своей учетной записи, вы должны добавить свой Лямбда к вашему VP C, подключив его через конфигурацию VP C, он должен быть добавлен в частные подсети.

После того, как ваши лямбды добавлены в VP C, занесите его в белый список в системе безопасности группа экземпляров, разрешающая диапазон (-ы) IP-адресов su bnet (-ов), в которых находится ваша лямбда-система. *. Убедитесь, что ваша Lambda подключается к любым VPC через их частный IP-адрес. Для любых экземпляров за пределами вашего VP C вам необходимо будет использовать пиринг через Transit Gateway или пиринговое соединение .

Если вы не может иметь вашу лямбда в VP C, тогда вам нужно будет поддерживать белый список в группе безопасности каждого экземпляра, чтобы внести в белый список диапазон Lambda publi c из файла ip-range. json . Это должно быть для диапазона службы Lambda в регионе, в котором она была развернута.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...