Как получить IP-адрес EC2 (Сервер) от Lambda, действующей в качестве Клиента? - PullRequest
1 голос
/ 09 июля 2019

Приложение будет использовать gRPC с прослушиванием сервера и подключением лямбды к серверу.Лямбда будет иметь доступ к VPC, но я не уверен, что это лучший способ получить IP-адрес сервера.Маршрутизация DNS VPC может быть включена, но фактическое имя Сервера, по-видимому, является функцией IP-адреса и может изменяться при каждой перезагрузке.Спасибо,

Создал EC2 в VPC с включенным DNS, имя основано на IP-адресе и изменяется при каждой перезагрузке.

Ответы [ 2 ]

1 голос
/ 10 июля 2019

Вы можете использовать сервис AWS CloudMap, который является относительно новым. [1]
Он очень хорошо интегрирован в контейнерные сервисы, такие как ECS - планировщик управляет удалением / регистрацией записей. Для EC2 вам может потребоваться написать скрипт, который запрашивает метаданные экземпляра EC2 при запуске и регистрирует экземпляр в CloudMap. [2]
Чтобы правильно отменить регистрацию экземпляра, вы можете поместить его в группу автоматического масштабирования и зарегистрировать ловушки жизненного цикла, которые вызывают соответствующие команды API CloudMap.

[1] https://aws.amazon.com/de/blogs/aws/aws-cloud-map-easily-create-and-maintain-custom-maps-of-your-applications/
[2] https://docs.aws.amazon.com/cloud-map/latest/api/API_RegisterInstance.html

1 голос
/ 09 июля 2019

Вы можете создать Частную размещенную зону Route53 , чтобы дать серверам EC2 любые DNS-имена, которые вы хотите в своем VPC.

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

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