Post

[Cloud] Auto Scale Group(ASG)์˜ ์ดํ•ด

๐Ÿ“Œ ๋“ค์–ด๊ฐ€๋ฉฐ

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” EC2 Auto Scaling(ASG)์„ ์ •๋ฆฌํ•œ๋‹ค. ๋ถ€ํ•˜์— ๋”ฐ๋ผ ์ธ์Šคํ„ด์Šค ์ˆ˜๋ฅผ ์ž๋™์œผ๋กœ ๋Š˜๋ฆฌ๊ณ  ์ค„์—ฌ, ์„ฑ๋Šฅ์€ ์œ ์ง€ํ•˜๊ณ  ๋น„์šฉ์€ ์•„๋ผ๋Š” ์„œ๋น„์Šค๋‹ค. Scale Up/Out ๊ฐœ๋…๋ถ€ํ„ฐ ๊ตฌ์„ฑ ์š”์†Œ, ๊ทธ๋ฆฌ๊ณ  ALB์™€ ํ•จ๊ป˜ ASG๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” Lab๊นŒ์ง€ ๋‹ค๋ฃฌ๋‹ค.

Auto Scaling์ด๋ž€? ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋ฉฐ ์šฉ๋Ÿ‰์„ ์ž๋™์œผ๋กœ ์กฐ์ •ํ•ด, ์ตœ์ € ๋น„์šฉ์œผ๋กœ ์•ˆ์ •์ ์ธ ์„ฑ๋Šฅ์„ ์œ ์ง€ํ•˜๋Š” ์„œ๋น„์Šค. ์ •์˜ํ•œ ์กฐ๊ฑด์— ๋”ฐ๋ผ EC2๋ฅผ ์ถ”๊ฐ€ยท์ œ๊ฑฐํ•˜๊ณ , ์†์ƒ๋œ ์ธ์Šคํ„ด์Šค๋ฅผ ์ž๋™ ๊ต์ฒดํ•œ๋‹ค.


1. ํ™•์žฅ์„ฑ โ€” ์ˆ˜์ง vs ์ˆ˜ํ‰

๊ตฌ๋ถ„์ˆ˜์ง ์Šค์ผ€์ผ๋ง์ˆ˜ํ‰ ์Šค์ผ€์ผ๋ง
ํ‘œํ˜„Scale Up / DownScale Out / In
๋ฐฉ์‹์„œ๋ฒ„ ๋ฆฌ์†Œ์Šค ํฌ๊ธฐ ํ™•์žฅ/์ถ•์†Œ์„œ๋ฒ„ ์ˆ˜ ์ฆ๊ฐ€/๊ฐ์†Œ
์˜ˆt2.micro โ†’ t2.large์„œ๋ฒ„ 2๋Œ€ โ†’ 4๋Œ€

์ˆ˜์ง/์ˆ˜ํ‰ ์Šค์ผ€์ผ๋ง

๐Ÿ’ก ๊ณ ๊ฐ€์šฉ์„ฑ โ‰  ํ™•์žฅ์„ฑ. ๊ณ ๊ฐ€์šฉ์„ฑ์€ โ€œ์žฅ์• ๊ฐ€ ๋‚˜๋„ ์„œ๋น„์Šค๊ฐ€ ๊ณ„์†๋˜๋Š” ๊ฒƒโ€, ํ™•์žฅ์„ฑ์€ โ€œ๋ถ€ํ•˜์— ๋งž์ถฐ ์ž์›์„ ๋Š˜๋ฆฌ๊ณ  ์ค„์ด๋Š” ๊ฒƒโ€์ด๋‹ค. Auto Scaling์€ ์ฃผ๋กœ ์ˆ˜ํ‰ ํ™•์žฅ(Scale Out/In)์œผ๋กœ ์ด ๋‘˜์„ ํ•จ๊ป˜ ๋‹ฌ์„ฑํ•œ๋‹ค.

Scaling์˜ ์ค‘์š”์„ฑ


2. ์™œ Auto Scaling์ธ๊ฐ€ โ€” Amazon์˜ ์‚ฌ๋ก€

์ฃผ๊ฐ„ ํŠธ๋ž˜ํ”ฝ

11์›” ํŠธ๋ž˜ํ”ฝ

โš ๏ธ 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

์‹œ์ž‘ ํ…œํ”Œ๋ฆฟ

ASG

์กฐ์ • ์˜ต์…˜


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, ์žฌ๋ถ€ํŒ… ์•ˆ ํ•จ ํ™œ์„ฑ).

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.

ASG ์‹œ์ž‘ ํ…œํ”Œ๋ฆฟ

์„œ๋ธŒ๋„ท ์ง€์ •

ALB ์—ฐ๊ฒฐ

๊ทธ๋ฃน ํฌ๊ธฐ & ์กฐ์ • ์ •์ฑ…:

ํ•ญ๋ชฉ๊ฐ’
ํฌ๋ง/์ตœ์†Œ ์šฉ๋Ÿ‰2
์ตœ๋Œ€ ์šฉ๋Ÿ‰4
์ •์ฑ…๋Œ€์ƒ ์ถ”์  โ€” ํ‰๊ท  CPU 30%

์กฐ์ • ์ •์ฑ…

ASG ์ƒ์„ฑ ์™„๋ฃŒ

โš ๏ธ ์‹ค์Šต์—์„  ๋Œ€์ƒ 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์™€ ํ•จ๊ป˜ ์“ฐ๋ฉด ํŠธ๋ž˜ํ”ฝ ์ฆ๊ฐ€์— ์ž๋™์œผ๋กœ ์ธ์Šคํ„ด์Šค๋ฅผ ๋Š˜๋ ค, ๊ณ ๊ฐ€์šฉ์„ฑ๊ณผ ๋น„์šฉ ํšจ์œจ์„ ๋™์‹œ์— ์žก์„ ์ˆ˜ ์žˆ๋‹ค.

This post is licensed under CC BY 4.0 by the author.

Comments powered by Disqus.