๋ก๋ ๋ฐธ๋ฐ์ฑ์ ๋๊ทํฌ ํธ๋ํฝ ์ฒ๋ฆฌ์ ํต์ฌ ๊ธฐ์ ์ด๋ค. ์๋ฒ์ ๊ฐํด์ง๋ ๋ถํ๋ฅผ ๋ถ์ฐ์์ผ ์๋น์ค์ ์์ ์ฑ๊ณผ ์ฑ๋ฅ์ ์ ์งํ๋ ์ญํ ์ ํ๋ค.
๋ก๋๋ฐธ๋ฐ์ฑ์ด๋?
๋ก๋ ๋ฐธ๋ฐ์ฑ์ ๋ค์ด์ค๋ ๋คํธ์ํฌ ํธ๋ํฝ์ ์ฌ๋ฌ ์๋ฒ์ ๋ถ์ฐํ์ฌ ๋จ์ผ ์๋ฒ์ ๊ณผ๋ถํ๊ฐ ๊ฑธ๋ฆฌ์ง ์๋๋ก ํ๋ ๊ธฐ์ ์ด๋ค.
๋ก๋๋ฐธ๋ฐ์ค๊ฐ ๋ฑ์ฅํ ์ด์
- ํธ๋ํฝ ์ด์: ์๋ฒ์๋ฅผ ๋๋ฆฐ๋ค.(์ํ์ ํ์ฅ)
- ์์ ์ ์ธ ๋ฐฐํฌ๋ฅผ ์ํ ํ์์ฑ:
- ์๋ก์ด ์๋ฒ์ ๋ฐฐํฌํ๋ ๊ฒฝ์ฐ: ์๋ก์ด ์๋ฒ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌํ๋ฉด IP๊ฐ ๋ณ๊ฒฝ๋ ์ ์๋ค. ์ด๋ฌํ ๊ฒฝ์ฐ ๋ก๋ ๋ฐธ๋ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ณ ์ IP๋ฅผ ๋ถ์ฌํ๋ฉด, ํด๋ผ์ด์ธํธ๋ IP ๋ณ๊ฒฝ์ ์ธ์งํ์ง ์๊ณ ์๋น์ค๋ฅผ ์ด์ฉํ ์ ์๋ค.
- ๊ธฐ์กด ์๋ฒ์ ๋ฐฐํฌํ๋ ๊ฒฝ์ฐ: ๊ธฐ์กด ์๋ฒ์ ์ ๋ฒ์ ์ ๋ฐฐํฌํ๋ฉด์ ์๋ฒ๋ฅผ ์ฌ์์ํด์ผ ํ๋ ์ํฉ์ด ๋ฐ์ํ ์ ์๋ค. ์ด๋, ๋ก๋ ๋ฐธ๋ฐ์๋ ๊ธฐ์กด ์๋ฒ์ ํธ๋ํฝ์ ๋ค๋ฅธ ์๋ฒ๋ก ๋ถ์ฐ์์ผ ์ ์ ๊ฐ ์๋น์ค๋ฅผ ์ค๋จ ์์ด ์ด์ฉํ ์ ์๋๋ก ํ๋ค.
๋ก๋๋ฐธ๋ฐ์ฑ์ ์ ํ
๋ก๋ ๋ฐธ๋ฐ์ฑ์ ์ฃผ๋ก ๋คํธ์ํฌ ๊ณ์ธต์ ๋ฐ๋ผ ๋ ๊ฐ์ง ์ ํ์ผ๋ก ๋๋๋ค: L4 ๋ก๋ ๋ฐธ๋ฐ์ฑ๊ณผ L7 ๋ก๋ ๋ฐธ๋ฐ์ฑ.
- L4 ๋ก๋ ๋ฐธ๋ฐ์ฑ (๋คํธ์ํฌ ๋ ๋ฒจ ๋ก๋ ๋ฐธ๋ฐ์ฑ):
- ๋คํธ์ํฌ ๊ณ์ธต(Layer 4, ์ ์ก ๊ณ์ธต)์์ ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ์ํํ๋ฉฐ, IP ์ฃผ์์ ํฌํธ ๋ฒํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํธ๋ํฝ์ ๋ถ์ฐํ๋ค.
- L4 ๋ก๋ ๋ฐธ๋ฐ์๋ ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ TCP ๋๋ UDP ์ฐ๊ฒฐ์ ๊ธฐ๋ฐ์ผ๋ก ์์ฒญ์ ๋ถ์ฐ์ํจ๋ค.
- ์ฅ์ : ๋น ๋ฅด๊ณ ํจ์จ์ ์ด๋ฉฐ, ๋ค์ํ ํ๋กํ ์ฝ์ ์ ์ฉ ๊ฐ๋ฅํ๋ค.
- ๋จ์ : HTTP ์์ฒญ์ ์ธ๋ถ์ ์ธ ๋ด์ฉ์ ๋ถ์ํ์ง ์์ผ๋ฏ๋ก, ์์ฒญ์ ๋ด์ฉ์ ๋ฐ๋ผ ํธ๋ํฝ์ ์ธ๋ถํํ ์ ์๋ค.
- L7 ๋ก๋ ๋ฐธ๋ฐ์ฑ (์ ํ๋ฆฌ์ผ์ด์
๋ ๋ฒจ ๋ก๋ ๋ฐธ๋ฐ์ฑ):
- ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต(Layer 7)์์ ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ์ํํ๋ฉฐ, HTTP, HTTPS์ ๊ฐ์ ์ ํ๋ฆฌ์ผ์ด์ ํ๋กํ ์ฝ์ ๊ธฐ๋ฐ์ผ๋ก ํธ๋ํฝ์ ๋ถ์ฐํ๋ค.
- L7 ๋ก๋ ๋ฐธ๋ฐ์๋ ์์ฒญ์ URL, ํค๋, ์ฟ ํค, ๋ฉ์๋ ๋ฑ์ ๋ถ์ํ์ฌ ์์ฒญ์ ๋ถ๋ฐฐํ ์ ์๋ค.
- ์ฅ์ : ํธ๋ํฝ์ ๋ณด๋ค ์ธ๋ถํํ์ฌ ๋ถ์ฐํ ์ ์์ผ๋ฉฐ, ๊ณ ๊ธ ๋ผ์ฐํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
- ๋จ์ : L4 ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ๋นํด ์ฑ๋ฅ์ด ๋ฎ์ ์ ์์ผ๋ฉฐ, ๋ ๋ง์ ๋ฆฌ์์ค๋ฅผ ์๋ชจํ๋ค.
๋ฐฐํฌ์ ์ข ๋ฅ: Rolling / Canary / Blue-Green ๋ฐฉ์
1. Rolling ๋ฐฐํฌ
๊ตฌ๋ฒ์ ํ๋ ์ฃฝ์ด๊ณ → ์ ๋ฒ์ ํ๋ ์ด๋ฆฌ๊ณ → ๋ฐ๋ณต
- ๋ฒ์ ๊ฐ ํธ๋ํฝ์ด ์์ด์ง ์๋๋ค
- Rolling with Additional Batches: ํธ๋ํฝ์ ๋ํ ๊ธฐ์กด ์ธ์คํด์ค ์ ์ ์ง
- Immutable ๋ฐฐํฌ ๋ฐฉ์: ๊ทธ๋ฃน(ASG, Auto Scaling Group)์ ๊ธฐ์ค์ผ๋ก ๊ตฌ๋ฒ์ / ์ ๋ฒ์ ๊ตฌ๋ณ ๋ฐ ๋ฐฐํฌ, ์ ํ
2. Canary ๋ฐฐํฌ
์ ๋ฒ์ ํ ์คํธ ํ → ์ ๋ฒ์ ์ ์ฒด ์ ํ
- ๋ฒ์ ๊ฐ ํธ๋ํฝ์ด ์์
- A/Bํ ์คํธ → A์๊ณผ B์์ ๋์์ ํ ์คํธ EX) ๊ฒฐ์ ํ๊ธฐ ๋ฒํผ์ ๋นจ๊ฐ์์ผ๋ก ํน์ ํ๋์์ผ๋ก ํ ์คํธ → ํ์ชฝ ํธ๋ํฝ์ ๋นจ๊ฐ์ ๋ฒํผ, ํ์ชฝ ํธ๋ํฝ์ ํ๋์ ๋ฒํผ์ผ๋ก ๋ ธ์ถ ํ ์ด๋ค ์๊น์ ๋ฒํผ์ด ๋ ๋ง์ด ๋๋ฆฌ๋์ง ๋ก๋๋ฐธ๋ฐ์ค์ ๊ฒฐํฉํด์ ํ ์คํธ ๊ฐ๋ฅ
3. Blue-Green ๋ฐฐํฌ
๊ทธ๋ฃน์ ๊ธฐ์ค์ผ๋ก ๊ตฌ๋ฒ์ / ์ ๋ฒ์ ๊ตฌ๋ณ
- ๋ฌธ์ ๋ฐ์ ์ ์ฆ์ ๋กค๋ฐฑ์ด ๊ฐ๋ฅ
- ์๋ฒ ๋ฒ์ ์ ๊ตฌ๋ฒ์ /์ ๋ฒ์ ๋ ๋ค ๊ฐ์ง๊ณ ์์ด์ผํด์ ๋น์ฉ์ด 2๋ฐฐ๋ก ๋ฐ์ํ ์ ์์.
4. Canary + Blue-Green ๋ฐฉ์์ ํฉ์น ๋ฐฐํฌ ์ฌ๋ก
- ์ผ๋ถ ๋น ํ ํฌ ๊ธฐ์ ์์ Canary ๋ฐฐํฌ + Blue-Green ๋ฐฐํฌ ๋ ์ ๋ต์ ์ฅ์ ๋ง ํฉ์ณ ํผํฉ์ผ๋ก ์ฌ์ฉํ๋ค.
โน๏ธ์ฐธ๊ณ
[ASAC 6๊ธฐ ๊ฐ์์๋ฃ]
'๐ปDEV-STUDY > HTTP' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
HTTP Cache ๋์์๋ฆฌ + Hash (0) | 2024.08.20 |
---|---|
HTTP Cache ๊ฐ๋ ๋ฐ Cache-control ํค๋ (0) | 2024.08.20 |
๋ฐฑ์๋ ์น ๊ฐ๋ฐ: API = ํด๋ผ์ด์ธํธ๊ฐ ํ์ํ๋ ๋ฐ์ดํฐ ๋ฐํ (0) | 2024.08.19 |
ํ๋ก ํธ ์น ๊ฐ๋ฐ์ ํ์ ๊ฐ๋ : ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ ์์ํฌ๋ถํฐ SSR๊น์ง (0) | 2024.08.19 |
ํ๋ก ํธ์๋ ์น ๊ฐ๋ฐ (0) | 2024.08.19 |