Согласно документации AWS на NAT Gateways , они не могут отправлять трафик через конечные точки VPC , если это не настроено следующим образом:
Шлюз NAT не может отправлять трафик через конечные точки VPC [...].Если ваши экземпляры в частной подсети должны получать доступ к ресурсам через конечную точку VPC [...], используйте таблицу маршрутизации частной подсети для маршрутизации трафика непосредственно на эти устройства.
Следуя этому примеру в документах, я создал следующую конфигурацию для своего приложения ECS:
- VPC (
vpc-app
) с CIDR 172.31.0.0 / 16. - Подсеть приложения (
subnet-app
) со следующей таблицей маршрутов:
Destination | Target
----------------|-----------
172.31.0.0/16 | local
0.0.0.0/0 | nat-main
Шлюз NAT (
nat-main
) в
vpc-app
в подсети
default-1
со следующей таблицей маршрутов:
Destination | Target
----------------|--------------
172.31.0.0/16 | local
0.0.0.0/0 | igw-xxxxxxxx
Группа безопасности (
sg-app
) с портом 443, открытым для
subnet-app
. Конечные точки VPC (тип интерфейса) с
vpc-app
,
subnet-app
и
sg-app
для следующих служб:
com.amazonaws.eu-west-1.ecr.api
com.amazonaws.eu-west-1.ecr.dkr
com.amazonaws.eu-west-1.ecs
com.amazonaws.eu-west-1.ecs-agent
com.amazonaws.eu-west-1.ecs-telemetry
com.amazonaws.eu-west-1.s3 (Gateway)
Также важно упомянуть, что я включил Разрешение DNS и Имена хостов DNS для vpc-app
, а также ВключитьПараметр «Частное DNS-имя » для VPCE ecr-dkr
и ecr-api
. Вот два снимка экрана раздела «Сведения»: ecr-dkr и ecr-api .
Я также пытался работать только с Fargate контейнерами, так как они не имеют дополнительного усложнения ECS Agent , и потому что согласно документам:
Задачи, использующие тип запуска Fargate, требуют только com.amazonaws.region.ecr.dkr конечной точки Amazon ECR VPC и конечной точки шлюза Amazon S3, чтобы воспользоваться этой функцией.
Этотакже не работает, и каждый раз, когда запускаются мои Fargate задачи, я вижу всплеск байт вИсточник в nat-main
Мониторинг .
Независимо от того, что я пытаюсь, экземпляры EC2 (и задачи Fargate) в subnet-app
по-прежнему извлекают изображения, используя nat-main
и не обращаясь к локальному адресу службы ECR.
Я перезапустил Агент ECS и проверил все флажки в Конечных точках VPC интерфейса ECS *Руководство 1083 * И конечные точки интерфейса ECR * Руководство 1085 *.
Что мне здесь не хватает?
Буду признателен за любую помощь.