ํ”ผ๋“œ๋กœ ๋Œ์•„๊ฐ€๊ธฐ
SageMaker Endpoints: Deploy Your Model to Production with Terraform ๐Ÿš€
Dev.toDev.to
AI/ML

Terraform ๊ธฐ๋ฐ˜ SageMaker Endpoints ๊ตฌ์ถ•์„ ํ†ตํ•œ Zero-downtime ML ๋ฐฐํฌ ์ฒด๊ณ„ ๊ตฌํ˜„

SageMaker Endpoints: Deploy Your Model to Production with Terraform ๐Ÿš€

Suhas Mallesh2026๋…„ 4์›” 11์ผ7๋ถ„intermediate

Context

๋ชจ๋ธ ํ•™์Šต ์ดํ›„์˜ ์‹ค์‹œ๊ฐ„ ์„œ๋น™ ๋‹จ๊ณ„์—์„œ ๋ฐœ์ƒํ•˜๋Š” ํ™•์žฅ์„ฑ ํ™•๋ณด ๋ฐ ๋ฐฐํฌ ์•ˆ์ •์„ฑ ๋ฌธ์ œ ํ•ด๊ฒฐ ํ•„์š”. ์ˆ˜๋™ ์„ค์ •์œผ๋กœ ์ธํ•œ ํ™˜๊ฒฝ ๋ถˆ์ผ์น˜์™€ ์—…๋ฐ์ดํŠธ ์‹œ ๋ฐœ์ƒํ•˜๋Š” ์„œ๋น„์Šค ์ค‘๋‹จ ์œ„ํ—˜์„ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•œ IaC ๋„์ž… ํ•„์š”์„ฑ ๋Œ€๋‘.

Technical Solution

  • Model, Endpoint Configuration, Endpoint์˜ 3๊ณ„์ธต ๋ถ„๋ฆฌ ์„ค๊ณ„๋ฅผ ํ†ตํ•œ ๋ชจ๋ธ ์—…๋ฐ์ดํŠธ์™€ ์ธ์Šคํ„ด์Šค ๋ณ€๊ฒฝ์˜ ๋…๋ฆฝ์  ์ œ์–ด ๊ตฌํ˜„
  • create_before_destroy ์˜ต์…˜ ์ ์šฉ์œผ๋กœ ๊ธฐ์กด ์„ค์ • ์‚ญ์ œ ์ „ ์‹ ๊ทœ ์„ค์ • ์ƒ์„ฑ์„ ํ†ตํ•œ ์„œ๋น„์Šค ๋ฌด์ค‘๋‹จ ์—…๋ฐ์ดํŠธ ๋‹ฌ์„ฑ
  • Canary deployment ์ „๋žต์„ ํ†ตํ•œ 1๊ฐœ ์ธ์Šคํ„ด์Šค ์šฐ์„  ๋ฐฐํฌ ๋ฐ 300์ดˆ์˜ Wait interval ๊ฒ€์ฆ ํ›„ ์ „์ฒด ํŠธ๋ž˜ํ”ฝ ์ „ํ™˜ ๊ตฌ์กฐ ์„ค๊ณ„
  • CloudWatch Alarm ์—ฐ๋™ Auto-rollback ์„ค์ •์„ ํ†ตํ•œ ๋ฐฐํฌ ์˜ค๋ฅ˜ ๋ฐœ์ƒ ์‹œ ์ฆ‰๊ฐ์ ์ธ ์ด์ „ ๋ฒ„์ „ ๋ณต๊ตฌ ์ฒด๊ณ„ ๊ตฌ์ถ•
  • Traffic ๊ธฐ๋ฐ˜ Auto-scaling ์„ค์ •์„ ํ†ตํ•œ ๊ฐ€๋ณ€์  ์›Œํฌ๋กœ๋“œ ๋Œ€์‘ ๋ฐ ๋ฆฌ์†Œ์Šค ์ตœ์ ํ™” ์‹คํ˜„

1. Endpoint Config ๋ณ€๊ฒฝ ์‹œ `create_before_destroy = true` ์„ค์ •์„ ํ†ตํ•ด ๋‹ค์šดํƒ€์ž„ ๋ฐฉ์ง€ ์—ฌ๋ถ€ ํ™•์ธ

2. Canary ๋ฐฐํฌ ์‹œ `wait_interval_in_seconds`์™€ `canary_size`๋ฅผ ์‹ค์ œ ํŠธ๋ž˜ํ”ฝ ํŠน์„ฑ์— ๋งž์ถฐ ์กฐ์ •

3. Production ํ™˜๊ฒฝ์—์„œ๋Š” `latest` ํƒœ๊ทธ ๋Œ€์‹  ๊ตฌ์ฒด์ ์ธ ๋ฒ„์ „ ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Container Image์˜ ์žฌํ˜„์„ฑ ํ™•๋ณด

4. ์‹œ๊ฐ„๋‹น ์š”์ฒญ ์ˆ˜ 100๊ฑด ๋ฏธ๋งŒ์˜ ์ €ํŠธ๋ž˜ํ”ฝ ์„œ๋น„์Šค๋Š” ๋น„์šฉ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด Serverless Inference ๊ฒ€ํ† 

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