[AWS] Auto Scaling
๐ ๋ค์ด๊ฐ๋ฉฐ
์ด๋ฒ ๊ธ์์๋ AWS์ Auto Scaling์ ์ ๋ฆฌํ๋ค. ํธ๋ํฝ์ ๋ฐ๋ผ EC2 ์ธ์คํด์ค ์๋ฅผ ์๋์ผ๋ก ๋๋ฆฌ๊ณ ์ค์ฌ, ๋ถํ๋ ๊ฐ๋นํ๋ฉด์ ๋น์ฉ์ ์๋ผ๋ ๊ธฐ๋ฅ์ด๋ค. AMI ์์ฑ โ ์์ ํ ํ๋ฆฟ โ Auto Scaling ๊ทธ๋ฃน(ASG)์ ์์๋ก ๊ตฌ์ถํ๋ค.
Auto Scaling์ด๋? ์ ํ๋ฆฌ์ผ์ด์ ๋ถํ๋ฅผ ์ฒ๋ฆฌํ ์ ํํ ์์ ์ธ์คํด์ค๋ฅผ ์ ์งํ๋ ์๋น์ค. Auto Scaling ๊ทธ๋ฃน(ASG)์ ์ต์ยท์ต๋ยทํฌ๋ง ์ฉ๋์ ์ง์ ํ๋ฉด, AWS๊ฐ ๊ทธ ๋ฒ์ ์์์ ์ธ์คํด์ค ์๋ฅผ ์๋์ผ๋ก ์กฐ์ ํ๋ค.
1. ํต์ฌ ๊ตฌ์ฑ๊ณผ ํ๋ฆ
Auto Scaling์ โ์ด๋ค ์ธ์คํด์ค๋ฅผ(AMI) โ ์ด๋ค ์ค์ ์ผ๋ก(์์ ํ ํ๋ฆฟ) โ ๋ช ๊ฐ๋(ASG)โ ์ ์งํ ์ง๋ฅผ ์ ์ํ๋ ๊ตฌ์กฐ๋ค.
flowchart LR
AMI["๐ AMI<br/>(์ธ์คํด์ค ์ด๋ฏธ์ง)"] --> LT["๐ ์์ ํ
ํ๋ฆฟ<br/>(ํคยท๋ณด์๊ทธ๋ฃน ๋ฑ)"]
LT --> ASG["๐ฆ Auto Scaling ๊ทธ๋ฃน<br/>(minยทmaxยทdesired)"]
ASG --> E1["๐ป EC2"]
ASG --> E2["๐ป EC2"]
ALB["โ๏ธ ALB"] --> ASG
| ์ฉ์ด | ์ญํ |
|---|---|
| AMI | ๋ณต์ ํ ์ธ์คํด์ค์ ์ด๋ฏธ์ง(์ค๋ ์ท ๊ธฐ๋ฐ) |
| ์์ ํ ํ๋ฆฟ | ์ธ์คํด์ค ์์ฑ ์ค์ (AMIยทํคยท๋ณด์๊ทธ๋ฃน) |
| ASG | ์ธ์คํด์ค ์๋ฅผ ๊ด๋ฆฌ(์ต์/์ต๋/ํฌ๋ง) |
| ALB | ๋์ด๋ ์ธ์คํด์ค๋ก ํธ๋ํฝ ๋ถ์ฐ |
2. ๊ธฐ์กด ์ธ์คํด์ค๋ก AMI ์์ฑ
Auto Scaling์๋ ๋ณต์ ๊ธฐ์ค์ด ๋๋ ์ด๋ฏธ์ง(AMI)๊ฐ ํ์ํ๋ค. ๊ธฐ์กด web ์๋ฒ ์ธ์คํด์ค๋ฅผ ์ด๋ฏธ์ง๋ก ๋ง๋ ๋ค. ์ค๋ ์ท์ด ๋จผ์ ์์ฑ๋์ด ๋๊ธฐ ์ค์ด ๋๊ณ , ์ฌ์ฉ ๊ฐ๋ฅ ์ํ๊ฐ ๋๋ฉด AMI ๋ชฉ๋ก์์ ํ์ธํ ์ ์๋ค.
3. ์์ ํ ํ๋ฆฟ ์์ฑ
์ค์ผ์ผ๋งํ ๋์์ ์ ์ํ๋ ์์ ํ ํ๋ฆฟ์ ๋ง๋ ๋ค. OS ์ด๋ฏธ์ง๋ก ๋ฐฉ๊ธ ๋ง๋ AMI๋ฅผ ๊ณ ๋ฅด๊ณ , ํคํ์ด์ ๋ณด์ ๊ทธ๋ฃน์ ๊ธฐ์กด web ์๋ฒ์ฉ์ ์ ํํ๋ค.
4. Auto Scaling ๊ทธ๋ฃน + ๋ก๋๋ฐธ๋ฐ์
์์ ํ ํ๋ฆฟ์ ์ ํํด ์ค์ ASG๋ฅผ ๋ง๋ ๋ค. VPCยท์๋ธ๋ท์ ๋ด๊ฐ ๋ง๋ ๊ฒ์ผ๋ก ํ๊ณ , ๋ก๋๋ฐธ๋ฐ์๋ ์ ALB๋ฅผ Internet-facing ์ฒด๊ณ๋ก ์์ฑํ๋ค.
โ ๏ธ ์ฝ์ ์ธ์ด์ ๋ฐ๋ผ Internet-facing์ด ํ๊ธ/์์ด๋ก ๋ฒ๊ฐ์ ํ์๋๋, โInternet-facingโ ์ด๋ผ๋ ๋จ์ด ์์ฒด๋ฅผ ๊ธฐ์ตํด๋์. ์ธ๋ถ ํธ๋ํฝ์ ๋ฐ์ผ๋ ค๋ฉด ๋ฐ๋์ ์ด ์ต์ ์ด์ด์ผ ํ๋ค.
5. ์ฉ๋ ยท ์ ์ง ๊ด๋ฆฌ ยท ์๋ฆผ
ํฌ๋ง ์ฉ๋(๊ทธ๋ฃน ํฌ๊ธฐ)์ ์ด๊ธฐ ์ธ์คํด์ค ์๋ค. 2๋ก ํ๋ฉด AMI ๊ธฐ๋ฐ ์ธ์คํด์ค 2๊ฐ๋ก ์์ํ๋ค. ์ต์/์ต๋ ์ฉ๋์ผ๋ก ๋ฒ์๋ฅผ ์ ํ๊ณ , ๋์ ์ถ์ ์ ์ฑ ์ ๊ฑธ๋ฉด ์งํ์ ๋ฐ๋ผ ๋์ ์ผ๋ก ์กฐ์ ๋๋ค(์ฌ๊ธฐ์๋ ์ ์ฑ ์์์ผ๋ก ์๋ ์ค์ต).
| ์ฉ๋ ์ค์ | ์๋ฏธ |
|---|---|
| ํฌ๋ง(desired) | ํ์์ ์ ์งํ ์ธ์คํด์ค ์ |
| ์ต์(min) | ์ด ์๋๋ก ์ค์ง ์์ |
| ์ต๋(max) | ์ด ์๋ก ๋์ง ์์ |
์ ์ง ๊ด๋ฆฌ ์ ์ฑ
์์๋ ์ธ์คํด์ค ๊ต์ฒด ์ ์ ์ธ์คํด์ค๊ฐ ๋ฐ ๋๊น์ง ๊ธฐ์กด ์ธ์คํด์ค๋ฅผ ์ด๋ ค๋๋๋ก ์ค์ ํด ๋ฌด์ค๋จ์ ๋
ธ๋ฆฐ๋ค. ์๋ฆผ์ ์ด๋ฉ์ผ๋ก ๋ฐ๊ณ , ํ๊ทธ๋ก Name=asg๋ฅผ ์ง์ ํ๋ค.
๐ก ๋์ ์ถ์ ์ ์ฑ ์ โCPU 50% ์ ์งโ์ฒ๋ผ ๋ชฉํ ์งํ๋ฅผ ์ ํ๋ฉด AWS๊ฐ ์์์ ์ธ์คํด์ค๋ฅผ ๋๋ฆฌ๊ณ ์ค์ธ๋ค. ์ค๋ฌด์์๋ ์๋ ๋์ ์ด ๋ฐฉ์์ผ๋ก ํธ๋ํฝ์ ์๋ ๋ฐ์ํ๊ฒ ๋๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด๋ค.
๐ ์ ๋ฆฌ
1
2
3
4
5
6
Auto Scaling
โโ AMI ๋ณต์ ๊ธฐ์ค ์ด๋ฏธ์ง ์์ฑ
โโ ์์ ํ
ํ๋ฆฟ AMI + ํค + ๋ณด์๊ทธ๋ฃน ์ค์
โโ ASG min/max/desired๋ก ์ธ์คํด์ค ์ ๊ด๋ฆฌ
โโ ALB Internet-facing์ผ๋ก ํธ๋ํฝ ๋ถ์ฐ
โโ ์ ์ฑ
๋์ ์ถ์ โ ์งํ ๊ธฐ๋ฐ ์๋ ์กฐ์
| ๊ฐ๋ | ํ ์ค ์ ์ |
|---|---|
| Auto Scaling | ๋ถํ์ ๋ฐ๋ผ ์ธ์คํด์ค ์ ์๋ ์กฐ์ |
| ์์ ํ ํ๋ฆฟ | ์ธ์คํด์ค ์์ฑ ์ค์ ์ฒญ์ฌ์ง |
| ๋์ ์ถ์ ์ ์ฑ | ์งํ ๋ชฉํ ๊ธฐ๋ฐ ์๋ ์ค์ผ์ผ |
Auto Scaling์ ํต์ฌ์ AMI โ ์์ ํ ํ๋ฆฟ โ ASG๋ก ์ด์ด์ง๋ ๊ตฌ์ฑ๊ณผ, min/max/desired๋ก ๊ท๋ชจ๋ฅผ ํต์ ํ๋ ๊ฒ์ด๋ค. ALB์ ๊ฒฐํฉํ๋ฉด ํธ๋ํฝ ์ฆ๊ฐ์ ์๋์ผ๋ก ์ธ์คํด์ค๋ฅผ ๋๋ ค ๋์ํ ์ ์๋ค.















Comments powered by Disqus.