[Cloud] Auto Scale Group(ASG)์ ์ดํด
๐ ๋ค์ด๊ฐ๋ฉฐ
์ด๋ฒ ๊ธ์์๋ EC2 Auto Scaling(ASG)์ ์ ๋ฆฌํ๋ค. ๋ถํ์ ๋ฐ๋ผ ์ธ์คํด์ค ์๋ฅผ ์๋์ผ๋ก ๋๋ฆฌ๊ณ ์ค์ฌ, ์ฑ๋ฅ์ ์ ์งํ๊ณ ๋น์ฉ์ ์๋ผ๋ ์๋น์ค๋ค. Scale Up/Out ๊ฐ๋ ๋ถํฐ ๊ตฌ์ฑ ์์, ๊ทธ๋ฆฌ๊ณ ALB์ ํจ๊ป ASG๋ฅผ ๊ตฌ์ถํ๋ Lab๊น์ง ๋ค๋ฃฌ๋ค.
Auto Scaling์ด๋? ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ชจ๋ํฐ๋งํ๋ฉฐ ์ฉ๋์ ์๋์ผ๋ก ์กฐ์ ํด, ์ต์ ๋น์ฉ์ผ๋ก ์์ ์ ์ธ ์ฑ๋ฅ์ ์ ์งํ๋ ์๋น์ค. ์ ์ํ ์กฐ๊ฑด์ ๋ฐ๋ผ EC2๋ฅผ ์ถ๊ฐยท์ ๊ฑฐํ๊ณ , ์์๋ ์ธ์คํด์ค๋ฅผ ์๋ ๊ต์ฒดํ๋ค.
1. ํ์ฅ์ฑ โ ์์ง vs ์ํ
| ๊ตฌ๋ถ | ์์ง ์ค์ผ์ผ๋ง | ์ํ ์ค์ผ์ผ๋ง |
|---|---|---|
| ํํ | Scale Up / Down | Scale Out / In |
| ๋ฐฉ์ | ์๋ฒ ๋ฆฌ์์ค ํฌ๊ธฐ ํ์ฅ/์ถ์ | ์๋ฒ ์ ์ฆ๊ฐ/๊ฐ์ |
| ์ | t2.micro โ t2.large | ์๋ฒ 2๋ โ 4๋ |
๐ก ๊ณ ๊ฐ์ฉ์ฑ โ ํ์ฅ์ฑ. ๊ณ ๊ฐ์ฉ์ฑ์ โ์ฅ์ ๊ฐ ๋๋ ์๋น์ค๊ฐ ๊ณ์๋๋ ๊ฒโ, ํ์ฅ์ฑ์ โ๋ถํ์ ๋ง์ถฐ ์์์ ๋๋ฆฌ๊ณ ์ค์ด๋ ๊ฒโ์ด๋ค. Auto Scaling์ ์ฃผ๋ก ์ํ ํ์ฅ(Scale Out/In)์ผ๋ก ์ด ๋์ ํจ๊ป ๋ฌ์ฑํ๋ค.
2. ์ Auto Scaling์ธ๊ฐ โ Amazon์ ์ฌ๋ก
โ ๏ธ Amazon.com์ ๋ธ๋ ํ๋ผ์ด๋ฐ์ดยท์ฌ์ด๋ฒ ๋จผ๋ฐ์ด์ ํธ๋ํฝ์ด ํญ์ฆํ๋ค. ์ด ์ต๋์น์ ๋ง์ถฐ ๊ณ ์ ์ฉ๋์ ํ๋ณดํ๋ฉด, ์ฐ์ค ๋๋ถ๋ถ ๋ฆฌ์์ค์ 76%๊ฐ ์ ํด ์ํ๊ฐ ๋๋ค. ๋ฐ๋๋ก ์กฐ์ ์ ์ ํ๋ฉด ํฌํ๋ก ์๋ฒ๊ฐ ๋ค์ด๋์ด ์ ๋ขฐ๋ฅผ ์๋๋ค. ๋์ ์กฐ์ ์ด ๋ต์ด๋ค.
3. ASG 3๋ ๊ตฌ์ฑ ์์ (๋ฌด์์ยท์ด๋์ยท์ธ์ )
flowchart LR
LT["๐ ์์ ํ
ํ๋ฆฟ<br/>(๋ฌด์์?)<br/>AMIยท์ ํยทํคยทSG"]
ASG["๐ฆ Auto Scaling ๊ทธ๋ฃน<br/>(์ด๋์?)<br/>min/max/desired"]
Policy["๐ ์กฐ์ ์ ์ฑ
<br/>(์ธ์ ?)<br/>CPU 70% ์ด๊ณผ ๋ฑ"]
LT --> ASG
Policy --> ASG
| ์์ | ์ง๋ฌธ | ๋ด์ฉ |
|---|---|---|
| ์์ ํ ํ๋ฆฟ | ๋ฌด์์? | AMIยท์ธ์คํด์ค ์ ํยทํคยท๋ณด์ ๊ทธ๋ฃน ๋ฑ ์ธ์คํด์ค ์ฒญ์ฌ์ง |
| Auto Scaling ๊ทธ๋ฃน | ์ด๋์? | ์ธ์คํด์ค๋ฅผ ๊ด๋ฆฌํ๋ ๋ ผ๋ฆฌ ๋จ์(min/max/desired) |
| ์กฐ์ ์ ์ฑ | ์ธ์ ? | ์: CPU 70% ์ด์์ด๋ฉด Scale Out |
4. Lab โ ALB + ASG ๊ตฌ์ถ
AMI โ ์์ ํ ํ๋ฆฟ โ ASG(+ALB) ์์ผ๋ก ๊ตฌ์ถํ๋ค.
์ฌ์ ์ค๋น โ VPCยท๋ณด์ ๊ทธ๋ฃนยทํ ์คํธ ์น
lab-vpc(10.0.0.0/16), ํผ๋ธ๋ฆญ 2 / ํ๋ผ์ด๋น 2- ๋ณด์ ๊ทธ๋ฃน:
ALB-SG(80ยท443 โ anywhere),WEB-SG(80 โALB-SG) test-web์ผ๋ก ์น ์๋ฒ ์ธํ ํ์ธ(์ฌ์ฉ์ ๋ฐ์ดํฐ๋ก httpd ์ค์น)
โ AMI ์์ฑ
test-web โ ์์
โ ์ด๋ฏธ์ง ์์ฑ(web-ami, ์ฌ๋ถํ
์ ํจ ํ์ฑ).
โก ์์ ํ ํ๋ฆฟ
Web-ASG-LT ์์ฑ. Auto Scaling ์ง์นจ ์ฒดํฌ, AMI๋ web-ami, ์ ํ t2.micro, ์๋ธ๋ท์ ํฌํจํ์ง ์์(ASG์์ ์ง์ ), ๋ณด์ ๊ทธ๋ฃน WEB-SG.
๐ก ์์ ํ ํ๋ฆฟ์์ ์๋ธ๋ท์ ๋น์๋๋ ์ด์ ๋, ์ด๋ AZยท์๋ธ๋ท์ ์ธ์คํด์ค๋ฅผ ๋์ธ์ง๋ ASG๊ฐ ๊ฒฐ์ ํ๊ธฐ ๋๋ฌธ์ด๋ค. ํ ํ๋ฆฟ์ โ๋ฌด์์โ๋ง ์ ํ๊ณ , โ์ด๋์โ๋ ASG์ ๋งก๊ธด๋ค.
โข Auto Scaling ๊ทธ๋ฃน
Web-ASG ์์ฑ. ์์ ํ
ํ๋ฆฟ ์ ํ โ ํ๋ผ์ด๋น ์๋ธ๋ท(2aยท2c) ์ง์ โ ๋ก๋๋ฐธ๋ฐ์๋ ์ ALB(Web-ALB, Internet-facing, ํผ๋ธ๋ฆญ ์๋ธ๋ท) + ๋์ ๊ทธ๋ฃน web-alb-tg.
๊ทธ๋ฃน ํฌ๊ธฐ & ์กฐ์ ์ ์ฑ :
| ํญ๋ชฉ | ๊ฐ |
|---|---|
| ํฌ๋ง/์ต์ ์ฉ๋ | 2 |
| ์ต๋ ์ฉ๋ | 4 |
| ์ ์ฑ | ๋์ ์ถ์ โ ํ๊ท CPU 30% |
โ ๏ธ ์ค์ต์์ ๋์ CPU๋ฅผ 30%๋ก ์ก์์ง๋ง, ํ์ ์์๋ ๋ณดํต 60~70%์์ Scale Out ํ๋ค. ๋๋ฌด ๋ฎ๊ฒ ์ก์ผ๋ฉด ๋ถํ์ํ๊ฒ ์ธ์คํด์ค๊ฐ ๋์ด ๋น์ฉ์ด ์ปค์ง๋ค. ALB๋ ํผ๋ธ๋ฆญ, ์ธ์คํด์ค๋ ํ๋ผ์ด๋น์ ๋๋ ๊ตฌ์กฐ๋ ์์ง ๋ง์.
โฃ ๋ฆฌ์์ค ์ ๋ฆฌ
ASG โ ALB โ ๋์ ๊ทธ๋ฃน โ ์ธ์คํด์ค โ NAT/VPC โ ์์ ํ ํ๋ฆฟยทAMI โ EIP โ ์ค๋ ์ท ์์ผ๋ก ์ญ์ ํ๋ค.
๐ ์ ๋ฆฌ
1
2
3
4
5
Auto Scaling Group(ASG)
โโ ํ์ฅ ์์ง(Up/Down) vs ์ํ(Out/In) โ ASG๋ ์ํ
โโ ๊ตฌ์ฑ ์์ ํ
ํ๋ฆฟ(๋ฌด์) + ASG(์ด๋) + ์ ์ฑ
(์ธ์ )
โโ ๊ตฌ์ถ AMI โ ์์ ํ
ํ๋ฆฟ โ ASG(+ALB)
โโ ์ ์ฑ
๋์ ์ถ์ (CPU %) โ ์ค๋ฌด 60~70%
| ๊ฐ๋ | ํ ์ค ์ ์ |
|---|---|
| ASG | ์ธ์คํด์ค ์ ์๋ ์กฐ์ |
| ์์ ํ ํ๋ฆฟ | ์ธ์คํด์ค ์์ฑ ์ฒญ์ฌ์ง |
| ๋์ ์ถ์ ์ ์ฑ | CPU ๋ชฉํ ๊ธฐ๋ฐ ์๋ ์ค์ผ์ผ |
ASG์ ํต์ฌ์ ์์ ํ ํ๋ฆฟ(๋ฌด์์)ยท๊ทธ๋ฃน(์ด๋์)ยท์ ์ฑ (์ธ์ )์ ์กฐํฉ์ด๋ค. ALB์ ํจ๊ป ์ฐ๋ฉด ํธ๋ํฝ ์ฆ๊ฐ์ ์๋์ผ๋ก ์ธ์คํด์ค๋ฅผ ๋๋ ค, ๊ณ ๊ฐ์ฉ์ฑ๊ณผ ๋น์ฉ ํจ์จ์ ๋์์ ์ก์ ์ ์๋ค.















Comments powered by Disqus.