Как направить трафик от экземпляра EC2 в частной подсети к настраиваемому экземпляру EC2 с EIP в общедоступной подсети

У меня есть кластер EKS в паре подсетей в моей учетной записи AWS. Я хотел бы иметь возможность связать EIP с исходящим трафиком, исходящим из моих модулей в частных подсетях (давайте назовем эти модули приложений) для внесения в белый список внешних служб. Каждый модуль, которому необходимо выйти, должен иметь EIP. По этим причинам шлюз NAT не является приемлемым решением (наличие одного шлюза NAT для каждого модуля приложения также нецелесообразно из-за затрат.

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

App-Pods (частная подсеть) - маршрутизируемый трафик -> Gateway Pods (общедоступная подсеть, IP-EIP источника SNAT) --egress-> Внешний сервер

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

ip route добавить "APP-POD-NODE-IP" через "GATEWAY-POD-NOD-IP" dev eth0

Похоже, это не работает. Когда я добавляю эти маршруты в узлы модулей приложений, я получаю эту ошибку

Ошибка: у Nexthop неверный шлюз.

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

Спасибо

0 ответов

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