...

์คํ ์ค์ผ์ผ๋ง (Auto Scaling)
ํด๋ผ์ฐ๋ ์ปดํจํ ์ ๋ํ์ ์ธ ์ฅ์ ์ผ๋ก๋ ํ์์ ๋ฐ๋ผ ์๋น์ค๋ฅผ ๋น ๋ฅด๊ฒ ํ์ฅํ๊ฑฐ๋ ์ถ์ํ ์ ์๋ ์ ์ฐ์ฑ์ ๋ค ์ ์๋ค.
๊ทธ์ค, ์คํ ์ค์ผ์ผ๋ง(Auto Scaling)์ ํด๋ผ์ฐ๋์ ์ ์ฐ์ฑ์ ๋๋ณด์ด๊ฒ ํ๋ ํต์ฌ๊ธฐ์ ๋ก CPU, ๋ฉ๋ชจ๋ฆฌ, ๋์คํฌ, ๋คํธ์ํฌ ํธ๋ํฝ๊ณผ ๊ฐ์ ์์คํ ์์๋ค์ ๋ฉํธ๋ฆญ(Metric) ๊ฐ์ ๋ชจ๋ํฐ๋งํ์ฌ ์๋ฒ ์ฌ์ด์ฆ๋ฅผ ์๋์ผ๋ก ์กฐ์ ํ๋ ์๋น์ค๋ฅผ ๋งํ๋ค.
์ด๋ฅผ ํตํด ์ฌ์ฉ์๋ ์์์น ๋ชปํ ์๋น์ค ๋ถํ์ ํจ๊ณผ์ ์ผ๋ก ๋์ํ๊ณ , ์ต๋ํ ์ ๋ ดํ ๋น์ฉ์ผ๋ก ์์ ์ ์ด๊ณ ์์ธก ๊ฐ๋ฅํ ์ฑ๋ฅ์ ์ ์ง ํ ์ ์๋ค.
์ค์ผ์ผ๋ง ์ด๋?
์คํ ์ค์ผ์ผ๋ง(Auto Scaling)์ ๋ํด ๋ฐฐ์ฐ๊ธฐ ์์ ์ค์ผ์ผ๋ง(Scaling)์ด ์ ํํ ๋ฌด์์ ์๋ฏธํ๋์ง ๊ฐ๋จํ๊ฒ ์ง๊ณ ๋์ด๊ฐ๋๋ก ํ์.
์ค์ผ์ผ๋ง ์ด๋ ์ธ์คํด์ค ํน์ ์ปดํจํ ํ์๋ฅผ ๋๋ฆฌ๋ ๊ฒ์ ๋งํ๋ค.
์ค์ผ์ผ๋ง์ ๋ฐฉ๋ฒ์๋ ๋ํ์ ์ผ๋ก 2๊ฐ์ง๊ฐ ์๋ค.

์ค์ผ์ผ ์ (Scale Up)

cpu๊ฐ ํ๋์ด๊ณ memory 1๊ธฐ๊ฐ์ธ ์ธ์คํด์ค๊ฐ ์๋ค๊ณ ๊ฐ์ ํ์.
๋ง์ผ ์ธ์คํด์ค์ ์ฑ๋ฅ์ 16๋ฐฐ๋ก ๋๋ ค์ผํ ์ํฉ์ด ์จ๋ค๋ฉด, ๋ง ๊ทธ๋๋ก 16๋ฐฐ ํฐ ์ธ์คํด์ค๋ฅผ ์ฌ์ฉํจ์ผ๋ก์ ์ฑ๋ฅ์ ์ฌ๋ฆฌ๋ ๊ฒ์ ์ค์ผ์ผ ์ ์ด๋ผ๊ณ ํ๋ค. ํ์ง๋ง ์ด๋ ์ฑ๋ฅ๊ณผ ๋น์ฉ์ด ๋น๋กํ์ง ์๋๋ค๋ ๋จ์ ์ด ์๋ค.
์ฃผ๋ณ์์ ๊ฐ๋จํ ์๋ฅผ ๋ค๋ฉด ๊ทธ๋ํฝ์นด๋๋ฅผ ๋ณผ ์ ์๋ค. (๊ทธ๋ํฝ์นด๋ ์ง์์ด ์์ผ์ ๊ฒ์ด๋จธ ๋ถ๋ค๋ง ๋ณด์ธ์!)
GTX 1080๊ณผ RTX 2080์ ์ฑ๋ฅ ์ฐจ์ด๋ 30%๋ฐ์ ์๋์ง๋ง ๊ฐ๊ฒฉ ์ฐจ์ด๋ ๋๋ฐฐ๊ฐ ๋๋๋ค.
๋ฌผ๋ก RTX 3080๊ฐ์ ๋ช ์๋ ๊ฐ๋ ๋์ค์ง๋ง ์ญ์ ์์ฒญ ๋น์ธ๋ค.
๊ฑฐ๊ธฐ๋ค ๋ง์ผ 1,000,000๋ฐฐ ๋์ ์ฑ๋ฅ์ ์ฌ์ฉํ๊ณ ์ถ๋ค๋ฉด ๋น์ฉ์ ์ด๋ง์ด๋ง ํ ๊ฒ์ด๊ณ , ๋ฌผ๋ฆฌ์ ์ผ๋ก ๊ฐ๋ฅํ์ง๋ ๊ณ ๋ฏผ ํด๋ด์ผ ํ๋ค.
์ค์ผ์ผ ์์(Scale Out)

์์ ๋ฌผ๋ฆฌ์ ์ธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋๊ฒ์ด ๋ฐ๋ก ์ค์ผ์ผ ์์ ์ด๋ค.
์ค์ผ์ผ ์์์ ๊ท๋ชจ๋ฅผ ๋๋ฆฌ๋ ๊ฒ์ด๋ค.
์ฆ, 10๋ง๋ฐฐ ์ฑ๋ฅ์ด ์ข์ ๊ทธ๋ํฝ์นด๋๋ ํ์ค์์๋ ์กด์ฌํ์ง๋ ์์ผ๋ ์ฌ๋ฌ๊ฐ ์ฅ์ฐฉ ํด์ ์ฑ๋ฅ์ ์ฌ๋ ค๋ณด์๋ ๊ฐ๋ ์ด๋ค.
ํ์ง๋ง ์ด๋ ๋ฌผ๋ฆฌ์ ์ผ๋ก ๋ถ๊ฐ๋ฅํ๋ค. ๋ฉ์ธ๋ณด๋์๋ ๊ทธ๋ํฝ์นด๋๋ฅผ ์ต๋ 2๊ฐ๋ฐ์ ์ฅ์ฐฉํ์ง ๋ชปํ๋ฉฐ, ๋ง์ผ ์์ญ๊ฐ๋ฅผ ์ฅ์ฐฉํ ์ ์๋ค๊ณ ํด๋ ๊ณต๊ฐ์ ๊ณ ๋ คํด์ผ ๋์ง ๋๋ฌธ์ด๋ค.
๊ทธ๋ฌ๋ ํด๋ผ์ฐ๋๋ ์ํฉ์ด ๋ค๋ฅด๋ค. (์ ํด๋ผ์ฐ๋๊ฐ ์ธ๊ธฐ์๋ ์ด์ ์ด๊ธฐ๋ ํ๋ค)
์ฑ๋ฅ์ 16๋ฐฐ ์ฌ๋ฆฌ๊ณ ์ถ์ผ๋ฉด ๊ทธ๋ฅ ์ธ์คํด์ค๋ฅผ 16๊ฐ ๊ฐ์ ธ๋ค๊ฐ ์ฐ๋ฉด ๋๋ค.
๊ณต๊ฐ์ ์ ์ฝ์ด๋ ํ๋์จ์ด์ ์ธ ์ ์ฝ์ด ์๋ค.
๊ทธ๋ฆฌ๊ณ ์ฑ๋ฅ๊ณผ ๋น์ฉ์ด ๋น๋กํ๋ค๋ ํน์ง๋ ๊ฐ์ง๊ณ ์๋ค. (๊ทธ๋ํฝ์นด๋ ํฌ๋ก์คํ์ด์ด(๊ธ์นด 2๊ฐ ์ฅ์ฐฉ) ๊ฐ์๊ฒฝ์ฐ 30%๋ฐ์ ์ฑ๋ฅ ํฅ์ํญ์ด ๋ฏธ๋ฏธํ๋ค)
๋ฐ๋ผ์, ํด๋ผ์ฐ๋ ํ๊ฒฝ์์๋ Scale Out์ ํญ์ ์ผ๋ํ๋ฉฐ ์ค๊ณ๋ฅผ ํด์ผ ํ๋ค.
์์์ ๋ฐ๋ผ ์ธ์คํด์ค๋ฅผ ๋ ์ธ ์๋, ๋ ์ธ ์๋ ์์์ผ๋ก์ ์ ์ฐ์ฑ์ ๊ฐ์ง ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
์ค์ผ์ผ ์ธ(Scale In)
scale out์ผ๋ก ๋๋ฆฐ ์ธ์คํด์ค๋ฅผ ๋ค์ ์ค์ด๋ ํ์๋ก ์ดํดํ๋ฉด ๋๋ค.

์ด์ฒ๋ผ, ์คํ ์ค์ผ์ผ๋ง(Auto Scaling)์ ๋ฐ๋ก Scale Out์ ์๋ํ(Auto) ํ๊ธฐ ์ํด ๋์จ ์๋น์ค๋ผ๊ณ ๋ณด๋ฉด ๋๋ค.
์ ํ๋ฆฌ์ผ์ด์ ์ ๋ชจ๋ํฐ๋ง ํ๊ณ ์ฉ๋์ ์๋์ผ๋ก ์กฐ์ ํ๋ ์ญํ ์ ํ๋ฉฐ, ์ต๋ํ ์ ๋ ดํ ๋น์ฉ์ผ๋ก ์์ ์ ์ด๊ณ ์์ธก ๊ฐ๋ฅํ ์ฑ๋ฅ์ ์ ์ง ํ๋ค.
๊ทธ๋์ ๋ช ๋ถ๋ง์ ์์ฝ๊ฒ ์ฌ๋ฌ ์๋น์ค ์ ์ฒด์์ ์ฌ๋ฌ ๋ฆฌ์์ค์ ๋ํด ์ ํ๋ฆฌ์ผ์ด์ ๊ท๋ชจ ์กฐ์ ์ ์ค์ ํ ์ ์๋ค.
์คํ ์ค์ผ์ผ๋ง์ ๋ชฉํ
- ์ ํํ ์์ EC2 ์ธ์คํด์ค๋ฅผ ๋ณด์ ํ๋๋ก ๋ณด์ฅ
- ๊ทธ๋ฃน์ ์ต์ ์ธ์คํด์ค ์ซ์์ ์ต๋ ์ธ์คํด์ค ์ซ์๋ฅผ ๊ด๋ฆฌ
- ๋ง์ฝ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ๊ธฐ ์ํด ์ธ์คํด์ค๊ฐ 3๊ฐ๊ฐ ํ์ํ๋ค๋ฉด, 3๋ ์ด์์ ์ธ์คํด์ค๊ฐ ํญ์ ๋ ์์ ์ ์๊ฒ ๋ณด์ฅํ๋ค.
- ์ต์ ์ซ์ ์ดํ๋ก ๋ด๋ ค๊ฐ์ง ์๋๋ก ์ธ์คํด์ค ์ซ์๋ฅผ ์ ์ง (์ธ์คํด์ค ์ถ๊ฐ)
- ์ต๋ ์ซ์ ์ด์ ๋์ด์๋ ์๋๋ก ์ธ์คํด์ค ์ซ์ ์ ์ง (์ธ์คํด์ค ์ญ์ )
- ๋ค์ํ ์ค์ผ์ผ๋ง ์ ์ฑ
์ ์ฉ ๊ฐ๋ฅ
- CPU์ ๋ถํ์ ๋ฐ๋ผ ์ธ์คํด์ค ํฌ๊ธฐ ๋๋ฆฌ๊ธฐ/์ค์ด๊ธฐ (์คํ 2์๊ฐ ๋๋ฉด ๊ฒ์ ์ ์ ํธ๋ํฝ์ด ๋ง์ผ๋ ์ธ์คํด์ค ํ ์ฌ๋ฆฌ๊ณ , ์๋ฒฝ 2์๊ฐ ๋๋ฉด ์ ์ ํธ๋ํฝ์ด ๋ฎ์ผ๋ ์ธ์คํด์ค๋ฅผ ๋ด๋ฆฐ๋ค.)
- ๊ฐ์ฉ์์ญ์ ์ธ์คํด์ค๊ฐ ๊ณจ๊ณ ๋ฃจ ๋ถ์ฐ๋ ์ ์๋๋ก ์ธ์คํด์ค๋ฅผ ๋ถ๋ฐฐ
- ์๋น์ค ์ฅ์ ๊ฐ ๋ฐ์ํ๋๋ผ๋ ๋ฌธ์ ์์ด ์๋น์ค ์ด์ฉ
๋ํ, AWS ์คํ ์ค์ผ์ผ๋ง ์๋น์ค๋ EC2๋ฟ๋ง์๋๋ผ ์ฌ๋ฌ AWS ์๋น์ค์ ์ ๊ธฐ์ ์ผ๋ก ์ฐ๋ํ์ฌ ์ฌ์ฉ ํ ์๋ ์๋ค.

์คํ ์ค์ผ์ผ๋ง ๊ตฌ์ฑ ์์
์คํ ์ค์ผ์ผ๋ง ๊ทธ๋ฃน(Groups)

- EC2 ์ธ์คํด์ค๋ฅผ ์กฐ์ ๋ฐ ๊ด๋ฆฌ ๋ชฉ์ ์ ๋ ผ๋ฆฌ ๋จ์๋ก ์ทจ๊ธ๋ ์ ์๋๋ก ๊ทธ๋ฃน์ผ๋ก ๊ตฌ์ฑ
- ๊ทธ๋ฃน์ ์์ฑํ ๋ EC2 ์ธ์คํด์ค์ ์ต์(minimum size) ๋ฐ ์ต๋(maximum size) ์ธ์คํด์ค ์์ ์ํ๋(desired capacity) ์ธ์คํด์ค ์๋ฅผ ์ง์ ํ๊ณ ์ด ๋ฒ์์์์ Scale in/out ์ด ์ผ์ด๋๋ค.
- ์ธ์คํด์ค ์ฆ๊ฐ์ ์ด ๊ทธ๋ฃน์์์ ์ด๋ฃจ์ด ์ง๊ฒ ๋๋ฉฐ, ์ฌ์ฉ์๊ฐ ์ง์ ํ ์กฐ๊ฑด์ ํตํด ์คํ๋๋ค.
- ์ฆ์ค ์ ์ด๋ค ์ธ์คํด์ค ํ ํ๋ฆฟ์ ์ด์ฉํ ๊ฒ์ธ์ง
- ์ผ๋ง๋ ๋ง์ ์๋ฒ๋ฅผ ํ์๋ก ํ๋์ง
- ์ด๋ค ๊ฐ์ ๊ธฐ๋ฐ์ผ๋ก ๋ชจ๋ํฐ๋งํด์, ์ธ์คํด์ค๋ฅผ ์ฆ์ค ๋๋ ๊ฐ์ถ ํ ๊ฒ์ธ์ง
- ์ถ๊ฐ์ ์ผ๋ก ์ฆ์ค๋ ์ธ์คํด์ค๊ฐ ๋ก๋๋ฐธ๋ฐ์์ ๋ฉค๋ฒ๋ก ์ฐ๊ฒฐ๋์ด์ผ ํ๋ค๋ฉด, ๋ก๋๋ฐธ๋ฐ์๋ฅผ ์ง์ ํ ์๋ ์๋ค.

์์(๊ตฌ์ฑ) ํ ํ๋ฆฟ

- Auto Scaling ๊ทธ๋ฃน์์ ์ธ์คํด์ค๋ฅผ ์์ํ๋๋ฐ ์ฌ์ฉํ๋ ํ
ํ๋ฆฟ์ผ๋ก, AMI(์ด๋ฏธ์ง)๋ผ๊ณ ์๊ฐํด๋ ๋๋ค.
ํ ํ๋ฆฟ์ด๋ผ ํจ์ ๋๊ฐ์ OSํ๊ฒฝ์ ์ธ์คํด์ค๋ฅผ ๊ฐํธํ๊ฒ ๋ณต์ ํ๊ธฐ ์ํด์ ๊ตฌ์ฑํ๋ ๊ฒ์ด๋ค.
๋ฐ๋ผ์ ํ ํ๋ฆฟ์ ์คํ ์ค์ผ์ผ๋ง ๊ทธ๋ฃน์ ์ง์ ์ํด์ผ๋ก์, ์คํ ์ค์ผ์ผ๋ง์ ํตํด ์ธ์คํด์ค ๋๋ฆฌ๋ฉด ๊ทธ ์ธ์คํด์ค์ ํ๊ฒฝ ๊ตฌ์ฑ์ด ํ ํ๋ฆฟ์ ์ค์ ๋ ํ๊ฒฝ์ ๋ฐ๋ผ ๋ณต์ ๋จ์ผ๋ก์ ์๋น์ค๋ฅผ ๋๋ฆฐ๋ค๋ ๊ฐ๋ ์๋ฆฌ์ธ ๊ฒ์ด๋ค. - ์ธ์คํด์ค์ AMI ID, ์ธ์คํด์ค ์ ํ, ํค ํ์ด, ๋ณด์ ๊ทธ๋ฃน, ๋ธ๋ก ๋๋ฐ์ด์ค ๋งคํ ๋ฑ์ ์ ๋ณด๋ฅผ ์ธํ
ํด์ ํ
ํ๋ฆฟ์ ๊ตฌ์ฑํ๊ฒ ๋๋ค.
- ํ ํ๋ฆฟ์ ๊ตฌ์ฑํ๋ฉด ์์ ์ด ๋ถ๊ฐ๋ฅํ๋ค. ํ ํ๋ฆฟ์ ๋ฒ์ ผ์ผ๋ก ๊ตฌ๋ถ๋๋๋ฐ, ๋ง์ผ ์ต์ ์ ๋ฐ๊ฟ ํ์๊ฐ ์์ผ๋ฉด ์๋ก ์์ฑ์ ํ๊ณ ๋ฒ์ ผ์ ์๋ก์์ฑํ ๋ฒ์ ผ์ผ๋ก ๋ฐ๊พธ๋ ์์ผ๋ก ํด์ผํ๋ค. (๋ค์ ์ค์ต์ ๋ณด๋ฉด ์ดํดํ ์ ์์ ๊ฒ์ด๋ค.)

์คํ ์ค์ผ์ผ๋ง ์กฐ์ ์ต์
- Auto Scaling ๊ทธ๋ฃน์ ์กฐ์ ํ๋ ๋ค์ํ ์กฐ๊ฑด ๋ฐฉ๋ฒ์ ์ค์ ํ๋ ์ต์
์ด๋ค.
์๋ฅผ๋ค์ด, CPU ์ ์ ์จ์ด ์ผ์ %๋ฅผ ๋์์ ๋ ์ถ๊ฐ๋ก ๋๋ฆฌ๊ฑฐ๋ ์๋๋ฉด 2๊ฐ ์ด์์ด ํ์ํ ์คํ์์ EC2 ํ๋๊ฐ ์ฃฝ์์ ๋ ์คํํ๊ฑฐ๋ ๋ฑ - ํ์ฌ ์ธ์คํด์ค ์์ค ์ ์ง ๊ด๋ฆฌ, ์๋ ์กฐ์ , ์ผ์ ์ ๊ธฐ๋ฐ์ผ๋ก ์กฐ์ , ์จ๋๋งจ๋ ๊ธฐ๋ฐ ์กฐ์ ๋ฑ๋ฑ ์ด ์๋ค.
- CloudWatch์ด๋ ELB(๋ถํ ๋ถ์ฐ)์ ์ฐ๊ณ๊ฐ ๊ฐ๋ฅํ๋ค.
- ์๋ ์ฌ์ง๊ณผ๊ฐ์ด ์ด๋ when์ผ๋ take the actionํ ์ง ์ต์ ์กฐ์ ๋ฉ๋ด๊ฐ ์๋ค.

์คํ ์ค์ผ์ผ๋ง ๋์ ์๋ฆฌ
๋ณต์กํ์ง๋ง ์ต๋ํ ๊ฐ๋จํ๊ฒ ์์ฝํ์๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋๋ค.
- EC2 ์ธ์คํด์ค ํด๋ฌ์คํฐ ๊ฐ ์๊ณ 8๊ฐ์ ์ธ์คํด์ค๊ฐ ํ์ํ๋ค๊ณ ๊ฐ์ ํด๋ณด์
- ํ๋์จ์ด๊ฐ ํฐ์ก๋ค๋์ง ์ํํธ์จ์ด ๋ฌธ์ ๊ฐ ํฐ์ ธ์ EC2 ํ๊ฐ๊ฐ ์ฃฝ์ด๋ฒ๋ ธ๋ค.
- ๊ทธ๋ผ ์ด๊ฒ์ ์คํ ์ค์ผ์ผ๋ง์ด ๊ฐ์ง๋ฅผ ํ๋ค
- ๊ทธ๋ฆฌ๊ณ ์์๊ตฌ์ฑ์ ๋ง๋ ์ธ์คํด์ค๋ฅผ ์์ฑ์ ํด์ ์คํ ์ค์ผ์ผ๋ง ํด๋ฌ์คํฐ์ ๋ฃ์ด์ค๋ค.


๋ง์ผ ๋ณด๋ค ์์ธํ ๋์์๋ฆฌ์ ๋ํด ์๊ณ ์ถ๋ค๋ฉด ๋ค์ ํฌ์คํ ์ ์ถ์ฒํ๋ ๋ฐ๋ค.
ํ๋ ฅ์ ์ธ ํด๋ผ์ฐ๋ ์์ ํ์ฉ ๊ธฐ์ : ์คํ ์ค์ผ์ผ๋ง(Auto Scaling)
[BY ์ผ์ฑSDS] ์๋ณ์ฐฝ | ์์ค์ฝ์ดใ ์ํํธ์จ์ด์ฌ์ ๋ถ ํด๋ผ์ฐ๋ ์ปดํจํ ์ ๋ํ์ ์ธ ์ฅ์ ์ผ๋ก ํ์์ ๋ฐ๋ผ ...
m.post.naver.com


์คํ ์ค์ผ์ผ๋ง ์ค์ ๊ตฌ์ถ ์ธํ
1. ์์ ํ ํ๋ฆฟ ์์ฑ
์คํ ์ค์ผ์ผ๋ง ๊ทธ๋ฃน์ ์์ฑํ๊ธฐ์ ์์, ์ด๋ค ์ธ์คํด์ค๋ฅผ ์ด๋ป๊ฒ ์ฌ๋ฆด์ง ์ ์ํ๋ ํ ํ๋ฆฟ์ ์์ฑํ๋ค.
๊ณผ๊ฑฐ์๋ ์์ ๊ตฌ์ฑ(Launch Configuration)์ ์ฌ์ฉํ์ง๋ง ํ์ฌ๋ AWS์์๋ ์์ ํ ํ๋ฆฟ(Template) ๋ฐฉ๋ฒ ์ฌ์ฉ์ ๊ถ์ฅํ๊ณ ์์ผ๋ฉฐ, ์์ ํ ํ๋ฆฟ์ด ์์ ๊ตฌ์ฑ์ ๋นํด ๋ฒ์ ๋ฑ ๊ด๋ฆฌ๊ฐ ๋ ํธํ๋ค๊ณ ํ๋ค.
๋ ๊ฐ์ง ๋ชจ๋ Auto Scaling์ ์ํด ์์ฑํด์ผ ํ๋ ์๋น์ค์ง๋ง,
์์ ๊ตฌ์ฑ(Launch Configuration)์ ๊ฒฝ์ฐ ๋ฐฐํฌํ ์์ค์ ๋ฒ์ ์ด ์ฌ๋ผ๊ฐ๋ฉด ์์ ๊ตฌ์ฑ์ ๋งค๋ฒ ์๋ก ๋ง๋ค์ด์ค์ผํ๋ ๊ฒ์ ๋ฐํด,
์์ Template์ ๋ฐฐํฌํ ์์ค์ ๋ฒ์ ์ด ์ฌ๋ผ๊ฐ๋ ํด๋น ํ ํ๋ฆฟ ์ ๋ฐ์ดํธ๋ฅผ ํตํด ๋ฒ์ ๊ด๋ฆฌ๊ฐ ๊ฐ๋ฅํ๋ค.


Auto Scaling์ผ๋ก ์ธ์คํด์ค๋ฅผ ์ฆ์คํ๊ธฐ ์ํด์๋ EC2 AMI ์ด๋ฏธ์ง๊ฐ ํ์ํ๋ค.
๋ฆฌ๋ ์ค ์๋ฒ ์ธ์คํด์ค๋ฅผ ์ฆ์คํด์ผ๋๋๋ฐ ๋ฌ๊ธ์์ด ์๋์ฐ ์๋ฒ ์ธ์คํด์ค๋ฅผ ์์ฑํ๋ฉด ์๋๊ธฐ ๋๋ฌธ์ด๋ค.
๋ฏธ๋ฆฌ ๋ง๋ค์ด๋์ AMI๋ฅผ ๊ณ ๋ฅผ์๋ ์๊ณ ์ AMI๋ฅผ ๊ณ ๋ฅผ์๋ ์๋ค.
- ์ต๊ทผ ์ฌ์ฉ : ์ต๊ทผ์ ์ฌ์ฉํ AMI ๋ชฉ๋ก
- ๋ด AMI : ๋ฏธ๋ฆฌ ๋ง๋ค์ด๋์ ๋ด AMI๋ฅผ ์ ํ
- Quick Start : EC2 ์ธ์คํด์ค ์์ฑํ ๋ AMI๋ฅผ ๊ณจ๋์๋ ์ฒ๋ผ ๊ณ ๋ฅผ์ ์๋ค.

์ธ์คํด์ค ์ ํ ๋ฐ ์ ๋ฐ์ ์ธ ์ธ์คํด์ค ์ด๊ธฐ ์ธํ ์ ์ค์ ํ๋ค.
๋ณต์กํ๊ฒ ์๊ฐํ ํ์ ์์ด ๊ทธ๋ฅ EC2 ์ธ์คํด์ค ์์ฑํ์๋ ์ฒ๋ผ ํญ๋ชฉ์ ์ ํํด์ฃผ๋ฉด ๋๋ค.
์ด๊ฒ๋ค์ ์คํ ์ค์ผ์ผ๋ง์ผ๋ก ์ธ์คํด์ค๋ฅผ ์ฌ๋ฌ๊ฐ ๋ง๋ค๋ ์ด๋ค ์ธ์คํด์ค ์ ํ์ผ๋ก, ์ด๋ค ์คํ ๋ฆฌ์ง๋ก, ์ด๋ค AMI๋ก ๋ง๋ค์ง ๋ฏธ๋ฆฌ ์ธํ ํ๋ ํ ํ๋ฆฟ ๊ฐ๋ ์ผ๋ก ์ดํดํ๋ฉด ๋๋ค.




2. Auto Scaling ๊ทธ๋ฃน ์์ฑ
์์ ํ ํ๋ฆฟ์ ์์ฑํ์ผ๋ฉด ๋ฐ๋ก EC2 ์ธ์คํด์ค๋ฅผ ์์ฑํ ์๋ ์๊ณ ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์คํ ์ค์ผ์ผ๋ง ๊ทธ๋ฃน์ ์์ฑํ ์๋ ์๋ค.
ํ ํ๋ฆฟ์ ์ ํํ๊ณ ์์ ๋ฉ๋ด์์ ์คํ ์ค์ผ์ผ๋ง ๊ทธ๋ฃน ์์ฑ์ ๋๋ฅธ๋ค.


์ด์ EC2 ์ธ์คํด์ค๋ฅผ ๋ถ๋ฐฐํ VPC์ ๊ฐ์ฉ์์ญ(AZ)์ ์ ํํ๋ค.
์์ธ ๋ฆฌ์ ์ ๊ธฐ์ค์ผ๋ก ap-northeast-2a์ ap-northeast-2c๋ฅผ ์ ํํ๋ค.
์ด๋ ๊ฒ ๊ฐ์ฉ์์ญ์ ๋๊ฐ๋ฅผ ์ง์ ํ๋ฉด Auto Scaling์ ํตํด ์ธ์คํด์ค๋ฅผ ๋ง๋ค ๋ ๊ฐ์ฉ์์ญ์ ๋ฒ๊ฐ์ 50% ๋น์ค์ผ๋ก ์ธ์คํด์ค๋ฅผ ๋ง๋ค๊ธฐ ๋๋ฌธ์ ํ๋์ ๊ฐ์ฉ์์ญ์ ๋ฌธ์ ๊ฐ ์๊ฒจ๋ ์๋์ ์ผ๋ก ์ํฅ์ ๋ ๋ฐ์ ์ ์๊ฒ ๋๋ค.

๊ณ ๊ธ ์ต์ ๊ตฌ์ฑ์์๋ ๋ก๋ ๋ฐธ๋ฐ์๋ฅผ Auto Scaling ๊ทธ๋ฃน์ ์ฐ๊ฒฐํ๊ฑฐ๋ Auto Scaling ๊ทธ๋ฃน์์ ์ธ์คํด์ค๊ฐ ์ ์์ธ์ง ๋น์ ์์ธ์ง ํ๋จํ๋ ๋ฐฉ๋ฒ์ ๋ํ ํน์ ์๊ตฌ์ฌํญ์ ์ ์ํ๋ค.
์ต์ข ๊ตฌ์๋๋ฅผ ์ํด์๋ ํ์ํ ์ค์ ์ด๊ฒ ์ง๋ง, ์ฐ์ ์ CPU ์ฌ์ฉ๋์ ๋ฐ๋ฅธ scale out๋ง์ ํ์ธํ๊ณ ์ ํ๋ ๋์ด๊ฐ๋๋ก ํ๊ฒ ๋ค
๋ก๋๋ฐธ๋ฐ์ฑ์ ๊ดํด์๋ ๋ค์ ELB ๊ฐ์์์ ์งํํ๋๋ก ํ๊ฒ ๋ค.

๊ทธ๋ฃน ํฌ๊ธฐ ๋ฐ ์กฐ์ ์ ์ฑ ์์๋ ์ํ๋ ์ฉ๋ , ์ต์ ์ฉ๋, ์ต๋ ์ฉ๋์ ์ค์ ํด ์ค ์ ์๋ค.
์ด ๋ถ๋ถ์ด ๋ฐ๋ก ์คํ ์ค์ผ์ผ๋ง์ ํตํด ์ฆ์คํ๊ฑฐ๋ ์ ์งํ ์ธ์คํด์ค ๊ฐ์๋ฅผ ์ค์ ํ๋ ๋ถ๋ถ์ด๋ค.

- ์ํ๋ ์ฉ๋(๊ทธ๋ฃน ์ฌ์ด์ฆ)
- ๊ทธ๋ฃน ๋ด ๋ชฉํ๋ก ํ๋ ์ธ์คํด์ค ์, ํ์์์ ์ ์งํ๊ณ ์์ ์ธ์คํด์ค ์
์ฌ์ฉ์์ ํ์์ ๋ฐ๋ผ ์ ํํ ์ ์์ผ๋ฉฐ, ์ต์ ๋ฐ ์ต๋ ํฌ๊ธฐ ๋ฒ์ ์ด๋ด์ ์์ด์ผ ํ๋ค.
์ด ํญ๋ชฉ์ ์ ๋ ฅํ์ง ์์ผ๋ฉด Auto Scailing์ ์ต์ ํฌ๊ธฐ์ ๋ง์ถฐ ์ธ์คํด์ค๋ฅผ ๋ฐ์นญํ๊ณ , ์ ๋ ฅํ๋ฉด ํด๋น ๊ฐ์ ๋ง์ถฐ ์ธ์คํด์ค๋ฅผ ์ถ๊ฐ ๋๋ ์ข ๋ฃ์ํค๊ฒ ๋๋ค.
- ๊ทธ๋ฃน ๋ด ๋ชฉํ๋ก ํ๋ ์ธ์คํด์ค ์, ํ์์์ ์ ์งํ๊ณ ์์ ์ธ์คํด์ค ์
- ์ต์ ์ฉ๋
- ๊ทธ๋ฃน ๋ด ์ต์ ์ ์งํ ์ธ์คํด์ค ์
์๋ฅผ๋ค์ด ์ต์๊ฐ 2์ด๋ฉด ์๋์กฐ์ ์ ์ฑ ์ด๋ ์ฌ๋์ ์ํด ์ธ์คํด์ค ์๋ฅผ 2๊ฐ ๋ฏธ๋ง์ผ๋ก ์ค์ผ ์ ์๋ค.
Auto Scailing์ ์ธ์คํด์ค ์๊ฐ ์ต์ ํฌ๊ธฐ ์ดํ๋ก ๋ด๋ ค๊ฐ์ง ์๋๋ก ํ๋ค.
์ด ๊ฐ์ 0์ผ๋ก ์ค์ ํ๋ฉด ์ ์ธ์คํด์ค๋ฅผ ์ถ๊ฐํ์ง ์๊ณ ๊ทธ๋ฃน ๋ด์์ ์คํ๋๋ ๋ชจ๋ ์ธ์คํด์ค๋ฅผ ์ข ๋ฃ์ํค๊ฒ ๋๋ค. (์ต์๋ฅผ ๊ฐ์ฅ ์ ๊ฒ ์ฃผ๊ณ ์ถ์ด์ ์๊ฐ์์ด 0์ ์ค๋ฒ๋ฆฌ๋ฉด ์น EC2๊ฐ ์ข ๋ฃ๋์ด๋ฆฌ๋ ์กฐ์ฌํด์ผ ๋๋ค.)
- ๊ทธ๋ฃน ๋ด ์ต์ ์ ์งํ ์ธ์คํด์ค ์
- ์ต๋ ์ฉ๋
- ๊ทธ๋ฃน ๋ด ์ต๋ ์ ์งํ ์ธ์คํด์ค ์
Auto Scailing์ ์ธ์คํด์ค ํฌ๊ธฐ๊ฐ ์ต๋ ํฌ๊ธฐ ์ด์์ด ๋์ง ์๋๋ก ํ๋ฉฐ, ์์ฐ ์ ํ์ ์ ๊ณ ๋ คํด ์๊ธฐ์น ๋ชปํ ์์์ ์ํด ์ง๋์น๊ฒ ๋ง์ ์ธ์คํด์ค๊ฐ ์ถ๊ฐ๋์ง ์๋๋ก ํ๋ ์์ ์ฅ์น ์ญํ ์ ํ๋ค.
- ๊ทธ๋ฃน ๋ด ์ต๋ ์ ์งํ ์ธ์คํด์ค ์
์คํ ์ค์ผ์ผ๋ง ๊ทธ๋ฃน์ ์ฌ์ฉํ์ง ์์ ๋๋ ์ํ๋ ์ฉ๋, ์ต์ ์ฉ๋, ์ต๋ ์ฉ๋์ 0, 0, 0์ผ๋ก ์ค์ ํด์ฃผ๋ฉด ๋๋ค.
์กฐ์ ์ ์ฑ ์ ์์ ๋งํ๋ฏ์ด, Auto Scaling ๊ทธ๋ฃน์ ์กฐ์ ํ๋ ๋ค์ํ ์กฐ๊ฑด ๋ฐฉ๋ฒ์ ์ค์ ํ๋ ์ต์ ์ด๋ค.

