Вопрос по amazon-web-services, elastic-beanstalk, amazon-route53 – Статический IP с использованием Elastic Beanstalk

18

Мне нужен статический IP-адрес, чтобы разрешить доступ к сети, защищенной брандмауэром, а не к сети AWS.

Можно ли получить статический IP-адрес для приложения с балансировкой нагрузки, используя Elastic Beanstalk? Я следую заДокументы AWS относительно использования Route 53 для размещения моего приложения с доменным именем, но из того, что я прочитал, это не гарантирует статический IP-адрес, потому что он по существу использует CNAME, позволяющий скрытый IP-адрес меняться. Это правильное понимание? Это вообще возможно?

Ваш Ответ

3   ответа
1

Amazon опубликовал новый пример специально для вас:http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/vpc-basic.html

Вы можете развернуть приложение Elastic Beanstalk в среде автоматического распределения нагрузки с балансировкой нагрузки в VPC, которая имеет как общедоступную, так и частную подсеть. Используйте эту конфигурацию, если вы хотите, чтобы Elastic Beanstalk назначал частные IP-адреса вашим экземплярам Amazon EC2.

Я не могу найти ответ на этот вопрос по ссылке выше. Пожалуйста, напишите ваше решение здесь. И дать ссылку в качестве ссылки. Krishnendu
Ссылка совсем не помогает CodyBugstein
2

этосообщение помог мне получить статический IP-адрес для исходящих запросов с помощью NAT-шлюза и маршрутизации определенных запросов через него.

Мне нужен этот статический IP-адрес, чтобы быть в белом списке от внешнего поставщика API.

Я нашел этот способ намного проще, чем предусмотреноAWS, без необходимости создания нового VPC и частной и публичной подсетей.

В основном то, что я сделал, было:

Создайте новую подсеть для размещения шлюза NAT.Создайте шлюз NAT в указанной выше подсети и назначьте новый эластичный IP. Этот будет нашим исходящим IP для подключения внешних API.Создайте таблицу маршрутизации для подсети NAT. Весь исходящий трафик (0.0.0.0/0) следует маршрутизировать через шлюз NAT. Назначьте созданную подсеть для использования новой таблицы маршрутов.Измените основную таблицу маршрутов (ту, которая обрабатывает все наши запросы экземпляров EC2) и добавьте IP-адреса внешнего API, установив его цель для шлюза NAT.

Таким образом, мы можем направить любой запрос на внешние IP-адреса API через шлюз NAT. Все остальные запросы направляются через интернет-шлюз по умолчанию.

Как отмечается в сообщениях, это не решение Multi AZ, поэтому, если AZ, который содержит наш NAT-шлюз, выходит из строя, мы можем потерять соединение с внешним API.

Обновить:

Посмотрите комментарий @TimObezuk, чтобы сделать это решение Multi-AZ.

@CodyBugstein в точности работает, только если вы знаете IP-адрес внешнего сервиса или, по крайней мере, он статический. Как вы решаете это с динамическим IP? Выпуск здесь:stackoverflow.com/questions/52697134/... Paganel
Автор поста, на который вы ссылаетесь здесь. Я рад слышать, что это помогло вам :) Сделать это решение Multi-AZ просто, создав NAT-шлюз в каждой подсети / зоне доступности и добавив маршрут к каждой, а не к основной таблице маршрутизации в VPC. Недостатком является необходимость внесения в белый список многих эластичных IP-адресов, поскольку каждый шлюз NAT имеет уникальный IP-адрес, а также дополнительные расходы на многие шлюзы NAT. Tim Obezuk
Это работает только в том случае, если вы знаете IP-адрес внешней службы и если у службы есть статический IP-адрес. Смотрите мой вопрос здесь:stackoverflow.com/questions/49994240/... CodyBugstein
Любая идея, как сделать это для API с не раскрывает IP? Я хочу запросить домен, в белый список которого входит мой IP-адрес. Abhyudit Jain
Да @TimObezuk, я рассчитывал, что настройка для каждого AZ сделает ваше решение Multi-AZ. Я должен буду попробовать это все же. Спасибо за отличный пост! SebaGra
12

Разверните свою среду beanstalk в VPC, и при правильной конфигурации статический IP-адрес для исходящего трафика очень прост.

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

Часть RDS следующего может не иметь отношения к вашим потребностям, но принципы все те же.

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo-vpc-rds.html

Я собираюсь вникнуть в это, но только вкратце, может ли среда beanstalk быть сбалансированной по нагрузке с помощью этой настройки? Seth
@ Сидит да. Эта настройка влияет только на то, как серверы выходят в Интернет, когда они отправляют трафик. Входящий трафик по-прежнему проходит через балансировщик нагрузки, как и раньше. Основные серверы приложений на одной из наших платформ используют почти такую ​​же настройку, что и ELB. Машина со статическим адресом не является одной из ваших машин бобовых стеблей, это новый экземпляр, всегда включенный ... но это может быть очень маленький экземпляр (даже микро), и все же он не принесет вам никакой производительности. Трафик ELB полностью независим от этой машины и соответствующей конфигурации. Michael - sqlbot

Похожие вопросы