Auto Scaling Group (ASG)

์˜คํ† ์Šค์ผ€์ผ๋ง๊ทธ๋ฃน

image-20220615024245132

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

๐Ÿš€ ASG ์˜ ๋ชฉํ‘œ ๋ฐ ๊ธฐ๋Šฅ

  • ๋ถ€ํ•˜๊ฐ€ ์ฆ๊ฐ€ํ•˜๋ฉด EC2 ์ธ์Šคํ„ด์Šค๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค. (์Šค์ผ€์ผ ์•„์›ƒ)
  • ๋ถ€ํ•˜๊ฐ€ ๊ฐ์†Œํ•˜๋ฉด EC2 ์ธ์Šคํ„ด์Šค๋ฅผ ์ œ๊ฑฐํ•œ๋‹ค. (์Šค์ผ€์ผ ์ธ)
  • EC2 ์ธ์Šคํ„ด์Šค๊ฐ€ ์ผ์ •๋Ÿ‰๋งŒํผ๋งŒ ์ฆ๊ฐ€ or ๊ฐ์†Œ ํ•˜๋„๋ก ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.
    • ๋จธ์‹ ์˜ ์ตœ์†Œ, ์ตœ๋Œ€ ์ˆซ์ž๋ฅผ ์ง€์ •(์„ค์ •) ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ์— ์ž๋™์œผ๋กœ ์ƒˆ ์ธ์Šคํ„ด์Šค๋ฅผ ๋“ฑ๋กํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ

image-20220615024428657

๐Ÿš€ ASG ์†์„ฑ

  • A launch configuration (์‹œ์ž‘ ๊ตฌ์„ฑ)
    • AMI + Instance Type
    • EC2 User Data (EC2 ์‹œ์ž‘ ์‹œ ์‹คํ–‰ํ•  ์Šคํฌ๋ฆฝํŠธ)
    • EBS Volumes
    • Security Groups
    • SSH Key Pair
  • Min / Max Size, Initial Capacity (์ตœ์ดˆ ์šฉ๋Ÿ‰, ๊ธฐ๋Œ€ ์šฉ๋Ÿ‰)
  • Network + Subnets Information
  • Load Balancer information
  • Scaling policies (์Šค์ผ€์ผ๋ง ์ •์ฑ…)
    • ๋ฌด์—‡์ด ์Šค์ผ€์ผ ์•„์›ƒ, ์Šค์ผ€์ผ ์ธ์„ ์ด‰๋ฐœํ•˜๋Š”์ง€ ๋“ฑ์˜ ๋Œ€ํ•œ ์ •์ฑ…

๐Ÿš€ ASG ์•Œ๋žŒ

image-20220615025341202

  • CloudWatch ์•Œ๋žŒ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ASG์„ ์Šค์ผ€์ผ๋ง ํ•˜๋Š”๊ฒƒ์ด ๊ฐ€๋Šฅ
  • ์•Œ๋žŒ ๋ชจ๋‹ˆํ„ฐ๋ง์€ ์ง€ํ‘œ(metric) ์ด๋‹ค. (ex. ํ‰๊ท  CPU ์‚ฌ์šฉ๋Ÿ‰)
    • ๋งคํŠธ๋ฆญ์ด ์˜ฌ๋ผ๊ฐ€์„œ ์•Œ๋žŒ์ด ์šธ๋ฆฌ๋ฉด ์ธ์Šคํ„ด์Šค ์ถ”๊ฐ€ (์Šค์ผ€์ผ ์•„์›ƒ)
    • ๋งคํŠธ๋ฆญ์ด ๋‚ด๋ ค๊ฐ€์„œ ์•Œ๋žŒ์ด ์šธ๋ฆฌ๋ฉด ์ธ์Šคํ„ด์Šค ์ œ๊ฑฐ (์Šค์ผ€์ผ ์ธ)
  • ๋งคํŠธ๋ฆญ์ด ํ•„์š”ํ•˜๋ฉด ๋ญ๋“  ์•Œ๋žŒ์ด ๋  ์ˆ˜ ์žˆ๋‹ค. (์ปค์Šคํ…€ ๋งคํŠธ๋ฆญ ์ƒ์„ฑ ๊ฐ€๋Šฅ)
    • ์•Œ๋žŒ์€ ํ‰๊ท  CPU ๊ฐ™์€ ์ง€ํ‘œ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋ง
    • ์ง€ํ‘œ๋Š” ์ „๋ฐ˜์ ์ธ ํ‰๊ท ์œผ๋กœ ๊ณ„์‚ฐ๋œ๋‹ค.
    • ์ตœ์†Œ๋‚˜ ์ตœ๋Œ€๊ฐ€ ์—†๋‹ค. ์ง€ํ‘œ์˜ ํ‰๊ท ๋งŒ ๋ณด๋Š” ๊ฒƒ
    • ์•Œ๋žŒ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์Šค์ผ€์ผ์•„์›ƒ ๋ฐ ์Šค์ผ€์ผ์ธ ์ •์ฑ… ์ƒ์„ฑ ๊ฐ€๋Šฅ

