23/03/03 [AWS Cloud]

์›ฐ์น˜์Šคยท2023๋…„ 3์›” 3์ผ
0

๐Ÿ“Œ Auto Scaling

  • ์ž๋™์œผ๋กœ EC ์ธ์Šคํ„ด์Šค๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์ข…๋ฃŒํ•˜๋Š” ๊ธฐ์ˆ 

1. ์Šค๋ƒ…์ƒท ์ƒ์„ฑ

  • EC2 -> ์ธ์Šคํ„ด์Šค -> ์ธ์Šคํ„ด์Šค ์ด๋™
  • Name : exercise-instance ์ธ์Šคํ„ด์Šค ์ค‘์ง€๋จ ํ™•์ธ
  • ์šฐํด๋ฆญ -> ์ด๋ฏธ์ง€ ๋ฐ ํ…œํ”Œ๋ฆฟ -> ์ด๋ฏธ์ง€ ์ƒ์„ฑ
  • ์ด๋ฏธ์ง€ ์ด๋ฆ„ : exercise-image , ๋‹ค๋ฅธ ๊ฐ’์€ ๊ธฐ๋ณธ ๊ฐ’์œผ๋กœ ๋‘๊ณ  [์ด๋ฏธ์ง€ ์ƒ์„ฑ] ํด๋ฆญ

2. ์ด๋ฏธ์ง€ AMI ํ™•์ธ ๋ฐ ์Šค๋ƒ…์ƒท ํ™•์ธ

  • [์ด๋ฏธ์ง€] -> [AMI] -> exercise-image ์ด๋ฆ„ ํ™•์ธ -> ์ƒํƒœ : ์‚ฌ์šฉ ๊ฐ€๋Šฅ ํ™•์ธ
  • [Elastic Block Store] -> [์Šค๋ƒ…์ƒท] -> ์Šค๋ƒ…์ƒท ์ƒํƒœ : ์™„๋ฃŒ๋จ ํ™•์ธ

3. ์‹œ์ž‘ ํ…œํ”Œ๋ฆฟ ์ƒ์„ฑ

  • [์ธ์Šคํ„ด์Šค] -> [์‹œ์ž‘ ํ…œํ”Œ๋ฆฟ(Launch Templates)] -> [์‹œ์ž‘ ํ…œํ”Œ๋ฆฟ ์ƒ์„ฑ]
  • ์‹œ์ž‘ ํ…œํ”Œ๋ฆฟ ์ด๋ฆ„ : exercise-launch-template
  • ํ…œํ”Œ๋ฆฟ ๋ฒ„์ „ ์„ค๋ช… : initial version
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ OS ์ด๋ฏธ์ง€(Amazon Machine Image) : [๋‚ด AMIํƒญ] -> exercise-image
  • ์ธ์Šคํ„ด์Šค ์œ ํ˜• : t2.micro
  • ํ‚ค ํŽ˜์–ด(๋กœ๊ทธ์ธ) : exercise-key
  • ๋„คํŠธ์›Œํฌ ์„ค์ • : ๋ณด์•ˆ ๊ทธ๋ฃน ์„ ํƒ -> ssh, web ๋‘ ๊ฐœ๋ฅผ ์„ ํƒ
  • [์‹œ์ž‘ ํ…œํ”Œ๋ฆฟ ์ƒ์„ฑ] ํด๋ฆญ

  • "์„ฑ๊ณต" ๋ฉ”์‹œ์ง€, [์‹œ์ž‘ ํ…œํ”Œ๋ฆฟ ๋ณด๊ธฐ] ํด๋ฆญ

4. Auto Scaling ์„ค์ •

  • [Auto Scaling] -> [Auto Scaling ๊ทธ๋ฃน] -> [Auto Scaling ๊ทธ๋ฃน ์ƒ์„ฑ] ํด๋ฆญ

[1๋‹จ๊ณ„]

  • Auto Scaling ๊ทธ๋ฃน ์ด๋ฆ„ : EXERCISE-GROUP
  • ์‹œ์ž‘ ํ…œํ”Œ๋ฆฟ : exercise-launch-template

