Как лямбда-функция AWS может вызвать экземпляр EC2 через частный IP-адрес?

Как лямбда-функция AWS может вызвать экземпляр EC2 через частный IP-адрес?

Как заставить лямбду вызывать экземпляры ec2 через их частный IP-адрес?

Короче говоря, создаю бота Discord для своих товарищей по серверу Minecraft, чтобы запускать и останавливать экземпляр AWS, а также управлять автоматическим выключением, если на сервере никого нет.

Функция Lambda будет управлять запуском, остановкой, получением текущего автоматически назначенного публичного IP-адреса и подтверждением работы сервера через протокол запросов Minecraft (UDP-порт 25565)

Я пытаюсь сделать это максимально экономически эффективно и хочу посмотреть, смогу ли я сделать это без назначения эластичного IP-адреса. Так как у меня будет более одного сервера Minecraft, которые нужно будет запустить. И взимается плата, если этот сервер находится в автономном режиме с эластичным IP-адресом или вы используете более 1 эластичного IP.

Я протестировал ту же функцию, когда тот же сервер использовал эластичный IP-адрес, и она работала так, как и ожидалось. Теперь я хочу узнать, могу ли я сделать то же самое с частным IP-адресом.

решение1

Если вы еще этого не сделали, вам необходимо подключить Lambda к VPC, в котором работает экземпляр EC2. https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html

По умолчанию функции Lambda могут взаимодействовать только с ресурсами в общедоступном Интернете, то есть с общедоступным IP-адресом экземпляра EC2, API AWS и т. д.

Оттуда вам нужно убедиться, что группа безопасности (SG), назначенная экземпляру EC2, может получать (входящий) трафик от SG, назначенной функции Lambda. Это будет порт UDP 25565 или любой другой, который вам нужен.

Вам также нужно убедиться, что SG, назначенный функции Lambda, может устанавливать исходящие соединения с SG, назначенным инстансу EC2, снова на порту UDP 2265 или любом другом, который вам нужен. Это немного проще, поскольку политика исходящих соединений обычно широко открыта.

Для тестирования вы можете назначить SG для функции Lambda другому экземпляру EC2, поместив экземпляр, играющий роль функции Lambda, в ту же подсеть(и), что поможет дополнительно проверить настройку.

Связанный контент