| name | shipping-checklist |
| description | Pre-deployment checklist for infrastructure changes. Use when deploying to production, launching new services, or performing staged rollouts. |
Shipping Checklist
Overview
์ธํ๋ผ ๋ณ๊ฒฝ์ ํ๋ก๋์
์ ๋ฐฐํฌํ๊ธฐ ์ ์ํํ๋ ์ฒดํฌ๋ฆฌ์คํธ์
๋๋ค.
๋ฐฐํฌ๋ ์ฝ๋ ์์ฑ๋ณด๋ค ์ํํ๋ฏ๋ก, ๊ตฌ์กฐํ๋ ๊ฒ์ฆ ์์ด ์งํํ์ง ์์ต๋๋ค.
When to Use
- terraform apply to prd
- ์ ์๋น์ค ๋ฐ์นญ
- ์ธํ๋ผ ๋ง์ด๊ทธ๋ ์ด์
์๋ฃ ๋จ๊ณ
- feature flag ํ์ฑํ
- DNS ๋ณ๊ฒฝ, ์ธ์ฆ์ ๊ต์ฒด
์ ์ฉํ์ง ์๋ ๊ฒฝ์ฐ: dev/stg ํ๊ฒฝ ๋ณ๊ฒฝ, ํ๊ทธ/์ค๋ช
์์ .
Pre-Deploy Checklist
1. ์ฝ๋ ์ค๋น
2. ๋ณด์ ๊ฒ์ฆ
3. ๋กค๋ฐฑ ๊ณํ
terraform state pull > backup-$(date +%Y%m%d-%H%M%S).tfstate
4. ๋ชจ๋ํฐ๋ง ์ค๋น
5. ๋ฐฐํฌ ์คํ
6. Post-Deploy ๊ฒ์ฆ
curl -f http://endpoint/health
aws ec2 describe-instance-status --instance-ids <id>
aws ecs describe-services --cluster <cluster> --services <svc>
terraform plan
Staged Rollout
๋๊ท๋ชจ ๋ณ๊ฒฝ ์ ๋จ๊ณ๋ณ ๋ฐฐํฌ:
Phase 1: Canary (1๊ฐ ์ธ์คํด์ค/AZ)
โ 30๋ถ ๊ด์ฐฐ โ ์ด์ ์์ผ๋ฉด ์งํ
Phase 2: 50% ๋ฐฐํฌ
โ 1์๊ฐ ๊ด์ฐฐ โ ์ด์ ์์ผ๋ฉด ์งํ
Phase 3: 100% ๋ฐฐํฌ
โ ๋ชจ๋ํฐ๋ง ์์ ํ ํ์ธ
Rollback Decision
| ์กฐ๊ฑด | ์กฐ์น |
|---|
| ๋ฐฐํฌ ํ 5๋ถ ์ด๋ด ์ฅ์ | ์ฆ์ ๋กค๋ฐฑ |
| ๋ฉํธ๋ฆญ ์ด์ (์๋ฌ์จ ์ฆ๊ฐ) | ์ฆ์ ๋กค๋ฐฑ |
| ๋ถ๋ถ ์ฅ์ | feature flag OFF โ ์กฐ์ฌ |
| ๋ฐ์ดํฐ ๋ง์ด๊ทธ๋ ์ด์
ํฌํจ | forward fix (๋กค๋ฐฑ ๋ถ๊ฐ) |
Common Rationalizations
| Rationalization | Reality |
|---|
| "dev์์ ๋์ผ๋ ๋ฐ๋ก prd ์ ์ฉํฉ๋๋ค" | ํ๊ฒฝ ์ฐจ์ด๊ฐ ์์ต๋๋ค. ์ฒดํฌ๋ฆฌ์คํธ๋ฅผ ์ํํฉ๋๋ค. |
| "๊ธํด์ ๋กค๋ฐฑ ๊ณํ์ ๋์ค์ ์ธ์๋๋ค" | ๋กค๋ฐฑ ๊ณํ ์์ด ๋ฐฐํฌํ๋ฉด ์ฅ์ ์ ๋ณต๊ตฌ ์๊ฐ์ด ๋ฐฐ๋ก ๋์ด๋ฉ๋๋ค. |
| "๋ชจ๋ํฐ๋ง์ ๋ฐฐํฌ ํ ์ค์ ํฉ๋๋ค" | ๋ฐฐํฌ ์์ ์ ๋ชจ๋ํฐ๋ง์ด ์์ผ๋ฉด ์ฅ์ ๋ฅผ ๊ฐ์งํ ์ ์์ต๋๋ค. |
Red Flags
- ์ฒดํฌ๋ฆฌ์คํธ ๋ฏธ์ํ ์ํ์์ prd apply
- ๋กค๋ฐฑ ๊ณํ ์์
- state ๋ฐฑ์
์์
- ๋ชจ๋ํฐ๋ง/์๋ฆผ ๋ฏธ์ค์
- ๋จ๊ณ๋ณ ๊ฒ์ฆ ์์ด ์ ์ฒด ํ ๋ฒ์ ๋ฐฐํฌ
Verification
๋ฐฐํฌ ์๋ฃ ํ: