AWS

[aws] ์˜คํ†  ์Šค์ผ€์ผ๋ง ๊ทธ๋ฃน (Auto Scaling Group)

499.token.required 2024. 7. 28. 15:58

์ด ๊ธ€์˜ ์ผ๋ถ€๋Š” aws ๊ณต์‹๋ฌธ์„œ์˜ ๋‚ด์šฉ์„ ์ฐธ์กฐํ•˜์˜€์Œ์„ ๋ฐํž™๋‹ˆ๋‹ค.

 

๐Ÿ“Œ ์˜คํ†  ์Šค์ผ€์ผ๋ง ๊ทธ๋ฃน (Auto Scaling Group)

 

aws๋Š” EC2 ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ API ํ˜ธ์ถœ์„ ํ†ตํ•ด ์„œ๋ฒ„๋ฅผ ๋น ๋ฅด๊ฒŒ ์ƒ์„ฑํ•˜๊ณ  ์ข…๋ฃŒ๋ฅผ ์ž๋™ํ™” ํ•  ์ˆ˜ ์žˆ๋Š” ASG๋ฅผ ์ง€์›ํ•œ๋‹ค. ASG๋ฅผ ๋งŒ๋“ค๋ฉด ์Šค์ผ€์ผ ์•„์›ƒ  ์ฆ‰ ์ฆ๊ฐ€ํ•œ ๋กœ๋“œ์— ๋งž์ถฐ EC2 ์ธ์Šคํ„ด์Šค๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ EC2๋ฅผ ์ถ•์†Œํ•œ๋‹ค๋Š” ์˜๋ฏธ์˜ ์Šค์ผ€์ผ ์ธ์„ ํ• ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.A SG๋ฅผ ์„ค์ •ํ•  ๋•Œ ์ตœ์†Œ ์ธ์Šคํ„ด์Šค ๊ฐœ์ˆ˜์™€ ํฌ๋ง ๊ฐœ์ˆ˜, ์ตœ๋Œ€ ์ธ์Šคํ„ด์Šค ๊ฐœ์ˆ˜๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ตœ์†Œ๋Š” ๋ง ๊ทธ๋Œ€๋กœ ์šด์šฉํ•˜๋Š”๋ฐ์— ์žˆ์–ด ์ตœ์†Œ ์ธ์Šคํ„ด์Šค์˜ ๊ฐœ์ˆ˜๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ ์ตœ๋Œ€ ๋˜ํ•œ, ์šด์šฉํ•˜๋Š”๋ฐ ์žˆ์–ด ์ตœ๋Œ€ ์ธ์Šคํ„ด์Šค์˜ ๊ฐœ์ˆ˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค ๊ทธ๋ ‡๋‹ค๋ฉด ํฌ๋ง ์ธ์Šคํ„ด์Šค๋Š” ๋ฌด์—‡์ผ๊นŒ? ํฌ๋ง ์ธ์Šคํ„ด์Šค๋Š” ์ฒ˜์Œ ์ƒ์„ฑํ•  ๋•Œ์˜ ์ธ์Šคํ„ด์Šค ๊ฐœ์ˆ˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

 

 

 

 

ASG๋Š” ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ์™€ ํŽ˜์–ด๋ง ๋˜์—ˆ์„ ๋•Œ ๋” ์ข‹์€ ์‹œ๋„ˆ์ง€๋ฅผ ๋ณด์ด๋Š”๋ฐ, ์•„๋ž˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ์‚ฌ์šฉ์ž๊ฐ€ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋œ ์›น์‚ฌ์ดํŠธ์— ์•ก์„ธ์Šคํ•˜์˜€์„ ๋•Œ  ๋น„์ •์ƒ์ ์œผ๋กœ ํŒ๋‹จ๋˜๋Š” ์ธ์Šคํ„ด์Šค๋ฅผ ์ข…๋ฃŒํ•˜๊ณ  ์ƒˆ  EC2 ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์Šค์ผ€์ผ ์•„์›ƒ ๋˜์—ˆ์„ ๋•Œ ELB๋Š” ASG ๋‚ด์˜ ์ธ์Šคํ„ด์Šค๋กœ ์ž๋™์œผ๋กœ ํŠธ๋ž˜ํ”ฝ์„ ๋ถ„์‚ฐ ์‹œ์ผœ์ค€๋‹ค. 

 

 

 

 


