Назад | Перейти на главную страницу

AWS - Lambda не может получить доступ к контенту, обслуживаемому Apache, на экземпляре EC2

Может ли кто-нибудь сказать мне, как / почему моя функция Lambda не может «видеть» веб-сайт, обслуживаемый Apache в экземпляре EC2, когда они оба находятся в одном VPC?

Моя установка:

Функция Amazon Linux v2 Lambda в VPC по умолчанию, такая же, как у экземпляра EC2, использующего функцию Lambda с использованием «по умолчанию» или роль всех разрешений для доступа к экземпляру EC2. Apache установлен и правильно работает на гибком IP-адресе, обслуживающем API и веб-сайт публично.

Я знаю, что, если я решу использовать функцию Lambda в VPC, доступ в Интернет будет удален, поэтому я больше не смогу получить доступ к веб-сайту с помощью mydomain.com, и это нормально. В долгосрочной перспективе я перейду на VPC с общедоступными и частными подсетями и настрою интернет-шлюз, который может использовать функция Lambda, но сейчас мне просто интересно, почему я не могу использовать веб-сайт, размещенный на EC2, без интернет-шлюза. Конечно, функция Lambda должна иметь возможность подключаться к сайту EC2?

Я пробовал использовать как частный, так и общедоступный IP-адрес экземпляра EC2 и оба тайм-аута при попытке подключиться к Apache.

Любая помощь с благодарностью получена!

Спасибо.

P.S. Я новичок в AWS, поэтому будьте добры :)

Извините, обнаружил проблему - хотя я не совсем понимаю ее. Это не имеет отношения к AWS - у меня все еще был https в URL-адресе API. Изменил это на http, и он работал нормально. Очевидно, что если я нахожусь в VPC, тогда мне все равно не нужен https.

Спасибо за ответ @MLu - да, я проверил оба, и они были в порядке.

  1. Есть ли Группа безопасности Lambda разрешить исходящий доступ? Попробуйте для начала открыть все исходящие сообщения на 0.0.0.0/0.

  2. Есть ли Группа безопасности EC2 разрешить входящий доступ от SG Lambda?