ํผ๋๋ก ๋์๊ฐ๊ธฐ
Dev.toInfrastructure
์๋ฌธ ์ฝ๊ธฐ
Environment Isolation ๋ฐ Module ๊ธฐ๋ฐ์ ํ์ฅ ๊ฐ๋ฅํ Terraform ๊ตฌ์กฐ ์ค๊ณ
๐๏ธ Terraform Production Structure (Dev / Staging / Prod) โ Part 6
AI ์์ฝ
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)์ด ๋ช ํํ์ฌ ๋ฐฐํฌ ์ค์ ๊ฐ๋ฅ์ฑ์ ์ต์ํํ๋๊ฐ?