๐Ÿš€ Auto Scaling ์ƒˆ๋กœ์šด ๊ทœ์น™

  • ์˜คํ† ์Šค์ผ€์ผ๋ง ๊ทธ๋ฃน์— ๋Œ€์ƒ์˜ ํ‰๊ท  CPU ์‚ฌ์šฉ๋Ÿ‰์„ ์›ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ง€์ •ํ•˜๋ฉด
    ๋Œ€์ƒ CPU ์‚ฌ์šฉ๋Ÿ‰์„ ์ถฉ์กฑํ•˜๋Š” ๋ถ€ํ•˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์Šค์ผ€์ผ ์ธ/์•„์›ƒ ์„ ํ• ๊ฒ๋‹ˆ๋‹ค.
  • ์ธ์Šคํ„ด์Šค๋‹น ELB ์š”์ฒญ ๊ฐœ์ˆ˜ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ทœ์น™์„ ๋งŒ๋“ค ์ˆ˜๋„ ์žˆ๋‹ค.
  • ํ‰๊ท  ๋„คํŠธ์›Œํฌ ์ธ/์•„์›ƒ ๋“ฑ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋”์šฑ ์ ์ ˆํ•œ๊ฒƒ์œผ๋กœ ํŒ๋‹จ๋˜๋Š” ์ •์ฑ…์ด ์žˆ๋‹ค๋ฉด ๊ทธ๊ฑธ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

๐Ÿš€ Auto Scaling Custom Metric

  • ์ปค์Šคํ…€ ์ง€ํ‘œ ๊ธฐ๋ฐ˜์œผ๋กœ ์˜คํ† ์Šค์ผ€์ผ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ex. ์œ ์ €์˜ ์—ฐ๊ฒฐ ์ˆ˜
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ด ์ปค์Šคํ…€ ๋ฉ”ํŠธ๋ฆญ์„ ์ƒ์„ฑํ•ด์•ผ ํ•œ๋‹ค.
    • PutMatric API ์‚ฌ์šฉํ•ด์„œ CloudWatch์— ๋ณด๋‚ธ๋‹ค.
    • CloudWatch ์•Œ๋žŒ์„ ์ƒ์„ฑํ•ด์„œ ์ง€ํ‘œ๊ฐ’์˜ ๋†’๋‚ฎ์ด์— ๋ฐ˜์‘ํ•˜๋„๋ก ๋งŒ๋“ ๋‹ค.
    • ์ปค์Šคํ…€ ์ง€ํ‘œ๋กœ ์ธํ•œ CloudWatch ์•Œ๋žŒ์„ ์‚ฌ์šฉํ•˜์—ฌ ASG์˜ ์˜คํ† ์Šค์ผ€์ผ๋ง์„ ์‹คํ–‰ํ•œ๋‹ค.

