Статический IP с использованием Elastic Beanstalk

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

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

3 ответа

Решение

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

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

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

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

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

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

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

Другие вопросы по тегам