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

Группа автомасштабирования общедоступной подсети AWS с NAT для исходящего трафика

Я видел этот вопрос: Статический IP-адрес для исходящего трафика от AWS autoscaling group но, похоже, это не совсем то, что я пытаюсь сделать.

Вот сценарий:

У меня есть группа автомасштабируемых веб-серверов, которые получают трафик от ELB. Это нормально работает для входящего веб-трафика.

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

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

Когда я пытаюсь настроить это, изменяя основную таблицу маршрутов для отправки исходящего трафика через NAT, все перестает работать (я предполагаю, потому что нет правила для маршрутизации трафика через интернет-шлюз, поскольку я только что изменил его на NAT)

Надеюсь, это имеет смысл. Любые предложения будут ценны.

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

Это интуитивно понятно, но это неправильно, если только ваши веб-серверы не имеют собственных общедоступных IP-адресов.

Я предполагаю это, потому что в противном случае у ваших веб-серверов нет причин не отвечать на запросы при изменении их маршрутов по умолчанию - веб-серверы не общаются с браузерами, они общаются только с ELB - так что Технически нарушение при изменении маршрута по умолчанию состоит в том, что ELB больше не могут возвращаться в браузеры.

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

Видеть Доступ в Интернет к публичной подсети VPC с подключенным ELB.

Пока этот документ AWS про эластичный бобовый стебель, иллюстрация по-прежнему актуальна. ELB отображается в общедоступной подсети вместе с экземпляром NAT, а веб-серверы находятся в частной подсети.

Смотрите также Зачем нужна частная подсеть в VPC?