RDS Blue Green Scaling.md - 100-hours-a-week/KTB4-17th-wiki GitHub Wiki
Blue-Green์ ํตํ ์ฉ๋ ํ์ฅ ๋ฐฉ์
RDS Multi-AZ DB ์ธ์คํด์ค ๊ตฌ์ฑ์ด ์กด์ฌํ๋ค. ํ์์๋ ํ์ชฝ์ด ์ด์ DB๋ก ์ฝ๊ธฐ,์ฐ๊ธฐ๋ฅผ ์ฒ๋ฆฌํ๊ณ ๋ค๋ฅธ AZ์ ๋๊ธฐ ์ธ์คํด์ค์ ๋ฐ์ดํฐ๋ฅผ ๋๊ธฐ์์ผ๋ก ๋ณต์ ํฉ๋๋ค. ์ด์ ์ธ์คํด์ค๋ AZ์ ์ฅ์ ๊ฐ ๋๋ฉด RDS๊ฐ ๋๊ธฐ ์ธ์คํด์ค๋ก ์๋ ์ ํํฉ๋๋ค.
ํ์ง๋ง ํธ๋ํฝ ์ฆ๊ฐ๋ก ๊ธฐ์กด DB ์ฌ์์ ์ฒ๋ฆฌ ์ฉ๋์ ์ด๊ณผํ ๊ฒฝ์ฐ์๋ ๋์ผ ์ฌ์์ ๋๊ธฐ ์ธ์คํด์ค๋ก ์ ํํด๋ ๋ฌธ์ ๊ฐ ํด์๋์ง ์์ต๋๋ค. ๋ฐ๋ผ์ ์์ฒญ ์ง์ฐ๊ณผ ์ค๋ฅ์จ, DB ์์ ์ฌ์ฉ๋ฅ ์ ๋ชจ๋ํฐ๋งํด ์ฉ๋ ๋ถ์กฑ์ ์กฐ๊ธฐ์ ๊ฐ์งํ๊ณ ์ง์์ ์ธ ์ฉ๋ ์ฆ๊ฐ๊ฐ ํ์ธ๋๋ฉด Blue/Green์ผ๋ก ์์ ์ฌ์์ ์ค๋นํด ์ ํํ๋ ๋ฐฉ์์ ์ถ๊ฐ์ ์ผ๋ก ๊ณ ๋ คํ์ต๋๋ค.
์ฑํ ๊ทผ๊ฑฐ
- ์ผํ์ฑยท์์ธก ๊ฐ๋ฅํ ํ์ฅ: ๋จ์ผ ์ธ์คํด์ค๊ฐ ์ด๋ฏธ ํผํฌ๋ฅผ ๊ฐ๋นํ๋ฏ๋ก ํ์ฅ์ ํธ๋ํฝ์ด ์ฌ์ด์ง์ ๋์ด์๋ ์์ ์ ์ผํ์ฑ ์์ ์ด๋ค. ํผํฌ๊ฐ ์คํ 8~10์๋ก ๋ช ํํด ํธ๋ํฝ์ด ๋ฐ๋ฅ์ธ ์๋ฒฝ์ ์์ฝ ์ ํํ ์ ์์ด ์ ํ ๋ค์ดํ์์ ์ํฅ ์ฌ์ฉ์๋ฅผ 0์ ๊ฐ๊น๊ฒ ์ค์ผ ์ ์๋ค.
- ๋ฎ์ ์ ํ ๋น์ฉ: Read๋ ์ค๋จ ์์ด ์ ์ง๋๊ณ Write๋ง ์ฝ 30์ด ์ค๋จ๋๋ฉฐ Green์ด Blue์ ์๋ํฌ์ธํธ๋ฅผ ๋๊ฒจ๋ฐ์ ์ ํ๋ฆฌ์ผ์ด์ ์ค์ ๋ณ๊ฒฝ์ด ํ์ ์๋ค.
- ์์ ํ ์ ํ: Green ํ๊ฒฝ์ ๋ฏธ๋ฆฌ ๋์ ๊ฒ์ฆํ ๋ค ์ ํํ๋ฏ๋ก ๋ฌธ์ ๊ฐ ํ์ธ๋๋ฉด ์ ํ ์ ์ ์ค๋จํ ์ ์๋ค.
๋์ ๋ฐฉ์
- Green ํ๊ฒฝ ์์ฑ: ํ์ฌ ์ด์ ์ค์ธ Multi-AZ ๊ตฌ์ฑ์ธ Blue๋ฅผ ๊ธฐ๋ฐ์ผ๋ก Blue/Green ๋ฐฐํฌ๋ฅผ ์์ฑํ๋ค. Green์ DB ์ธ์คํด์ค๋ฅผ ์์ ์ฌ์์ผ๋ก ๋ณ๊ฒฝํ๊ณ ์ด ๊ณผ์ ์์๋ Blue๋ ์๋น์ค๋ฅผ ๊ณ์ ์ฒ๋ฆฌํ๋ค.
- ๋๊ธฐํ ๋ฐ ๊ฒ์ฆ: Green์ด Blue์ ๋ณ๊ฒฝ ๋ฐ์ดํฐ๋ฅผ ๋ณต์ ํ๋ ๋์ Green์ ์ธ์คํด์ค ์ํ, ๋ณต์ ์ํ๋ฅผ ํ์ธํ๋ค.
- ํธ๋ํฝ ์ ํ: RDS๋ ์ ์ฐ๊ธฐ๋ฅผ ์ค๋จํ๊ณ ๊ธฐ์กด ์ฐ๊ฒฐ์ ๋์ ๋ค Green์ด Blue๋ฅผ ๋ฐ๋ผ์ก์ผ๋ฉด ์ด์ DB์ ์ด๋ฆ๊ณผ ์๋ํฌ์ธํธ๋ฅผ Green์ผ๋ก ์ด์ ํ๋ค.
- ์๋น์ค ์ ์ํ ํ์ธ: ์ ํ๋ฆฌ์ผ์ด์ ์ด DB ์ฐ๊ฒฐ์ ๋ค์ ๋งบ์ ํ ์์ฒญ์ด ์ ์ฒ๋ฆฌ๋๋์ง ํ์ธํ๋ค.
์ ํ ์ Write๋ ์ฝ 30์ด ์ค๋จ๋๋ฉฐ ์ ์ฒด ์ ํ์ 1~2๋ถ ๋ด์ ๋๋๋ค.
์ฐธ๊ณ ์๋ฃ
- [AWS RDS Blue-Green Deployments โ ์ ํ(Switchover) ๊ณต์ ๋ฌธ์](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/blue-green-deployments-switching.html#blue-green-deployments-switching-actions)
- [LG ThinQ ์ ์ฉ ์ฌ๋ก (์์)](https://www.youtube.com/watch?v=H0kJvLAEcrQ&t=433s) โ Read๋ ์ค๋จ ์์ด ๊ณ์๋๊ณ Write๋ง ์ฝ 30์ด ์ค๋จ, ์ ์ฒด ์ ํ 1~2๋ถ (์ "๋์ ๋ฐฉ์"์ ๋ค์ดํ์ ๊ทผ๊ฑฐ)
- [CRED์ Amazon RDS Blue-Green ๋๊ท๋ชจ ํ์ฉ ์ฌ๋ก (AWS ๋ธ๋ก๊ทธ)](https://aws.amazon.com/ko/blogs/database/how-cred-uses-amazon-rds-blue-green-deployments-at-scale/)
- [Lambda + EventBridge๋ก ์์ฝ ๊ธฐ๋/์ข ๋ฃ ๊ตฌํ ์ฌ๋ก](https://wikidocs.net/397337) โ ์๋ฒฝ ์์ฝ ์ ํ ์ค์ผ์ค๋ง ์ฐธ๊ณ