Ошибка извлечения ECR для задач Fargate в частной подсети с общедоступным IP-адресом

Во-первых, спасибо всем, кто может на это ответить. Это мой первый пост, поэтому я постараюсь быть максимально ясным.

У меня есть кластер ECS с 2 настроенными задачами fargate. ECS настроен в VPC, назначенном частным подсетям (с подключением NAT), и у этих задач также есть общедоступный IP-адрес (я считаю, что этого не должно быть?)

одна из задач - это в основном API, а другая - интерфейс для веб-страницы.

Вдобавок ко всему у нас есть ALB, выходящий в Интернет. Это назначается общедоступным подсетям (с IGW)

Я решил изучить использование NACLS, и по какой-то причине работает только это правило (очевидно):

Входящий:

Некоторое время служба будет работать без проблем, и мой веб-сайт будет работать. Однако иногда я получаю ошибку 504 и возвращаюсь в свою ECS. Я вижу, что задачи возвращаются в режим ОБЕСПЕЧЕНИЕ -> ОЖИДАНИЕ .... и примерно через 5-10 минут ОСТАНОВЛЕНЫ. Я получаю такую ​​ошибку:

ResourceInitializationError: невозможно получить секреты или авторизацию реестра: сбой команды pull:: signal: уничтожен NACL

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

Есть идеи, что вызывает это? может ли это быть публичный IP-адрес, назначенный далеко идущим задачам, который вызывает конфликт? Репозиторий ECR находится на другой учетной записи aws. Я считаю, что разрешения роли IAM верны, иначе он не смог бы извлечь изображение даже с правилами NACL по умолчанию. Ценю любую помощь, так как я в растерянности. Спасибо

0 ответов

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