[AWS] ASG

2023. 7. 1. 00:29ใ†Devops/AWS

https://jeidiiy.notion.site/ASG-30b4b9b765ff4371b64ece27cdc16279?pvs=4 

 

ASG

Auto Scaling Group

jeidiiy.notion.site

๐Ÿ’ก๋…ธ์…˜์— ์ตœ์ ํ™”๋œ ๊ธ€์ž…๋‹ˆ๋‹ค. ์œ„ ๋งํฌ๋ฅผ ํ†ตํ•ด ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ASG

  • Auto Scaling Group

1. ASG๋ž€?

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

๋™์ž‘ ์›๋ฆฌ

  • ASG์— ์ตœ์†Œ(Minimum), ํฌ๋ง(Desire), ์ตœ๋Œ€(Maximum) ์šฉ๋Ÿ‰์„ ์„ค์ •
  • ์ด ์„ค์ •์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํŠธ๋ž˜ํ”ฝ์— ๋”ฐ๋ผ ์Šค์ผ€์ผ ์ธ & ์Šค์ผ€์ผ ์•„์›ƒ์ด ์ž๋™์œผ๋กœ ๋™์ž‘

ASG in AWS With Load Balancer

  • ASG์— ์ธ์Šคํ„ด์Šค๊ฐ€ 4๊ฐœ ๋“ฑ๋ก๋˜์–ด ์žˆ์œผ๋ฉด ELB๊ฐ€ ๋ชจ๋“  ์ธ์Šคํ„ด์Šค์— ํŠธ๋ž˜ํ”ฝ์„ ๋ถ„์‚ฐํ•˜์—ฌ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ
  • ELB๋Š” ์ƒํƒœ ํ™•์ธ์„ ํ†ตํ•ด EC2์˜ ์ธ์Šคํ„ด์Šค ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๊ณ  ASG์— ์ „๋‹ฌ
  • ASG์—์„œ ์Šค์ผ€์ผ ์•„์›ƒ ๋ฐœ์ƒ ์‹œ ELB๋Š” ์ž๋™์œผ๋กœ ํ•ด๋‹น ์ธ์Šคํ„ด์Šค์—๊ฒŒ๋„ ํŠธ๋ž˜ํ”ฝ ๋ถ„์‚ฐ

2. ASG Attributes

  • Launch Template
    • AMI + Instance Type
    • EC2 User Data
    • EBS Volumes
    • Security Groups
    • SSH Key Pair
    • IAM Roles for your EC2 Instances
    • Network + Subnets Information
    • Load Balancer Information
  • Min Size / Max Size / Initial Capacity
  • Scaling Policies

3. Auto Scaling - CloudWatch Alarms & Scaling

  • CloudWatch ์•Œ๋žŒ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ASG๋ฅผ ์Šค์ผ€์ผ ์ธ & ์Šค์ผ€์ผ ์•„์›ƒ
  • ์ง€ํ‘œ(metric)์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์•Œ๋žŒ์„ ๋ฐœ์ƒ์‹œํ‚ด
    • CPU, RAM ์‚ฌ์šฉ๋ฅ  ๋“ฑ

4. ASG - Dynamic Scaling Policies

Target Tracking Scaling

  • ๊ฐ€์žฅ ๋‹จ์ˆœํ•˜๊ณ  ๊ฐ„๋‹จํ•œ ์„ค์ •

์‹œ๋‚˜๋ฆฌ์˜ค

  • ASG์˜ ํ‰๊ท  CPU ์‚ฌ์šฉ๋ฅ ์„ ์ถ”์ ํ•˜์—ฌ 40%์— ๋จธ๋ฌผ๋„๋ก ํ•˜๋Š” ๊ฒฝ์šฐ

Simple / Step Scaling

  • CloudWatch ์•Œ๋žŒ์„ ์„ค์ •
  • ์•Œ๋žŒ์ด ํŠธ๋ฆฌ๊ฑฐ๋์„ ๋•Œ์˜ ์ž‘์—…์„ ์„ค์ •

