NAT Gateway разбивает входящий трафик для экземпляров в общедоступной подсети.

У меня есть экземпляры Elastic Beanstalk, доступные через ALB в общедоступных подсетях , и я хочу назначить им один IP-адрес (партнер запросил у нас IP-адрес для внесения в белый список для доступа к их сервисам).

Я подписался на https://medium.com/@obezuk/how-to-use-elastic-beanstalk-with-an-ip-whitelisted-api-69a6f8b5f844 , т.е.

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

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

1 ответ

Кажется, я понял почему: изменив основную таблицу маршрутизации, я сделал все общедоступные подсети частными, поэтому ELB больше не находился в общедоступной подсети и не мог обслуживать запросы.

Вот что я сделал для настройки фиксированного IP:

  • Создайте шлюз NAT в общедоступной подсети.
  • Создайте новые частные подсети (по одной для каждой зоны доступности).
  • Создайте таблицу маршрутов с маршрутом по умолчанию, указывающим на шлюз NAT.
  • Свяжите частные подсети с новой таблицей маршрутизации.
  • Измените подсети в конфигурации Elastic Beanstalk, чтобы использовать частные подсети. Группа автомасштабирования создаст новые экземпляры в частных подсетях перед завершением старых экземпляров, поэтому простоев практически не должно быть.

Таким образом, все остальные ресурсы в общедоступных подсетях (ELB, RDS) не будут затронуты.

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