Terraform ๊ธฐ๋ฐ SageMaker Endpoints ๊ตฌ์ถ์ ํตํ Zero-downtime ML ๋ฐฐํฌ ์ฒด๊ณ ๊ตฌํ
SageMaker Endpoints: Deploy Your Model to Production with Terraform ๐
AI ์์ฝ
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 ๊ฒํ