ASG๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์‹œ์ž‘ ํ…œํ”Œ๋ฆฟ์„ ์ƒ์„ฑํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ ์•ˆ์—๋Š” EC2 ์ธ์Šคํ„ด์Šค๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. 

AMI ๋ฐ ์ธ์Šคํ„ด์Šค ์œ ํ˜• , EC2 ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ , EBS ๋ณผ๋ฅจ , ๋ณด์•ˆ ๊ทธ๋ฃน , SSH ํ‚ค ํŽ˜์–ด, EC2 ์ธ์Šคํ„ด์Šค์˜ IAM ์—ญํ•  , ๋„คํŠธ์›Œํฌ ๋ฐ ์„œ๋ธŒ๋„ท ์ •๋ณด ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ ์ •๋ณด ๋“ฑ๋“ฑ ์ด ์žˆ๋‹ค. ๋˜ํ•œ ASG์˜ ์ตœ์†Œ ํฌ๊ธฐ, ์ตœ๋Œ€ ํฌ๊ธฐ, ์ดˆ๊ธฐ ์šฉ๋Ÿ‰์„ ์ •์˜ํ•ด์•ผ ํ•œ๋‹ค.

 

 

 

 

์Šค์ผ€์ผ๋ง ์ •์ฑ… ๋˜ํ•œ ์ •์˜๋˜์•ผํ•˜๋Š”๋ฐ CloudWatch ๊ฒฝ๋ณด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ASG๋ฅผ ์Šค์ผ€์ผ ์ธ ๋ฐ ์Šค์ผ€์ผ ์•„์›ƒํ•  ์ˆ˜ ์žˆ๋‹ค.  ์˜ˆ๋ฅผ ๋“ค์–ด ์„ธ ๊ฐœ์˜ EC2 ์ธ์Šคํ„ด์Šค๋ฅผ ํฌํ•จํ•œ ASG๊ฐ€ ์žˆ๋Š”๋ฐ  ๊ฒฝ๋ณด๊ฐ€ ์šธ๋ฆฌ๊ฒŒ ๋˜๋ฉด ์Šค์ผ€์ผ ์•„์›ƒ์ด ๋ฐœ์ƒํ•œ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ๋ฌด์—‡์ด ๊ฒฝ๋ณด๋ฅผ ์šธ๋ฆฌ๊ฒŒ ํ•  ์ˆ˜ ์žˆ์„๊นŒ? ์ •๋‹ต์€ ์ง€ํ‘œ(metric)์ด๋‹ค. ์ด ๊ฒฝ๋ณด๋Š” ํ‰๊ท  cpu๋‚˜ ์›ํ•˜๋Š” ์‚ฌ์šฉ์ž ์ง€์ • ์ง€ํ‘œ ์–ด๋–ค ๊ฒƒ๋„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.  ์˜ˆ๋ฅผ ๋“ค์–ด, ASG ์ „์ฒด์˜ ํ‰๊ท  CPU๊ฐ€ ๋„ˆ๋ฌด ๋†’์œผ๋ฉด EC2 ์ธ์Šคํ„ด์Šค ์ถ”๊ฐ€๊ฐ€ ํ•„์š”ํ•œ๋ฐ ์ง€ํ‘œ์— ๋”ฐ๋ผ ๊ฒฝ๋ณด๊ฐ€ ASG์˜ ์Šค์ผ€์ผ๋ง ํ™œ๋™์„ ์œ ๋ฐœํ•œ๋‹ค.  ๊ฒฝ๋ณด์— ์˜ํ•ด ๋‚ด๋ถ€์—์„œ ์ž๋™์ ์ธ ์Šค์ผ€์ผ๋ง์œผ๋กœ ์ด๋ฃจ์–ด์ง€๋ฏ€๋กœ ๊ฒฝ๋ณด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์Šค์ผ€์ผ ์•„์›ƒ ์ •์ฑ…์„ ๋งŒ๋“ค์–ด ์ธ์Šคํ„ด์Šค ์ˆ˜๋ฅผ ๋Š˜๋ฆฌ๊ฑฐ๋‚˜ ์Šค์ผ€์ผ ์ธ ์ •์ฑ…์„ ๋งŒ๋“ค์–ด ์ธ์Šคํ„ด์Šค ์ˆ˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

 

