Статический IP-адрес с использованием эластичного бобового стебля

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

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

Ответ 1

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

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

Ответ 2

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

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

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

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

Ответ 3

Нет, не возможно иметь статический IP (или Elastic IP в Amazon lingo) с системой балансировки нагрузки или автомасштабирования. Это возможно только в среде с одним экземпляром. Разница между ними объясняется здесь.

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

Ответ 4

Этот пост помог мне получить статический 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.