ํ”ผ๋“œ๋กœ ๋Œ์•„๊ฐ€๊ธฐ
๐Ÿฆ„ Modernizing Wild Rydes with modern technologies
Dev.toDev.to
Infrastructure

Terraform๊ณผ OIDC ๊ธฐ๋ฐ˜์˜ Serverless ์ธํ”„๋ผ ํ˜„๋Œ€ํ™” ๋ฐ CI/CD ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ•

๐Ÿฆ„ Modernizing Wild Rydes with modern technologies

Cristhian Ferreira2026๋…„ 5์›” 29์ผ3๋ถ„intermediate

Context

AWS Console ๊ธฐ๋ฐ˜์˜ ์ˆ˜๋™ ์„ค์ •๊ณผ Amplify ์˜์กด์ ์ธ ๋ ˆ๊ฑฐ์‹œ Serverless ์•„ํ‚คํ…์ฒ˜์˜ ํ•œ๊ณ„์  ๋ถ„์„. ํ•˜๋“œ์ฝ”๋”ฉ๋œ ์ž๊ฒฉ ์ฆ๋ช…๊ณผ ๋‚ฎ์€ ์ธํ”„๋ผ ์ œ์–ด๊ถŒ์œผ๋กœ ์ธํ•œ ๋ฐ˜๋ณต ๊ฐ€๋Šฅ์„ฑ ๋ฐ ๋ณด์•ˆ ์ทจ์•ฝ์  ์‹๋ณ„.

Technical Solution

  • S3 ๋ฐ CloudFront ์กฐํ•ฉ์˜ ์ •์  ์›น ํ˜ธ์ŠคํŒ… ์ „ํ™˜์„ ํ†ตํ•œ ์ธํ”„๋ผ ์ œ์–ด๊ถŒ ํ™•๋ณด ๋ฐ ๋ฐฐํฌ ์ตœ์ ํ™”
  • Terraform ๋„์ž…์„ ํ†ตํ•œ Infrastructure as Code(IaC) ๊ตฌํ˜„์œผ๋กœ ๋ฆฌ์†Œ์Šค ๋ณ€๊ฒฝ ์ด๋ ฅ ์ถ”์  ๋ฐ ์žฌํ˜„ ๊ฐ€๋Šฅ์„ฑ ํ™•๋ณด
  • S3 Backend ์„ค์ •์„ ํ†ตํ•œ Terraform State ํŒŒ์ผ์˜ ์›๊ฒฉ ์ €์žฅ ๋ฐ Versioning๊ณผ Encryption ๊ธฐ๋ฐ˜์˜ ์ƒํƒœ ๊ด€๋ฆฌ ๋ณด์•ˆ ๊ฐ•ํ™”
  • GitHub Actions์™€ OpenID Connect(OIDC) ์—ฐ๋™์„ ํ†ตํ•œ ๋‹จ๊ธฐ ํ† ํฐ ๊ธฐ๋ฐ˜ ์ธ์ฆ ์ฒด๊ณ„ ๊ตฌ์ถ• ๋ฐ AWS Access Key ์ œ๊ฑฐ
  • Vite ๋นŒ๋“œ ๋„๊ตฌ ๋„์ž…๊ณผ .env ํŒŒ์ผ ๊ด€๋ฆฌ๋ฅผ ํ†ตํ•œ Frontend ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋ถ„๋ฆฌ ๋ฐ ๋ณด์•ˆ์„ฑ ํ–ฅ์ƒ
  • ์ตœ์‹  Map Library ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ํ†ตํ•œ Frontend ๋ Œ๋”๋ง ์„ฑ๋Šฅ ๋ฐ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ๊ฐœ์„ 

- ์ธํ”„๋ผ ๋ณ€๊ฒฝ ์ด๋ ฅ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ IaC ๋„๊ตฌ(Terraform ๋“ฑ) ๋„์ž… ์—ฌ๋ถ€ ๊ฒ€ํ†  - CI/CD ํŒŒ์ดํ”„๋ผ์ธ ๋‚ด ์ •์  ์ž๊ฒฉ ์ฆ๋ช… ์ œ๊ฑฐ๋ฅผ ์œ„ํ•œ OIDC ์ธ์ฆ ๋ฐฉ์‹ ์ ์šฉ ๊ณ ๋ ค - Terraform State ํŒŒ์ผ์˜ ์•ˆ์ „ํ•œ ๊ณต์œ ์™€ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ Remote Backend ๊ตฌ์„ฑ ํ™•์ธ - Frontend ๋นŒ๋“œ ์ตœ์ ํ™” ๋ฐ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ์ตœ์‹  ๋ฒˆ๋“ค๋Ÿฌ(Vite ๋“ฑ) ํ™œ์šฉ ๊ฒ€ํ† 

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