๐Ÿ“Œ ASG์˜ ์กฐ์ • ์ •์ฑ…  - ๋™์  ์กฐ์ • ์ •์ฑ…

 

  • ๋Œ€์ƒ ์ถ”์  ์Šค์ผ€์ผ๋ง - ๊ฐ€์žฅ ๋‹จ์ˆœํ•˜๊ณ  ์„ค์ •ํ•˜๊ธฐ ์‰ฝ๋‹ค. ๋ชจ๋“  ์ธ์Šคํ„ด์Šค์—์„œ ์˜คํ†  ์Šค์ผ€์ผ๋ง ๊ทธ๋ฃน์˜ ํ‰๊ท  CPU ์‚ฌ์šฉ๋ฅ ์„ ์ถ”์ ํ•˜์—ฌ ์ด ์ˆ˜์น˜๊ฐ€ 40% ๋Œ€์— ๋จธ๋ฌด๋ฅผ ์ˆ˜ ์žˆ๋„๋ก ํ•  ๋•Œ์— ์‚ฌ์šฉํ•œ๋‹ค. ์ด์ฒ˜๋Ÿผ ๊ธฐ๋ณธ ๊ธฐ์ค€์„ ์„ ์„ธ์šฐ๊ณ  ์ƒ์‹œ ๊ฐ€์šฉ์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•œ๋‹ค. 
  • ๋‹จ์ˆœ/ ๋‹จ๊ณ„ ์Šค์ผ€์ผ๋ง-  ์œ„์—์„œ ์„ค๋ช…ํ•œ CloudWatch ๊ฒฝ๋ณด๋ฅผ ์ด์šฉํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ASG์— ๋Œ€ํ•œ CPU ์‚ฌ์šฉ๋ฅ ์ด 70%๋ฅผ ์ดˆ๊ณผํ•˜๋Š” ๊ฒฝ์šฐ ์šฉ๋Ÿ‰์„ ๋‘ ์œ ๋‹› ์ถ”๊ฐ€ํ•˜๋„๋ก ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ „์ฒด์˜ 30% ์ดํ•˜๋กœ ๋–จ์–ด์ง€๋ฉด ์œ ๋‹› ํ•˜๋‚˜๋ฅผ ์ œ๊ฑฐํ•œ๋‹ค๋Š” ์„ค์ •๋„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹จ CloudWatch ๊ฒฝ๋ณด๋ฅผ ์„ค์ •ํ•  ๋•Œ์—๋Š” ํ•œ ๋ฒˆ์— ์ถ”๊ฐ€ํ•  ์œ ๋‹›์˜ ์ˆ˜์™€ ์ œ๊ฑฐํ•  ์œ ๋‹›์˜ ์ˆ˜๋ฅผ ๋‹จ๊ณ„๋ณ„๋กœ ์„ค์ •ํ•ด์ฃผ์–ด์•ผํ•œ๋‹ค. 
  • ์˜ˆ์•ฝ๋œ ์ž‘์—… - ๋‚˜์™€ ์žˆ๋Š” ์‚ฌ์šฉ ํŒจํ„ด์„ ๋ฐ”ํƒ•์œผ๋กœ ์Šค์ผ€์ผ๋ง์„ ์˜ˆ์ƒํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํฐ ์ด๋ฒคํŠธ๊ฐ€ ์˜ˆ์ • ๋˜์–ด ์žˆ์„ ๋•Œ, ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ๋“ค์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‚ฌ์šฉํ•  ๊ฒƒ์„ ๋Œ€๋น„ํ•ด ์—ฌ๋Ÿฌ๋ถ„์˜ ASG ์ตœ์†Œ ์šฉ๋Ÿ‰์„ ์ด๋ฒคํŠธ ์‹œ๊ฐ„๋™์•ˆ ์ž๋™์œผ๋กœ ์ธ์Šคํ„ด์Šค๋ฅผ ๋Š˜๋ฆฌ๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

๐Ÿ“Œ  ASG์˜ ์กฐ์ • ์ •์ฑ…  - ์˜ˆ์ธก ์Šค์ผ€์ผ๋ง 

 

์˜ˆ์ธก ์Šค์ผ€์ผ๋ง์„ ํ†ตํ•ด์„œ AWS ๋‚ด ์˜คํ†  ์Šค์ผ€์ผ๋ง ์„œ๋น„์Šค๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ง€์†์ ์œผ๋กœ ์˜ˆ์ธก์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ๋กœ๋“œ๋ฅผ ๋ณด๊ณ ์„œ ๋‹ค์Œ ์Šค์ผ€์ผ๋ง์„ ์˜ˆ์ธกํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์‹œ๊ฐ„์— ๊ฑธ์ณ ๊ณผ๊ฑฐ ๋กœ๋“œ๋ฅผ ๋ถ„์„ํ•˜๊ณ  ์˜ˆ์ธก์ด ์ƒ์„ฑ๋˜๋ฉด ๊ทธ ํ•ด๋‹น ์˜ˆ์ธก์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์‚ฌ์ „์— ์Šค์ผ€์ผ๋ง ์ž‘์—…์ด ์˜ˆ์•ฝ๋œ๋‹ค.

 

 

 

 

