Кластеру AWS Fargate не удается получить доступ к Интернету при наличии NAT и Интернет-шлюзов

Я пытаюсь развернуть контейнеры в кластере Fargate частной сети на AWS. У меня есть интернет-шлюз на моем единственном VPC:

Интернет-шлюз

И у меня есть шлюз NAT для этой конкретной подсети в том же VPC, где находится мой кластер / службы:

Шлюз NAT

Маршрутизация также подходит для этой подсети:

Маршрут подсети

И группа безопасности для сервиса не блокирует входящее соединение:

Группы безопасности

Входящие группы безопасности

Но мои контейнеры даже не начинаются с печально известного исключения: https://aws.amazon.com/premiumsupport/knowledge-center/ecs-pull-container-error/ Почему? Спасибо.


person Hasan Can Saral    schedule 16.10.2020    source источник


Ответы (1)


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

Ваша сеть должна быть настроена следующим образом:

Общедоступные подсети:

  • IGW прикреплен
  • NAT-шлюз
  • Любые другие общедоступные ресурсы, которые должны быть доступны из Интернета, например общедоступный балансировщик нагрузки.

Частные подсети:

  • Маршрут к шлюзу NAT в публичной подсети. Нет маршрута к IGW.
person Mark B    schedule 16.10.2020
comment
Спасибо, не могли бы вы уточнить, что мне нужно делать? Я немного озадачен, так как думал, что у меня есть только частные подсети. - person Hasan Can Saral; 16.10.2020
comment
Вам необходимо создать 2 набора подсетей в вашем VPC: общедоступные и частные. Общедоступные подсети - это подсети с прямым выходом в Интернет через Интернет-шлюз. Это все, что у вас есть на данный момент. Чтобы использовать Интернет-шлюз, ресурсу необходим назначенный ему общедоступный IP-адрес, а затем он может напрямую получать доступ к Интернету через IGW, используя свой общедоступный IP-адрес. Затем создайте несколько частных подсетей. Частная подсеть - это подсеть, к которой НЕ прикреплен IGW. Частная подсеть использует маршрут к шлюзу NAT для обеспечения исходящего доступа в Интернет к ресурсам внутри нее. - person Mark B; 16.10.2020
comment
Понятно. Тогда наличие igw и отсутствие общедоступного IP-адреса для службы в этой подсети обречены на отключение? - person Hasan Can Saral; 16.10.2020
comment
@HasanCanSaral, да, именно так. В этом сценарии этот ресурс имеет доступ только к ресурсам в VPC и никогда не может получить доступ к чему-либо за пределами VPC. - person Mark B; 16.10.2020