[2๋‹จ๊ณ„]

  • VPC - ๊ธฐ๋ณธ๊ฐ’
  • ๊ฐ€์šฉ ์˜์—ญ ๋ฐ ์„œ๋ธŒ๋„ท :
    โ€ป ๊ฐ€์šฉ ์˜์—ญ์„ ์ง€์ •ํ•˜๋Š” ๊ฐ€์žฅ ํฐ ์ด์œ ๋Š” ์žฅ์•  ๋Œ€๋น„!
    โ€ป ap-northest-2 : ์„œ์šธ ๋ฆฌ์ „
  • ap-northest-2a, ap-northest-2c ๋‘ ๊ฐ€์ง€ ์„ ํƒ

[3๋‹จ๊ณ„]

  • ์ถ”๊ฐ€์„ค์ • ์—†์ด [๋‹ค์Œ]

[4๋‹จ๊ณ„]

โ€ป ์›ํ•˜๋Š” ์šฉ๋Ÿ‰ : ๋ชฉํ‘œ๋กœ ํ•˜๋Š” ์ธ์Šคํ„ด์Šค ์ˆ˜, ์ตœ์†Œ ์šฉ๋Ÿ‰ : ์ตœ์†Œ๋กœ ์œ ์ง€ํ•  ์ธ์Šคํ„ด์Šค ์ˆ˜, ์ตœ๋Œ€ ์šฉ๋Ÿ‰ : ํฌ๊ธฐ ์กฐ์ • ์ •์ฑ…์— ๋”ฐ๋ผ ์ตœ๋Œ€๋กœ ๋Š˜์ผ ์ˆ˜ ์žˆ๋Š” ์ธ์Šคํ„ด์Šค ๊ฐœ์ˆ˜

  • ์›ํ•˜๋Š” ์šฉ๋Ÿ‰ : 1, ์ตœ์†Œ ์šฉ๋Ÿ‰ :1, ์ตœ๋Œ€ ์šฉ๋Ÿ‰ : 2
    ํฌ๊ธฐ ์กฐ์ • ์ •์ฑ…์— ๋”ฐ๋ผ ์ตœ๋Œ€๋กœ 2๋Œ€์˜ ์ธ์Šคํ„ด์Šค๊นŒ์ง€ ์šด์˜(ํ‰์†Œ์—๋Š” 1๋Œ€๋กœ ์šด์˜)
  • ํฌ๊ธฐ ์กฐ์ • ์ •์ฑ… : โ—‰๋Œ€์ƒ ์ถ”์  ํฌ๊ธฐ ์กฐ์ • ์ •์ฑ… ์„ ํƒ
  • ํฌ๊ธฐ ์กฐ์ • ์ •์ฑ… ์ด๋ฆ„ : Scale Group Size
  • ์ง€ํ‘œ ์œ ํ˜• : ํ‰๊ท  CPU ์‚ฌ์šฉ๋ฅ 
  • ๋Œ€์ƒ ๊ฐ’ : 50 -> 80 ๋ณ€๊ฒฝ

[5๋‹จ๊ณ„]

  • ์„ค์ •์—†์ด [๋‹ค์Œ]

[6๋‹จ๊ณ„]

  • ํƒœ๊ทธ ์ถ”๊ฐ€ ํด๋ฆญ
    => ํ‚ค : Name
    => ๊ฐ’ - ์„ ํƒ์‚ฌํ•ญ : exercise-group

[7๋‹จ๊ณ„]

  • ๊ฒ€ํ† ์—์„œ ์ด์ „์— ์„ค์ •ํ•œ ๋ชจ๋“  ๋‚ด์šฉ์„ ๋ณผ ์ˆ˜ ์žˆ๊ณ  ์ด์ƒ์ด ์—†๋‹ค๋ฉด [Auto Scaling ๊ทธ๋ฃน ์ƒ์„ฑ] ํด๋ฆญ!