[ ๋์ ์ถ์ ์กฐ์ ์ ์ฑ ] ์ ์ ํํ๊ณ [ ์งํ ์ ํ ] ์ ํ๊ท CPU ์ฌ์ฉ๋ฅ ๋์ ๊ฐ์ 80์ผ๋ก ์ค์ ํด ์ค๋ค.
์ด๋, ๋ง์ฝ 2๊ฐ์ ์ธ์คํด์ค๊ฐ ๊ฐ๋๋๋ ์๋ ์ํฉ์์ 1๊ฐ์ ์ธ์คํด์ค ํ๊ท CPU ์ฌ์ฉ๋ฅ ์ด 80%๊ฐ ๋์ด๊ฐ๋ฉด ์๋ก์ด ์ธ์คํด์ค๋ฅผ ์์ฑํ๋ค๋ ์คํ ์ค์ผ์ผ๋ง ๋์ ์กฐ๊ฑด์ ๊ฑธ์ด๋์ ๊ฒ์ด๋ค.
์ฌ์ฉํ ์ ์๋ ์งํ ์ ํ์ ๋ค์๊ณผ ๊ฐ๋ค.
- ํ๊ท CPU ์ฌ์ฉ๋ฅ
- ํ๊ท ๋คํธ์ํฌ ์ ๋ ฅ / ์ถ๋ ฅ (byte)
- ๋์๋น Application Load Balancer ์์ฒญ ์
์งํ์ ํฌํจํ๊ธฐ ์ ์๋ฐ์ ์๊ฐ(์ด)๋ ์๋ก ์์๋ ์ธ์คํด์ค๊ฐ ์ค์ ํด๋ ์๊ฐ๊น์ง ์กฐ์ ์ ์ฑ ์งํ์ ํฌํจ์ํค์ง ์๋๋ค๋ ๋ป์ด๋ค.
์๋ฅผ ๋ค์ด, ์๋ฐ์ ์๊ฐ์ 300์ด๋ก ํด๋์๋ค๋ฉด ์๋ก ์๊ธด ์ธ์คํด์ค๊ฐ CPU ์ฌ์ฉ๋ฅ ์ด ์์ฃผ ๋์์ง๋ผ๋ ์กฐ์ ์ ์ฑ ์งํ ์ฐ์ ์ 300์ด ๋์์ ํฌํจ๋์ง ์์ ์ค์ผ์ผ ์์์ด ๋์ํ์ง ์๋ ๊ฒ์ด๋ค.
์๋ฆผ ์ถ๊ฐ๋ Auto Scaling ๊ทธ๋ฃน์ ์ธ์คํด์ค๊ฐ ์์/์ข ๋ฃ ๋ ๋๋ง๋ค SNS ์ฃผ์ ๋ก ์๋ฆผ์ ์ ์กํ ์ ์๋ค๊ณ ํ๋ค.
์ด๋ฒ ๊ฐ์์์ pass๋ฅผ ํ๋ค.

ํ๊ทธ ๋ถ๋ถ์ ํต๊ณผํด๋ ๋ฌด๋ํ์ง๋ง, ํค๋ Name, ๊ฐ์ auto-group ์ผ๋ก ์ฃผ์๋ฉด ์์ฑ๋ ec2 ์ธ์คํด์ค๋ฅผ ๊ด๋ฆฌํ ๋ ํธ๋ฆฌํ๋ค.

๋ง์ง๋ง ๊ฒํ ๋ฅผ ํ๊ณ ์คํ ์ค์ผ์ผ๋ง ๊ทธ๋ฃน์ ์์ฑ ๋ฒํผ์ ๋๋ฅด๋ฉด ๊ทธ๋ฃน ์์ฑ์ด ์๋ฃ๋๋ค.

3. Auto Scaling ๊ทธ๋ฃน ๋์ ํ์ธํ๊ธฐ
์คํ ์ค์ผ์ผ๋ง ๊ทธ๋ฃน์ ํด๋ฆญํ๋ฉด ์ง๊ธ๊น์ง ์ค์ ํ ์ธ๋ถ ์ ๋ณด๋ฅผ ๋ณผ์ ์๋๋ฐ, ์์ ์ํ๋์ฉ๋, ์ต์์ฉ๋, ์ต๋์ฉ๋์ 2๊ฐ๋ก ๋ง์ถฐ๋์์๋ค.
์คํ ์ค์ผ์ผ๋ง ๊ทธ๋ฃน์ ์์ฑํ๋ฉด ๋ฐ๋ก ์์ ์ ์ํ ์ธ์คํด์ค ์ฉ๋์ ๋ฐ๋ผ ์๋์ผ๋ก ์ธ์คํด์ค๊ฐ ๋ฐ๋ก ์ ๋ฐ์ดํธ๋๊ฒ ๋๋ค.


ํ๋์ ๋ณด๋ฉด EC2 ์ธ์คํด์ค ๋ฐ์น๊ฐ ์ฑ๊ณต์ ์ผ๋ก ๋ฌ๋ค๋ ๋ก๊ทธ๋ฅผ ๋ณผ์ ์๊ณ , ์ธ์คํด์ค ๊ด๋ฆฌํญ์ ๋ค์ด๊ฐ๋ฉด ๋๊ฐ๊ฐ ์์ฑ๋จ์ ๋ณผ ์์๋ค.
์ ๋ง๋ก ์์ฑ๋์๋์ง ํ์ธ์ ์ํด EC2 ์ธ์คํด์ค ๋ฉ๋ด์ ๋ค์ด๊ฐ๋ฉด ์์ ํ๊ทธ์์ ์ค์ ํ auto-group ๋ณ๋ช ์ ์ธ์คํด์ค๊ฐ ๋๊ฐ ์์ฑ๋จ์ ํ์ธ ํ ์ ์๋ค.



์ด๋ฒ์๋ ์คํ ์ค์ผ์ผ๋ง ๊ทธ๋ฃน์ด ์ํ๋ ์ธ์คํด์ค ๊ฐฏ์๋ฅผ ๋ง์ถฐ์ฃผ๋์ง ํ์ธํ๊ธฐ ์ํด, auto-group ์ธ์คํด์ค ํ๋๋ฅผ ์ผ๋ถ๋ฌ ์ข ๋ฃ์์ผ ๋ณด์.
์์๋๋ก๋ผ๋ฉด ์คํ ์ค์ผ์ผ๋ง ๊ทธ๋ฃน์ ์ค์ ์ ์ํ๋ ์ธ์คํด์ค ๊ฐฏ์๊ฐ 2๊ฐ๋ก ์ค์ ํ์์ผ๋, ๋ค์ 2๊ฐ๋ฅผ ๋ง์ถฐ์ฃผ๊ธฐ ์ํด ์ธ์คํด์ค๋ฅผ ํ๊ฐ ์ถ๊ฐ๋ก ์์ฑํด ์ ์ง์์ผ์ค ๊ฒ์ด๋ค.



