Django App Cloudformation YAML Stack - Nginx не достигает Django - Securitygroups conf без NAT
- Не имея опыта работы с aws/devops и после долгих усилий и проб/ошибок мне удалось создать нижеприведенный стек для моего django приложения :
- Стек сильно полагается на celery, который потребляет много задач, так что я перешел на sqs из соображений экономии (вместо aws redis). По той же причине я решил отключить nat-шлюзы, потому что они стоят очень дорого. и я полагаюсь только на группы безопасности и acl для обеспечения безопасности .
- Изначально у меня было два сервиса: Один с nginx, django, celery, pgadmin4, flower, и второй с Celery желаемое количество 0 для масштабирования при больших нагрузках. Когда сельдерей начинает работать, он стремится потреблять 100% CPU и запускает множество процессов, занимающих все доступные соединения postgres, новые процессы выходят из строя, поэтому я добавил pgbouncer для соединения объединение соединений
- Я решил перейти на 3 сервиса, один администраторский сервис с nginx, pgbouncer и pgadmin4, второй не масштабируемый минимальный сервис с django и одним celery worker, и третий масштабируемый сервис celery с желаемым количеством до 0, который будет запускаться и уменьшаться по сигналу по тревоге в очередях sqs. (Я также рассматриваю четвертый сервис с django и желаемым количеством до 0, который будет запускаться и уменьшаться вниз по тревоге на целевом времени отклика elb).
- Фактически проблема заключается в следующем: мои контейнеры django и celery (в сервисе django app) общаются с pgbouncer без проблем, но контейнер nginx (в службе администратора) не может связаться с контейнером django контейнер
- Я пытался играть с securitygroups без успеха (я не специалист), есть ли какие-нибудь советы? эксперт), есть какие-нибудь советы, ребята?
Спасибо. Вот код стека :