ํ”ผ๋“œ๋กœ ๋Œ์•„๊ฐ€๊ธฐ
๐Ÿ How to deploy Django AWS Elastic Beanstalk RDS โ€” the smart way
Dev.toDev.to
DevOps

Django-RDS-Elastic Beanstalk ์—ฐ๋™์„ ํ†ตํ•œ ๋น ๋ฅธ ๋ฐฐํฌ ๊ตฌ์กฐ ์„ค๊ณ„

๐Ÿ How to deploy Django AWS Elastic Beanstalk RDS โ€” the smart way

Python-T Point2026๋…„ 4์›” 25์ผ8๋ถ„beginner

Context

์ดˆ๊ธฐ ๋ฐฐํฌ ์‹œ Migration ๋ˆ„๋ฝ, ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์œ ์ถœ, Static ํŒŒ์ผ ์„œ๋น™ ์‹คํŒจ ๋“ฑ ์ˆ˜๋™ ์„ค์ •์œผ๋กœ ์ธํ•œ ๋Ÿฐํƒ€์ž„ ์˜ค๋ฅ˜ ๋นˆ๋ฒˆ ๋ฐœ์ƒ. ๋‹จ์ˆœ EC2 ๋ฐฐํฌ ๋Œ€๋น„ ์ธํ”„๋ผ ๊ด€๋ฆฌ ์˜ค๋ฒ„ํ—ค๋“œ์™€ ์„ค์ • ์˜ค๋ฅ˜๋กœ ์ธํ•œ ์‹œ์Šคํ…œ ๊ฐ€์šฉ์„ฑ ์ €ํ•˜ ๋ฌธ์ œ ์กด์žฌ.

Technical Solution

  • django-environ ๋„์ž…์„ ํ†ตํ•œ Local(SQLite)๊ณผ Production(RDS) ๊ฐ„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ ๋ถ„๋ฆฌ ๋ฐ Secret Key ๋ณด์•ˆ ๊ฐ•ํ™”
  • .ebextensions ์„ค์ •์„ ํ†ตํ•œ container_commands ๊ธฐ๋ฐ˜์˜ ์ž๋™ํ™”๋œ Migration ์‹คํ–‰ ๋ฐ Static ํŒŒ์ผ ์ˆ˜์ง‘ ๊ตฌ์กฐ ์„ค๊ณ„
  • psycopg2-binary ์ฑ„ํƒ์œผ๋กœ RDS PostgreSQL๊ณผ์˜ ํ˜ธํ™˜์„ฑ ํ™•๋ณด ๋ฐ ๋“œ๋ผ์ด๋ฒ„ ์ถฉ๋Œ ๋ฐฉ์ง€
  • Apache ๊ธฐ๋ฐ˜์˜ Static ํŒŒ์ผ ์„œ๋น™ ๊ตฌ์กฐ ์„ค๊ณ„๋ฅผ ํ†ตํ•ด Django Application Server์˜ ์ •์  ์ž์› ์ฒ˜๋ฆฌ ๋ถ€ํ•˜ ์ œ๊ฑฐ
  • EB CLI ๊ธฐ๋ฐ˜์˜ Environment Variable ๊ด€๋ฆฌ๋ฅผ ํ†ตํ•œ ์†Œ์Šค ์ฝ”๋“œ ๋‚ด ํ•˜๋“œ์ฝ”๋”ฉ ์ œ๊ฑฐ ๋ฐ ๋ณด์•ˆ์„ฑ ํ–ฅ์ƒ

- .env ํŒŒ์ผ์„ .gitignore์— ์ถ”๊ฐ€ํ•˜์—ฌ Secret Key ์œ ์ถœ ๋ฐฉ์ง€ ์—ฌ๋ถ€ ๊ฒ€ํ†  - requirements.txt ์ƒ์„ฑ ์‹œ OS ์ข…์†์ ์ธ ํŒจํ‚ค์ง€๊ฐ€ ํฌํ•จ๋˜์ง€ ์•Š์•˜๋Š”์ง€ ํ™•์ธ - wsgi.py ํŒŒ์ผ์˜ ์œ„์น˜๊ฐ€ Project Root ์ˆ˜์ค€์œผ๋กœ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์„ค์ •๋˜์—ˆ๋Š”์ง€ ์ ๊ฒ€ - ๋ฐฐํฌ ํŒŒ์ดํ”„๋ผ์ธ ๋‚ด collectstatic ๋ฐ migrate ๋ช…๋ น์–ด๊ฐ€ ์ž๋™ ์‹คํ–‰๋˜๋„๋ก .ebextensions ๊ตฌ์„ฑ ํ™•์ธ

์›๋ฌธ ์ฝ๊ธฐ