5. ์ธ์Šคํ„ด์Šค ๋™์ž‘ ํ™•์ธ

  • [์ธ์Šคํ„ด์Šค] -> [์ธ์Šคํ„ด์Šค] -> exercise-group ์ธ์Šคํ„ด์Šค ๋™์ž‘ ํ™•์ธ(์‹คํ–‰ ์ค‘)
  • 4๋ฒˆ์— ์ƒ์„ฑํ•œ Auto Scaling ๊ทธ๋ฃน์— ์˜ํ•ด์„œ ๋™์ž‘ํ•˜๋Š” ์ธ์Šคํ„ด์Šค
  • ๋ชฉํ‘œ์šฉ๋Ÿ‰ : 1 ์„ค์ •๊ฐ’์— ์˜ํ•ด 1๋Œ€์˜ ์ธ์Šคํ„ด์Šค๋งŒ ๋™์ž‘ ์ค‘
  • exercise-group ์ธ์Šคํ„ด์Šค๋ฅผ ํด๋ฆญ ํผ๋ธ”๋ฆญ IPv4 ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌ
  • ์›๊ฒฉ ์ ‘์† ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰(mobaXterm ์‚ฌ์šฉ)
  • ์›๊ฒฉ ์ ‘์† ํ”„๋กœ๊ทธ๋žจ ์ ‘์† : ๋ณต์‚ฌํ•œ IP์ฃผ์†Œ, exercise-key ์ž…๋ ฅ
    => ec2-user ๋กœ ์ ‘์†

6. exercise-group ์ธ์Šคํ„ด์Šค์— ๋ถ€ํ•˜(load) ์ฃผ๊ธฐ

  • sudo amazon-linux-extras install epel -y
    => stress ํŒจํ‚ค์ง€๋ฅผ ๋‹ค์šด๋กœ๋“œ ํ•˜๋ ค๋ฉด ์œ„์˜ ํŒจํ‚ค์ง€๋ฅผ ๋จผ์ € ๋‹ค์šด๋กœ๋“œ ๋ฐ›์•„์•ผ ํ•จ

  • sudo yum install stress -y
    => ํ™•์ธ์„ ์œ„ํ•œ 'stress' ํŒจํ‚ค์ง€ ์„ค์น˜

  • stress --cpu 1 --timeout 600
    => stress: info: [3870] dispatching hogs: 1 cpu, 0 io, 0 vm, 0 hdd

7. Auto Sacling ์ถ”๊ฐ€ ํ™•์ธ

  • ์ƒํƒœ ํ™•์ธ ์ฃผ๊ธฐ๊ฐ’(300์ดˆ, 5๋ถ„)์— ์˜ํ•ด ์ธ์Šคํ„ด์Šค ์ถ”๊ฐ€๊ฐ€ ํ•„์š”ํ•˜๋‹ค๊ณ  ์•Œ๊ฒŒ๋จ
  • [์ธ์Šคํ„ด์Šค] -> [์ธ์Šคํ„ด์Šค] -> exercise-group ์ธ์Šคํ„ด์Šค๊ฐ€ ์ถ”๊ฐ€ ๋˜์—ˆ๋Š”์ง€ ํ™•์ธ

โ€ป Auto Scaling ๊ทธ๋ฃน์˜ ํ™œ๋™ํƒญ์—์„œ๋„ ํ™•์ธ๊ฐ€๋Šฅ!


๐Ÿ“Œ ์‹ค์Šต์ด ๋๋‚œ ํ›„ ๊ณผ๊ธˆ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๋„๋ก ์Šค๋ƒ…์ƒท ์‚ญ์ œ

  1. Auto Scaling ๊ทธ๋ฃน ์‚ญ์ œ

  2. ์‹œ์ž‘ ํ…œํ”Œ๋ฆฟ ์‚ญ์ œ

  3. AMI ๋ฐ ์Šค๋ƒ…์ƒท ์‚ญ์ œ

0๊ฐœ์˜ ๋Œ“๊ธ€