์ด๋Ÿฌํ•œ ์Šค์ผ€์ผ๋ง์€ ๊ธฐ๋ฐ˜์ด ๋  ์ง€ํ‘œ๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ๊ทธ ์ง€ํ‘œ ์ค‘ ๋Œ€ํ‘œ์ ์ธ ๊ฒƒ์€ CPU ์‚ฌ์šฉ๋ฅ , ์ธ์Šคํ„ด์Šค ๋‹น ์š”์ฒญ ์ˆ˜ , ํ‰๊ท  ๋„คํŠธ์›Œํฌ ์‚ฌ์šฉ, CloudWatch๋ฅผ ์ด์šฉํ•œ ์ปค์Šคํ…€ ์ง€ ํ‘œ ๋“ฑ์ด ๋  ์ˆ˜ ์žˆ๋‹ค.

 

 

๐Ÿ“Œ ASG์˜ ์กฐ์ • ์ •์ฑ…  - Scaling Cooldowns 

 

์Šค์ผ€์ผ๋ง ํœด์ง€(Scaling Cooldown)๋ž€ ์Šค์ผ€์ผ๋ง ์ž‘์—…์ด ๋๋‚  ๋•Œ๋งˆ๋‹ค ์ธ์Šคํ„ด์Šค์˜ ์ถ”๊ฐ€ ๋˜๋Š” ์‚ญ์ œ๋ฅผ ๋ง‰๋ก ํ•˜๊ณ  ๊ธฐ๋ณธ์ ์œผ๋กœ 5๋ถ„์˜ ํœด์ง€ ๊ธฐ๊ฐ„์„ ๊ฐ–๋Š” ๊ฒƒ์ด๋‹ค. ํœด์ง€ ๊ธฐ๊ฐ„์—๋Š” ASG์˜ ์ถ”๊ฐ€ ์ธ์Šคํ„ด์Šค๋ฅผ ์‹คํ–‰ ๋˜๋Š” ์ข…๋ฃŒํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ์ด๋Š” ์ง€ํ‘œ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ƒˆ๋กœ์šด ์ธ์Šคํ„ด์Šค๊ฐ€ ์•ˆ์ •ํ™”๋  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋ฉฐ ์–ด๋–ค ์ƒˆ๋กœ์šด ์ง€ํ‘œ์˜ ์–‘์ƒ์„ ์‚ดํŽด๋ณด๊ธฐ ์œ„ํ•จ์ด๋‹ค. ๋”ฐ๋ผ์„œ ์Šค์ผ€์ผ๋ง ์ž‘์—…์ด ๋ฐœ์ƒํ•  ๋•Œ์—๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์„ค์ •๋œ ํœด์ง€๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•˜๋ฉฐ, ํœด์ง€๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ ํ•ด๋‹น ์ž‘์—…์„ ๋ฌด์‹œํ•˜๊ณ  ์•„๋‹ ๊ฒฝ์šฐ์—๋Š” ์ธ์Šคํ„ด์Šค๋ฅผ ์‹คํ–‰ ๋˜๋Š” ์ข…๋ฃŒํ•˜๋Š” ์Šค์ผ€์ผ๋ง ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ๊ฒƒ์ด๋‹ค.

๋˜ํ•œ ํœด์ง€ ๊ธฐ๊ฐ„์ด ์งง์•„์ง€๋ฉด ASG ์ƒ์—์„œ ๋” ๋งŽ์€ ๋™์  ์Šค์ผ€์ผ๋ง์ด ๊ฐ€๋Šฅํ•ด์ง€๋‹ˆ ์ฆ‰์‹œ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•œ AMI๋ฅผ  ์ด์šฉํ•˜์—ฌ  EC2 ์ธ์Šคํ„ด์Šค ๊ตฌ์„ฑ ์‹œ๊ฐ„์„ ๋‹จ์ถ•ํ•˜๊ณ  ์ด๋ฅผ ํ†ตํ•ด ์š”์ฒญ์„ ๋” ์‹ ์†ํžˆ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.