Архитектурная диаграмма, показанная ниже, взята из блога AWS под названием Task Networking в AWS Fargate . Блог был опубликован в январе 2018 г.
В описании к изображению говорится, что:
Эта конфигурация позволяет вашим задачам в Fargate быть надежно изолированными от остальной части Интернета. Они по-прежнему могут инициировать сетевое взаимодействие с внешним reso. urces через шлюз NAT и по-прежнему получает трафик от общественности через Application Load Balancer, который находится в общедоступной подсети.
Одна проблема, с которой я столкнулся при попытке воссоздать архитектуру, заключается в том, что тот же IP-адрес (который, как я предполагаю, эластичный IP-адрес) используется как для шлюза NAT, так и для балансировщика нагрузки приложений (ALB). Я не могу создать эластичный IP-адрес, который может использоваться как шлюзом NAT, так и ALB. Схема ошибочна или я что-то упускаю?
Схема в порядке. Здесь важно понять природу ALB,который выполняет сам по себе NAT.
Из этого следует, что шлюз NAT на схеме используется только для исходящих соединений, инициированных задачей Fargate в Интернет. Все входящие соединения через ALB будут отвечать через ALB, поскольку ALB устанавливает свой собственный IP-адрес в качестве исходного адреса в заголовке TCP перед пересылкой пакета в задачу fargate.
Следовательно, не требуется иметь тот же IP-адрес. на ALB и на шлюзе NAT, что в любом случае является невыполнимым требованием.