ํ”ผ๋“œ๋กœ ๋Œ์•„๊ฐ€๊ธฐ
๐Ÿ—๏ธ Terraform Production Structure (Dev / Staging / Prod) โ€” Part 6
Dev.toDev.to
Infrastructure

Environment Isolation ๋ฐ Module ๊ธฐ๋ฐ˜์˜ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ Terraform ๊ตฌ์กฐ ์„ค๊ณ„

๐Ÿ—๏ธ Terraform Production Structure (Dev / Staging / Prod) โ€” Part 6

Ahkar Swe2026๋…„ 4์›” 12์ผ2๋ถ„beginner

Context

๋‹จ์ผ ํด๋” ๊ตฌ์„ฑ์˜ Terraform ์„ค์ •์œผ๋กœ ์ธํ•œ ํ™˜๊ฒฝ ๋ถ„๋ฆฌ ๋ถ€์žฌ ๋ฐ ๊ด€๋ฆฌ ๋ณต์žก์„ฑ ์ฆ๊ฐ€. ์ž˜๋ชป๋œ ํ™˜๊ฒฝ์œผ๋กœ์˜ ๋ฐฐํฌ ์œ„ํ—˜๊ณผ State ํŒŒ์ผ ์ถฉ๋Œ ๊ฐ€๋Šฅ์„ฑ์œผ๋กœ ์ธํ•œ ์šด์˜ ์•ˆ์ •์„ฑ ์ €ํ•˜.

Technical Solution

  • Module ์ค‘์‹ฌ์˜ ๊ณ„์ธต ๊ตฌ์กฐ ์„ค๊ณ„๋ฅผ ํ†ตํ•œ ์ธํ”„๋ผ ์ •์˜์™€ ํ™˜๊ฒฝ ์„ค์ •์˜ ์™„์ „ํ•œ ๋ถ„๋ฆฌ
  • environments ๋””๋ ‰ํ† ๋ฆฌ ํ•˜์œ„์— dev, staging, prod ํด๋”๋ฅผ ๋ฐฐ์น˜ํ•˜์—ฌ ๋ฌผ๋ฆฌ์  ํ™˜๊ฒฝ ๊ฒฉ๋ฆฌ ๊ตฌํ˜„
  • ๊ฐ ํ™˜๊ฒฝ๋ณ„ ๋…๋ฆฝ์ ์ธ S3 Backend Key ์„ค์ •์„ ํ†ตํ•œ State ํŒŒ์ผ ์ถฉ๋Œ ๋ฐฉ์ง€ ๋ฐ ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ ํ™•๋ณด
  • ๊ณตํ†ต Module์„ ๊ฐ ํ™˜๊ฒฝ์—์„œ ์ฐธ์กฐํ•˜๋Š” ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด ํ™˜๊ฒฝ ๊ฐ„ ์ธํ”„๋ผ ์ผ๊ด€์„ฑ ์œ ์ง€
  • ๋””๋ ‰ํ† ๋ฆฌ ๊ธฐ๋ฐ˜ ์›Œํฌํ”Œ๋กœ์šฐ ์ฑ„ํƒ์œผ๋กœ ๋ฐฐํฌ ๋Œ€์ƒ ํ™˜๊ฒฝ์— ๋Œ€ํ•œ ๋ช…ํ™•ํ•œ ์ œ์–ด๊ถŒ ํ™•๋ณด

1. ์ธํ”„๋ผ ์ •์˜(Modules)์™€ ํ™˜๊ฒฝ๋ณ„ ์„ค์ •(Environments) ํด๋”๊ฐ€ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๋ถ„๋ฆฌ๋˜์–ด ์žˆ๋Š”๊ฐ€?

2. ๊ฐ ํ™˜๊ฒฝ์ด ์„œ๋กœ ๋‹ค๋ฅธ Backend State Key๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒํ˜ธ ๊ฐ„์„ญ์„ ์ฐจ๋‹จํ–ˆ๋Š”๊ฐ€?

3. ํ•˜๋“œ์ฝ”๋”ฉ๋œ ๊ฐ’ ๋Œ€์‹  ๋ณ€์ˆ˜๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋™์ผํ•œ Module์ด ์—ฌ๋Ÿฌ ํ™˜๊ฒฝ์—์„œ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ตฌ์กฐ์ธ๊ฐ€?

4. ํ™˜๊ฒฝ๋ณ„ ์ง„์ž…์ (main.tf)์ด ๋ช…ํ™•ํ•˜์—ฌ ๋ฐฐํฌ ์‹ค์ˆ˜ ๊ฐ€๋Šฅ์„ฑ์„ ์ตœ์†Œํ™”ํ–ˆ๋Š”๊ฐ€?

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