2022. 8. 24. 23:02ใAWS
๐ As-Is Architecture
- As-is Auto Scaling Group ์ค์ ์ํ
- Desired capacity: 2
- Minimum capacity: 2
- Maximum capacity: 2
โ๏ธ To-Be Architecture
- ๋ณ๊ฒฝ ๋ชฉํ : Auto Scale-in/out ๊ธฐ๋ฅ ๋ฏธํ์๋ก ์ธํ Auto Scaling Group์์ ์๋ฒ ๋ถ๋ฆฌ ๋ฐ ASG ์ญ์
๐ซ Process
0. ๋ฐฑ์ ์ ์ํ ์ด๋ฏธ์ง ์์ฑ
1. ์ถ์ ๋ณดํธ ์ค์
- Auto Scaling Group ์ฝ์ > Instance management ํญ > Actions ๋ฒํผ > [Set scale-in protection] ์ ํ
์์ ๊ฐ์ด Instances์ [Protected from] ์ค์ ์ด Scale in์ผ๋ก ๋ณ๊ฒฝ๋๋ค.
๐จ ๋ฐ๋์ ์ถ์ ๋ณดํธ ์ค์ ์ ํตํด Scale-in์ด ๋๋๋ผ๋ EC2๊ฐ ์ข ๋ฃ ๋ฐ ์ญ์ ๋๋ ๊ฒ์ ๋ฐฉ์งํด์ผ๋ง ํ๋ค.
Scale-out ๋๋ Subnet ์ถ๊ฐ ์์๋ AZ๊ฐ ๋ฐธ๋ฐ์ค๋ฅผ ์ํด ๊ธฐ์กด ๋ ธ๋๊ฐ ์ญ์ ๋๋ ๊ฒฝ์ฐ ๋ฑ ์์์น ๋ชปํ ๋ ธ๋ ์ญ์ ์ ๋ํ ๋ฐฉ์ง๊ฐ ๊ฐ๋ฅํ๋ค.
๐ก ์ถ์ ๋ณดํธ ์ค์ ์ ํ์ง ์๋ ๊ฒฝ์ฐ, EC2 ์ธ์คํด์ค ์์ฒด์ ์ข ๋ฃ ๋ณดํธ(termination protection) ์ค์ ์ ํ ๊ฒฝ์ฐ๋ ์์ธ ์์ด ์ข ๋ฃ๋๋ค.
2. Min Capacity ๋ณ๊ฒฝ
๐จ ๋ฐ๋์ Min ๊ฐ๋ง ๋ณ๊ฒฝํ๋ค.
Desired capacity๋ฅผ ์ถ์ ๋ณดํธ ์ค์ ํ ์ธ์คํด์ค ์๋ณด๋ค ์ ์ ์๋ก ๋ณ๊ฒฝํ๋ ๊ฒฝ์ฐ, ์์ ๊ฐ์ด cancel ๋๋ฉฐ ์ ๋๋ก ๋ณ๊ฒฝ๋์ง ์๋๋ค.
์บก์ฒ๋ 1๋ฒ์์ 2๊ฐ์ ์ธ์คํด์ค์ ๋ํด ์ถ์ ๋ณดํธ ์ค์ ์ ํ์๋๋ฐ Desired Capacity๋ฅผ 0์ผ๋ก ๋ณ๊ฒฝํ ๊ฒฝ์ฐ์ด๋ค. Activity History์์ Auto Scaling Group์ ๋ชจ๋ activity๋ฅผ ํ์ธํ ์ ์๋ค.
3. ASG์์ ์ธ์คํด์ค ๋ถ๋ฆฌ
- Auto Scaling Group ์ฝ์ > Instance management ํญ > Actions ๋ฒํผ > [Detach] ์ ํ
Detach ํด๋ฆญ ์, ์์ ๊ฐ์ ์๋์ฐฝ์ด ๋ฌ๋ค.
[Add a new instance to the Auto Scaling group to balance the load(์ ์ธ์คํด์ค๋ฅผ Auto Scaling ๊ทธ๋ฃน์ ์ถ๊ฐํ์ฌ ๋ก๋ ๊ท ํ ์ ์ง)]๋ฅผ default ๊ทธ๋๋ก ๋นํ์ฑํํ ์ํ๋ก, ์ฐ์ธก ํ๋จ์ [Detach Instance]๋ฅผ ํด๋ฆญํ๋ค.
์ฒดํฌ๋ฐ์ค์ ์ฒดํฌ๋ฅผ ํ๋ ๊ฒ์ ์๋ก์ด ์ธ์คํด์ค๋ฅผ ์์ฑํ์ฌ Auto Scaling Group์ ์ถ๊ฐ๋ฅผ ํ๋ ๊ฒ์ผ๋ก ํด๋น ์ํฉ์์์ detach์ ์๋ฏธ๊ฐ ์๋ค.
Detach ์ ํ ์, ์ธ์คํด์ค์ Lifecycle์ Detaching์ผ๋ก ๋ณ๊ฒฝ๋๋ค.
4. ๋ก๋๋ฐธ๋ฐ์ ํ๊ฒ ๊ทธ๋ฃน์ ์ธ์คํด์ค ์ถ๊ฐ
๐ข Load balancer target groups๊ณผ ์ฐ๊ฒฐ๋์ด ์์ง ์์ ASG๋ 4๋ฒ ํญ๋ชฉ์ ๊ฑด๋๋ฐ์ด๋ ๋๋ค.
Auto Scaling Group์ด Load Balancer์ Target Group๊ณผ ์ฐ๊ฒฐ์ด ๋์ด ์๋ ๊ฒฝ์ฐ, ์์ ๊ฐ์ด Detach๋ฅผ ์๋ํ EC2 ์ธ์คํด์ค๊ฐ ์ฆ์ ELB Target Group์์ Draining ๋๋ค.
Target Group ์ฝ์์์๋ ์์ ๊ฐ์ด ํ์ธํ ์ ์๋ค.
์ด๋, ์ฌ์ฉ์๊ฐ ALB์ ์๋ํฌ์ธํธ๋ฅผ ์ ์ํ๋ ๊ฒฝ์ฐ ์์ ๊ฐ์ด 503 ์๋ฌ๋ฅผ return ๋ฐ๋๋ค.
๋ณธ ํฌ์คํ ์์๋ ASG ์ญ์ ๋ฅผ ์ํ์ง๋ง ์ฌ์ฉ์๊ฐ ์ฌ์ ํ ์๋น์ค๋ฅผ ์ด์ฉํ ์ ์๊ฒ ํ๋ ๊ฒ์ด ๋ชฉํ์ด๊ธฐ ๋๋ฌธ์ ์์ ๊ฐ์ด Target Group์ ๊ธฐ์กด EC2๋ฅผ ํ๊ฒ์ผ๋ก ๋ฑ๋กํ๋ค.
๐ก ๊ธฐ์กด ์๋น์ค๋ฅผ ์ค๋จ ์๊ฐ ์์ด ๊ฐ์ฉํ๊ธฐ ์ํด์๋ ํ ์ธ์คํด์ค์ฉ ASG์์ Detach ํ๊ณ Drain ๋ ์ธ์คํด์ค๋ฅผ Target Group์ ๋ฑ๋กํ๋ฉด ๋๋ค.
5. Auto Scaling Group ์ญ์
ASG ์ฝ์์์ ๋ชจ๋ Detach ์๋ฃ๋์ด Desired capacity๊ฐ 0์ด ๋์์ ํ์ธํ ์ ์๋ค.
Delete ๋ฒํผ์ ์ด์ฉํด ASG๋ฅผ ์ญ์ ํ๋ค.
⇒ ์ฑ๊ณต~~!