Skip to content

Latest commit

ย 

History

History
267 lines (129 loc) ยท 11.8 KB

3-aws-autoScaling.md

File metadata and controls

267 lines (129 loc) ยท 11.8 KB

AWS Auto Scaling ๊ทธ๋ฃน์„ ์ด์šฉํ•œ ๋‹ค์ค‘ ์„œ๋ฒ„ ๊ตฌ์„ฑ

AWS ์ธํ”„๋ผ ๊ตฌ์ถ• ๊ฐ€์ด๋“œ p44

#1 Auto Scaling ๊ทธ๋ฃน ์ƒ์„ฑ(p48)

  • ์ธ์Šคํ„ด์Šค ์ค‘์ง€

    img

  • ์Šค๋ƒ…์ƒท ์ƒ์„ฑ

    img


    img

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

    img


    img


    img


    img


    img

  • Auto Scaling ๊ทธ๋ฃน ์ƒ์„ฑ

    img


    img


    img


    img


    img


    img


    img


    img


    img


    img


    img

  • Auto Scaling Group ์„ค์ •์— ์ธ์Šคํ„ด์Šค๋ฅผ ๋ชจ๋‘ ์ข…๋ฃŒ

    img

#2 CPU ์‚ฌ์šฉ ๋ถ€ํ•˜๋ฅผ ์ฃผ์–ด auto scaling ๊ธฐ๋Šฅ ํ™•์ธ

  • ๋‹ค์‹œ Auto Scaling ๊ทธ๋ฃน ๊ตฌ์„ฑ์„ ๋ณ€๊ฒฝ

    img

  • ์ธ์Šคํ„ด์Šค ์‹คํ–‰์„ ํ™•์ธ

    img

  • ์‹คํ–‰ ์ค‘์ธ ์ธ์Šคํ„ด์Šค์— SSH ์ ‘์†

    img

    img

  • stress ํ”„๋กœ๊ทธ๋žจ์„ ์ด์šฉํ•ด์„œ CPU ์‚ฌ์šฉ๋Ÿ‰์„ ์ฆ๊ฐ€

    • $ sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

    • $ sudo yum install stress -y

    • $ stress --cpu 1 --timeout 600

  • ์ธ์Šคํ„ด์Šค์˜ ์ฆ๊ฐ์„ ๋ชจ๋‹ˆํ„ฐ๋ง

    • $ top

    • CPU ์‚ฌ์šฉ๋Ÿ‰ 100%๋กœ ์ฆ๊ฐ€

      img

    • ์ž๋™์œผ๋กœ ์ธ์Šคํ„ด์Šค๊ฐ€ ์ถ”๊ฐ€๋œ ๊ฒƒ์„ ํ™•์ธ

      img

    • ๋ถ€ํ•˜๊ฐ€ ๊ฐ์†Œํ•˜๋ฉด

      img

    • ์ž๋™์œผ๋กœ ์ธ์Šคํ„ด์Šค๊ฐ€ ๊ฐ์†Œํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธ

      img

#3 AWS ELB(Elastic Load Balancing)์„ ์ด์šฉํ•œ ์„œ๋ฒ„ ํŠธ๋ž˜ํ”ฝ ๋ถ„์‚ฐ ๊ด€๋ฆฌ(p62)

  • ๋กœ๋“œ ๋ฐธ๋Ÿฐ์Šค ์ƒ์„ฑ

    img


    img


    img


    img


    img


    img

  • app.js ํŒŒ์ผ์— ํ—ฌ์Šค ์ฒดํฌ URL ํ™•์ธ

    app.get('/health', (req, res) => {					โ‡ /health ๋กœ GET ๋ฐฉ์‹์˜ ์š”์ฒญ์ด ๋“ค์–ด์˜ค๋ฉด
      res.status(200).send(); 						   ์‘๋‹ต ์ƒํƒœ์ฝ”๋“œ์˜ ๊ฐ’์„ 200์œผ๋กœ ์„ค์ •ํ•ด์„œ ๋ฐ˜ํ™˜
    });
  • ๋Œ€์ƒ ๊ทธ๋ฃน์— Auto Scaling Group์„ ์ถ”๊ฐ€ํ•  ์˜ˆ์ •์ด๋ฏ€๋กœ, ์ธ์Šคํ„ด์Šค๋ฅผ ์ง์ ‘ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๋Š”๋‹ค.

    img

  • ๋กœ๋“œ ๋ฐธ๋Ÿฐ์Šค ์ƒ์„ฑ

    img

#4 Auto Scaling ๊ทธ๋ฃน์„ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋Œ€์ƒ ๊ทธ๋ฃน์— ์ถ”๊ฐ€

  • Auto Scaling Group์—์„œ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ํŽธ์ง‘

    img

    img

  • ํ—ฌ์Šค ์ฒดํฌ ํ™•์ธ

    img


    img


  • ๋กœ๋“œ ๋ฐธ๋Ÿฐ์Šค๋ฅผ ํ†ตํ•œ ์ ‘์† ํ™•์ธ

    img


    img

#5 ASG(Auto Scaling Group)๊ณผ ELB(Elastic Load Balancer)๋ฅผ ์ด์šฉํ•œ ์žฅ์•  ์กฐ์น˜ (p73)

  • ๋Œ€์ƒ ๊ทธ๋ฃน์˜ ํ—ฌ์Šค ์ฒดํฌ ์„ค์ • ๋ณ€๊ฒฝ

    img


    img


    img


    img

  • ASG์˜ ์šฉ๋Ÿ‰์„ ๋ณ€๊ฒฝ

    img

    • ํ•ญ์ƒ ์ธ์Šคํ„ด์Šค๊ฐ€ 2๊ฐœ ์‹คํ–‰๋˜๋„๋ก ์„ค์ •์„ ๋ณ€๊ฒฝ

    img

  • ๊ฐ ์ธ์Šคํ„ด์Šค๋กœ SSH ์ ‘์†ํ•ด์„œ ํ—ฌ์Šค ์ฒดํฌ ํ™•์ธ

    img

    • /opt/nginx/logs/access.logs ํŒŒ์ผ์„ ํ†ตํ•ด ํ—ฌ์Šค ์ฒดํฌ ์š”์ฒญ์ด 5์ดˆ ๊ฐ„๊ฒฉ์œผ๋กœ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธ

      • tail -f /opt/nginx/logs/access.logs

      img

  • ์ธ์Šคํ„ด์Šค ์ค‘ ํ•˜๋‚˜์˜ nginx ์„œ๋น„์Šค๋ฅผ ์ค‘์ง€

    • $ sudo service nginx stop

    • nginx ์„œ๋น„์Šค ์ค‘์ง€์™€ ๋™์‹œ์— ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ ํผ๋ธ”๋ฆญ DNS ์ฃผ์†Œ๋กœ ์ ‘์†์„ ์‹œ๋„ํ•˜๋ฉด 502 Bad Gateway ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒ

      img

    • ์‹œ๊ฐ„์ด ์ง€๋‚œ ํ›„์—๋Š” ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธ

      • โ‡’ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘(healthy)ํ•˜๋Š” ์ธ์Šคํ„ด์Šค๋กœ๋งŒ ์š”์ฒญ์„ ์ „๋‹ฌ

        img

      img

  • ๋ชจ๋“  ์ธ์Šคํ„ด์Šค๋ฅผ ์ข…๋ฃŒ

    img