Назад | Перейти на главную страницу

Как назначить один и тот же эластичный IP-адрес шлюзу NAT и ALB?

Представленная ниже архитектурная схема взята из блога AWS под названием Сеть задач в AWS Fargate. Блог опубликован в январе 2018 года.

В описании к изображению говорится, что:

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

Одна проблема, с которой я столкнулся при попытке воссоздать архитектуру, заключается в том, что один и тот же IP-адрес (который, как я предполагаю, является эластичным IP) используется как для шлюза NAT, так и для балансировщика нагрузки приложений (ALB). Я не могу создать эластичный IP-адрес, который можно использовать как шлюзом NAT, так и ALB. Диаграмма ошибочна, или я что-то упускаю?

Схема в порядке. Здесь важно понять природу ALB, которая сама по себе выполняет NAT.

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

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