
У нас есть служба Fargate, которая должна быть доступна из Интернета через балансировщик нагрузки, и поскольку для тестов мы до сих пор использовали случайный публичный IP-адрес задачи, мы решили отключить публичный IP-адрес, чтобы задача службы была доступна только через балансировщик нагрузки.
Отключение публичного IP, похоже, делает контейнер внутри Fargate неспособным загрузить файл env из S3. Странный факт заключается в том, что образ из ECR извлекается, но задача терпит неудачу при попытке получить файл env.
Согласно этому:https://aws.amazon.com/premiumsupport/knowledge-center/ecs-task-environment-variables/
Если ваша задача ECS находится в публичной подсети, проверьте следующее: Убедитесь, что для задачи включен публичный IP-адрес.
Сервис находится в публичной подсети, поэтому у нас должен быть публичный IP-адрес.
Есть ли причина для этого, ведь публичная подсеть сама по себе должна иметь доступ к интернету? И почему ECR pull вообще работает?
Спасибо
решение1
Вы сказали, что отключили публичный IP. Контейнеру/серверу нужен публичный IP для доступа к S3 через интернет-шлюз.
Если вы хотите получить доступ к S3 без публичного IP-адреса, используйтеКонечная точка S3 VPC.