์‹œ๋‚˜๋ฆฌ์˜ค

  • CPU ์‚ฌ์šฉ๋ฅ ์ด 70% ์ด์ƒ์ด ๋˜์–ด CloudWatch ์•Œ๋žŒ์ด ํŠธ๋ฆฌ๊ฑฐ๋œ ๊ฒฝ์šฐ ์œ ๋‹› 2๊ฐœ๋ฅผ ์ถ”๊ฐ€
  • CPU ์‚ฌ์šฉ๋ฅ ์ด 30% ์ดํ•˜๊ฐ€ ๋˜์–ด CloudWatch ์•Œ๋žŒ์ด ํŠธ๋ฆฌ๊ฑฐ๋œ ๊ฒฝ์šฐ ์œ ๋‹› 1๊ฐœ๋ฅผ ์ œ๊ฑฐ
๐Ÿ’ก CloudWatch ๊ฒฝ๋ณด ์„ค์ • ์‹œ ํ•œ ๋ฒˆ์— ์ถ”๊ฐ€ ๋˜๋Š” ์ œ๊ฑฐํ•  ์œ ๋‹›์˜ ์ˆ˜๋ฅผ ๋‹จ๊ณ„๋ณ„๋กœ ์„ค์ •ํ•ด์•ผ ํ•œ๋‹ค.

Scheduled Actions

  • ๋‚˜์™€ ์žˆ๋Š” ํŒจํ„ด์„ ๋ฐ”ํƒ•์œผ๋กœ ์Šค์ผ€์ผ๋ง์„ ์˜ˆ์ƒํ•˜๋Š” ๋ฐฉ๋ฒ•

์‹œ๋‚˜๋ฆฌ์˜ค

  • ๊ธˆ์š”์ผ ์˜คํ›„ 5์‹œ์— ํฐ ์ด๋ฒคํŠธ๊ฐ€ ์˜ˆ์ฉก๋˜์–ด ์žˆ์œผ๋‹ˆ ASG์˜ ์ตœ์†Œ ์šฉ๋Ÿ‰์„ ๋งค์ฃผ ๊ธˆ์š”์ผ๋งˆ๋‹ค ์ž๋™์œผ๋กœ ์Šค์ผ€์ผ ์•„์›ƒํ•˜๋„๋ก ์„ค์ •

Predictive Scaling

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

5. ์Šค์ผ€์ผ๋ง์„ ์œ„ํ•œ ์ข‹์€ ์ง€ํ‘œ

  • CPU ์‚ฌ์šฉ๋ฅ 
  • ํƒ€๊ฒŸ๋ณ„ ์š”์ฒญ ์ˆ˜
    • EC2 ์ธ์Šคํ„ด์Šค๊ฐ€ ์•ˆ์ •์ ์œผ๋กœ ๋™์ž‘ํ•˜๋Š” ์š”์ฒญ์˜ ์ˆ˜ ํ™•์ธ
  • ๋„คํŠธ์›Œํฌ ํ‰๊ท  ์ž…์ถœ๋ ฅ
    • EC2 ์ธ์Šคํ„ด์Šค์— ๋Œ€ํ•ด ํ•ด๋‹น ๋„คํŠธ์›Œํฌ์—์„œ ๋ณ‘๋ชฉ ํ˜„์ƒ ํ™•์ธ
    • ํŠน์ • ์ž„๊ณ„๊ฐ’์— ๋„๋‹ฌํ•  ๊ฒฝ์šฐ ์Šค์ผ€์ผ๋ง
  • ์ปค์Šคํ…€ ์ง€ํ‘œ
    • CloudWatch์—์„œ ํ•„์š”ํ•˜๋‹ค๊ณ  ํŒ๋‹จ๋˜๋Š” ์ง€ํ‘œ๋ฅผ ์„ค์ • ๊ฐ€๋Šฅ
    • ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์Šค์ผ€์ผ๋ง ์ •์ฑ… ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ

6. Scaling Cooldown

  • ์Šค์ผ€์ผ๋ง ์ž‘์—…์ด ๋๋‚  ๋•Œ๋งˆ๋‹ค ์ธ์Šคํ„ด์Šค์˜ ์ถ”๊ฐ€/์‚ญ์ œ๋ฅผ ๋ง‰๋ก ํ•˜๊ณ  ๊ธฐ๋ณธ์ ์œผ๋กœ 5๋ถ„(300์ดˆ)์˜ ํœด์ง€ ๊ธฐ๊ฐ„์„ ๊ฐ–๋Š” ๊ธฐ๋Šฅ
  • ์ด ๊ธฐ๊ฐ„์—๋Š” ASG๊ฐ€ ์ธ์Šคํ„ด์Šค๋ฅผ ์ถ”๊ฐ€ ์ธ์Šคํ„ด์Šค๋ฅผ ์‹คํ–‰/์ข…๋ฃŒํ•  ์ˆ˜ ์—†์Œ

๋ชฉ์ 

  • ์ƒˆ๋กœ์šด ์ธ์Šคํ„ด์Šค๊ฐ€ ์•ˆ์ •ํ™”๋„๋ฆฌ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋ฉฐ ์–ด๋–ค ์ƒˆ๋กœ์šด ์ง€ํ‘œ์˜ ์–‘์ƒ์„ ์‚ดํŽด๋ณด๊ธฐ ์œ„ํ•จ
๐Ÿ’ก ์Šค์ผ€์ผ๋ง ์ž‘์—… ๋ฐœ์ƒ ์‹œ ๊ธฐ๋ณธ์œผ๋กœ ์„ค์ •๋œ ํœด์ง€๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ๋Ÿด ๊ฒฝ์šฐ ํ•ด๋‹น ์ž‘์—…์„ ๋ฌด์‹œํ•˜๊ณ  ์•„๋‹ ๊ฒฝ์šฐ ์Šค์ผ€์ผ๋ง ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์ฆ‰์‹œ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•œ AMI๋ฅผ ์ด์šฉํ•˜์—ฌ EC2 ์ธ์Šคํ„ด์Šค ๊ตฌ์„ฑ ์‹œ๊ฐ„์„ ๋‹จ์ถ•ํ•˜๊ณ  ์ด๋ฅผ ํ†ตํ•ด ์š”์ฒญ์„ ๋” ์‹ ์†ํžˆ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ์ด๋ ‡๊ฒŒ ํ™œ์„ฑํ™” ์‹œ๊ฐ„์ด ๋นจ๋ผ์ง€๋ฉด ํœด์ง€ ๊ธฐ๊ฐ„ ๋˜ํ•œ ๋‹จ์ถ•๋˜๊ธฐ ๋•Œ๋ฌธ์— ASG ์ƒ์—์„œ ๋” ๋งŽ์€ ๋™์  ์Šค์ผ€์ผ๋ง์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค. ๋˜ํ•œ ASG๊ฐ€ 1๋ถ„๋งˆ๋‹ค ์ง€ํ‘œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ธ๋ถ€ ๋ชจ๋‹ˆํ„ฐ๋ง ๊ธฐ๋Šฅ ๋“ฑ์„ ์‚ฌ์šฉํ•˜๋„๋ก ์„ค์ •ํ•˜๊ณ  ์ด์™€ ๊ฐ™์€ ์ง€ํ‘œ๋ฅผ ์‹ ์†ํžˆ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•œ๋‹ค.

'Devops > AWS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[AWS] Amazon Aurora  (0) 2023.07.01
[AWS] RDS  (0) 2023.07.01
[AWS] ELB  (0) 2023.07.01
[AWS] EFS  (0) 2023.06.22
[AWS] AMI  (0) 2023.06.22