4. Auto Scaling ๊ทธ๋ฃน EC2 ์ธ์คํด์ค ์ญ์
๋ง์ผ ์คํ ์ค์ผ์ผ๋ง์ผ๋ก ์๋๋๊ณ ์๋ EC2 ์ธ์คํด์ค๋ฅผ ์ญ์ ํ๊ณ ์ถ๋ค๋ฉด ์ด๋ป๊ฒ ํ ๊น?
์ด๋๊น์ง ํด์๋ฏ์ด EC2 ์ธ์คํด์ค ๋ฉ๋ด์์ ์ธ์คํฐ์ค ์ข ๋ฃ๋ฅผ ํ๋ฉด ๋ ๊น? ๊ทธ๋ ๊ฒ ํ๋ฉด ์์์ ํ๋ฏ์ด ์คํ ์ค์ผ์ผ๋ง์ผ๋ก ์ธํด ์ธ์คํด์ค๊ฐ ๋ณต๊ตฌ๊ฐ ๋์ด ๋ฒ๋ฆด ๊ฒ์ด๋ค.
๋ฐ๋ผ์ ์คํ ์ค์ผ์ผ๋ง ์ธ์คํด์ค๋ฅผ ์์ ํ ์ญ์ ํ๊ธฐ ์ํด์๋, ๊ทธ๋ฃน๋ฉ๋ด์์ ์ํ๋ ์ฉ๋, ์ต์ ์ฉ๋, ์ต๋ ์ฉ๋์ 0์ผ๋ก ์ค์ ํด์ฃผ๋ฉด ๋๋ค.



5. ์์ ํ ํ๋ฆฟ ๋ฒ์ ผ ์ ๋ฐ์ดํธํ๊ธฐ
์์ ํ ํ๋ฆฟ์ ๋ง๋ค๋ฉด ์ด๋ฏธ ์ธํ ํ ํ ํ๋ฆฟ ์ค์ ๋ค์ ์์ ํ ์๋ ์๋ค.
๋์ ์ ํ ํ๋ฆฟ์ ์๋ก ๋ง๋ค์ด์ ๋ฒ์ ผ์ ์ ๋ฐ์ดํธ ํ๋ ํ์์ผ๋ก ์์ ํ ํ๋ฆฟ ์ค์ ๋ค์ ๊ฐ์ ์ ์ผ๋ก ๋ฐ๊ฟ์ค์ ์๋ค.
์ฐ์ ์์ ํ ํ๋ฆฟ ๋งค๋์ ๋ฉ๋ด์ ๋ค์ด์์ ์์ โ ํ ํ๋ฆฟ ์์ (์ ๋ฒ์ ผ ์์ฑ)์ ๋๋ฅธ๋ค.

์ธ์คํด์ค, ์คํ ๋ฆฌ์ง, ๋คํธ์ํฌ ์ค์ ๋ฑ์ ์ํ๋ ๋๋ก ์ฌ์ธํ ํด์ค๋ค.
๊ทธ๋ฆฌ๊ณ ๋งจ ๋ฐ์ผ๋ก ๋ด๋ ค๊ฐ์ ๊ณ ๊ธ ์ธ๋ถ ์ ๋ณด๋ฅผ ํด๋ฆญํด์ค๋ค.


๊ทธ๋ฆฌ๊ณ ๋ค์๊ณผ ๊ฐ์ด ์ ๋ ฅํด์ค๋ค.
bash ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํด์ฃผ๋๋ฐ, ๊ทธ๋ฅ ์ธ์คํด์ค ์นํ์ด์ง๋ก ๋ค์ด๊ฐ๋ฉด ์ธ์คํด์ค ๊ณ ์ ID๊ฐ ํ๋ฉด์ ์ถ๋ ฅ๋๊ฒ ํ๋ ๊ฐ๋จํ ์คํฌ๋ฆฝํธ ์ด๋ค.
#!/bin/bash
INSTANCE_ID=$(curl -s http://169.254.169.254/latest/meta-data/instance-id) # ์์ ์ ์ธ์คํด์ค ID ๋ฌธ์๊ฐ์ ๋ณ์์ ์ ์ฅ
yum install httpd -y # ์ํ์น ์๋ฒ ์ค์น
echo ""$INSTANCE_ID"" >> /var/www/html/index.html # #INSTANCE_ID ๋ณ์๊ฐ์ html์ ์ด์ด์ฐ๊ธฐ
service httpd start # ์ํ์น ์์


๊ทธ๋ผ ์ด์ ์คํ ์ค์ผ์ผ๋ง ๊ทธ๋ฃน์ ์ ์ฉ๋์ด ์๋ ๊ตฌ๋ฒ์ ผ ์์ ํ ํ๋ฆฟ์ ์์์ ์๋ก ๋ง๋ ์์ ํ ํ๋ฆฟ ๋ฒ์ 2๋ก ์ ๋ฐ์ดํธ๋ฅผ ํ๋ค.



๋ง์ผ ์คํ ์ค์ผ์ผ๋ง ๊ทธ๋ฃน ์ฉ๋์ 0์ผ๋ก ํ๋ค๋ฉด ๋ค์ 2๋ก ๋ง์ถฐ์ค๋ค.

๊ทธ๋ผ ๋ค์ ์ธ์คํด์ค๊ฐ ์๊ธธ๊ฒ์ด๊ณ , ๊ฐ ํผ๋ธ๋ฆญ IP๋ก ์นํ์ด์ง๋ก ์ ์ํด๋ณด์
๊ฐ ํผ๋ธ๋ฆญ IP ์ธ์คํด์ค์ ๋ง์ถฐ ์นํ์ด์ง์ ๋์์ง ์ธ์คํด์ค ID๊ฐ ๋ํ๋ ๊ฒ์ด๋ค.



# ์ฐธ๊ณ ์๋ฃ
https://youtu.be/Mkr0PxydGSE
https://meetup.toast.com/posts/176
https://itwiki.kr/w/%EC%98%A4%ED%86%A0_%EC%8A%A4%EC%BC%80%EC%9D%BC%EB%A7%81
https://meetup.nhncloud.com/posts/176
https://docs.aws.amazon.com/ko_kr/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html
์ด ๊ธ์ด ์ข์ผ์ จ๋ค๋ฉด ๊ตฌ๋ & ์ข์์
์ฌ๋ฌ๋ถ์ ๊ตฌ๋
๊ณผ ์ข์์๋
์ ์์๊ฒ ํฐ ํ์ด ๋ฉ๋๋ค.