๐Ÿš€ ASG Summary (์š”์•ฝ)

  1. ASG ์Šค์ผ€์ผ๋ง ์ •์ฑ…์€ ์–ด๋–ค ์ •์ฑ…์œผ๋กœ๋“  ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.
    • CPU, Network, Customโ€ฆ.. etc..
    • ๊ณ ๊ฐ์ด ์–ธ์ œ ๋ฐฉ๋ฌธํ• ์ง€ ๋ฏธ๋ฆฌ ์•Œ๊ณ ์žˆ๋‹ค๋ฉด ์ผ์ •์— ๋”ฐ๋ผ ์ •ํ• ์ˆ˜๋„ ์žˆ๋‹ค.
  2. ASG๋Š” ์‹œ์ž‘ ๊ตฌ์„ฑ(launch configurations) ์ด๋‚˜ ์‹œ์ž‘ ํ…œํ”Œ๋ฆฟ(launch templates)์„ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  3. ์‹œ์ž‘ ํ…œํ”Œ๋ฆฟ์€ ์‹œ์ž‘ ๊ตฌ์„ฑ์˜ ์ตœ์‹ ๋ฒ„์ „ ์ž…๋‹ˆ๋‹ค. ์ตœ์‹ ๋ฒ„์ „ ์‚ฌ์šฉ ๊ถŒ์žฅ
    • ์˜คํ† ์Šค์ผ€์ผ๋ง๊ทธ๋ฃน์„ ์—…๋ฐ์ดํŠธํ•˜๋ ค๋ฉด ์ƒˆ๋กœ์šด ๋ฒ„์ „์˜ ์‹œ์ž‘ ๊ตฌ์„ฑ, ๋˜๋Š” ์‹œ์ž‘ ํ…œํ”Œ๋ฆฟ์ด ํ•„์š”ํ•˜๋‹ค.
  4. ASG์— IAM ์—ญํ• ์„ ์—ฐ๊ฒฐ์‹œํ‚ค๋ฉด IAM ์—ญํ• ์€ ์ž๋™์ ์œผ๋กœ ์‹คํ–‰ํ•œ EC2 ์ธ์Šคํ„ด์Šค์— ํ• ๋‹น๋œ๋‹ค.
  5. ASG๋Š” ๋ฌด๋ฃŒ์ด๋‹ค. ํ•˜์ง€๋งŒ, ์‹คํ–‰๋œ ๋ฆฌ์†Œ์Šค, ์ฆ‰ EBS๋ณผ๋ฅจ์— ์—ฐ๊ฒฐ๋œ EC2 ์ธ์Šคํ„ด์Šค ๋“ฑ์€ ์œ ๋ฃŒ๋กœ ๊ตฌ๋งค ํ•„์š”
  6. ์žฅ์ 
    • ์ธ์Šคํ„ด์Šค๊ฐ€ ์ข…๋ฃŒ๋ ๊ฒฝ์šฐ, ASG๊ฐ€ ๊ทธ ์‚ฌ์‹ค์„ ํŒŒ์•…ํ›„ ์ž๋™์œผ๋กœ ์ƒˆ ์ธ์Šคํ„ด์Šค ์ƒ์„ฑํ•ด์„œ ๊ต์ฒดํ•ด์คŒ
    • ์ด๋Ÿฌํ•œ ์ถ”๊ฐ€์ ์ธ ์•ˆ์ „์„ฑ์˜ ๋ณด์žฅ์ด ASG ์‚ฌ์šฉ์˜ ์ฃผ๋œ ๋ชฉ์ 
    • ํ˜น์‹œ๋ผ๋„ ์ž˜๋ชป๋˜์—ˆ์„๋•Œ ์ž๋™์œผ๋กœ ์ƒˆ๋กœ์šด ์ธ์Šคํ„ด์Šค๊ฐ€ ์ƒ์„ฑ๋  ๊ฒƒ
    • ์ธ์Šคํ„ด์Šค๊ฐ€ ์ข…๋ฃŒ๋˜๋Š” ๊ฒฝ์šฐ๋Š” ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๊ฐ€ ํ—ฌ์Šค์ฒดํฌํ›„ ํŠน์ •EC2๊ฐ€ ๋น„์ •์ƒ์ด๋ฉด
      ์ข…๋ฃŒํ›„ ์ƒˆ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•ด ๊ต์ฒดํ•˜๋Š” ํŒ๋‹จ
    • ASG ์žฌ์‹œ์ž‘์ด ํ•„์š”์—†๋‹ค.
    • ์ธ์Šคํ„ด์Šค์˜ ์ค‘๋‹จ๋„ ์—†์ด, ๋ง ๊ทธ๋Œ€๋กœ ํ•ด๋‹น ์ธ์Šคํ„ด์Šค ์ข…๋ฃŒํ›„ ์ƒˆ ์ธ์Šคํ„ด์Šค ์ƒ์„ฑํ•ด์„œ ๊ต์ฒดํ•œ๋‹ค.

ํƒœ๊ทธ: , , ,

์นดํ…Œ๊ณ ๋ฆฌ:

์—…๋ฐ์ดํŠธ:

๋Œ“๊ธ€๋‚จ๊ธฐ๊ธฐ