В настоящее время у меня есть настройка в AWS примерно со следующим:
Источник изображения из сетевых задач в aws fargate.
Я использую AWS ECR для хранения своего образа докера, а в своем определении задачи в качестве образа контейнера я использую предоставленный URI репозитория. Все в одном регионе и работают нормально.
Однако я хочу усилить безопасность AWS, добавив в белый список только определенные порты. С точки зрения групп безопасности, я обновил их по мере необходимости, и все по-прежнему работает, как ожидалось. Однако для сетевого ACL у меня возникают некоторые проблемы с задачей Fargate. В разделе ACL в общедоступной подсети для правил для входящего трафика я хочу разрешить доступ только к HTTPS и HTTP из Интернета (0.0.0.0/0). Это приводит к этой проблеме с моей дальней задачей: ResourceInitializationError: unable to pull secrets or registry auth: pull command failed: : signal: killed
. Следует отметить, что правила исходящего трафика для обеих подсетей (частной и общедоступной) разрешают трафик куда угодно (0.0.0.0/0).
Я понимаю, что задача Fargate должна подключиться к Интернету, чтобы вытащить образ докера в ECR, и NAT помогает в этом. docker pull
или docker push
использует HTTPS, и в частной подсети разрешен весь трафик из всех источников, и то же самое для исходящего.
NACL для общедоступных подсетей
Пожалуйста, посоветуйте, как изменить сетевой ACL, чтобы добавить в белый список только определенные порты.
P.S: Последнее средство - использовать AWS PrivateLink для доступа к репозиторию ECR, но я пока не хочу этого делать.