๋น์ ์ EC2๊ฐ ์ฌ๋งํ๋ ์ด์ (feat. CpuCredit)
๐ AWS EC2๋ฅผ ์ฌ์ฉํ๋ค ๋ณด๋ฉด ๊ฐ์์ค๋ฝ๊ฒ ์๋ฒ๊ฐ ๋ฉ์ถ๊ฑฐ๋ ๋๋ ค์ง๋ ๊ฒฝํ์ ํ ์ ์ด ์์ ๊ฑฐ๋ค. ํนํ ๋ํ์์ด๋ ํ๋ฆฌํฐ์ด(Free Tier)๋ฅผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์๋ผ๋ฉด T2.micro ๊ฐ์ ์ ์ฌ์ ์ธ์คํด์ค๋ฅผ ์์ฃผ ํ์ฉํ๋๋ฐ, ์ด ๊ณผ์ ์์ ์๋ฒ๊ฐ "ํ๊ธฐ๋" ํ์์ ๋ง์ฃผํ๊ธฐ ์ฝ๋ค. ์ฒ์์๋ ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ ๋๋ฌธ์ด๋ผ๊ณ ์๊ฐํ๊ธฐ ์ฝ์ง๋ง, ์ฌ์ค ์์ธ์ ๋ ๊น์ ๊ณณ์ ์จ์ด ์๋ค. ์ด๋ฒ ๊ธ์์๋ EC2๊ฐ ๊บผ์ง๊ฑฐ๋ ๋ฉ์ถ๋ ์ฃผ์ ์์ธ์ ๋ถ์ํ๊ณ , ์ด๋ฅผ ํด๊ฒฐํ ์ ์๋ ์ค์ฉ์ ์ธ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํด๋ณธ๋ค.
โ ๏ธ ๋ฌธ์ ์ ์์: "๊ฐ์๊ธฐ ์๋ฒ๊ฐ ๋ฉ์ท์ด!"
๐ป ํ๋ก์ ํธ ๋น๋ ๋์ค์ ๊ฐ์๊ธฐ ์๋ฒ๊ฐ ์๋ตํ์ง ์๊ฑฐ๋, ์ ์์ด ๋๊ธฐ๋ ์ํฉ์ ๊ฒช์ด๋ณธ ์ ์๋? ๋๋ ์ฒ์์๋ "RAM์ด ๋ถ์กฑํด์ ๊ทธ๋ฐ๊ฐ?"๋ผ๊ณ ์๊ฐํ๋ค. T2.micro๋ 1GB์ ๋ฉ๋ชจ๋ฆฌ๋ง ์ ๊ณตํ๋๊น, ํ๋ก์ ํธ๊ฐ ์กฐ๊ธ ๋ฌด๊ฑฐ์์ง๋ฉด ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํด ํ๊ธธ ์ ์๋ค๊ณ ์ฌ๊ฒผ๋ค. ํ์ง๋ง AWS๋ฅผ ๊น์ด ํ๊ณ ๋ค๋ฉด์ ์ง์ง ์์ธ์ด ๋ฐ๋ก ์๋ค๋ ๊ฑธ ๊นจ๋ซ๊ฒ ๋๋ค.
๐ ๊ฒฐ๋ก ๋ถํฐ ๋งํ์๋ฉด, EC2๊ฐ ๋ฉ์ถ๋ ๊ฐ์ฅ ํํ ์ด์ ๋ CPU ํฌ๋ ๋ง(CPU Credit)์ด ๋ชจ๋ ์์ง๋๊ณ CPU ์ฌ์ฉ๋ฅ ์ด Baseline์ ๋์ด์๊ธฐ ๋๋ฌธ์ด๋ค.
๐ง CPU ํฌ๋ ๋ง์ด๋?
EC2์ T2๋ T3 ๊ฐ์ "๋ฒ์คํธ ๊ฐ๋ฅ ์ธ์คํด์ค(Burstable Performance Instance)"์๋ CPU ํฌ๋ ๋ง์ด๋ผ๋ ๋ ํนํ ๊ฐ๋ ์ด ์๋ค. ์ฝ๊ฒ ๋งํด, CPU ํฌ๋ ๋ง์ ๊ฒ์์์ "๋ง๋" ๊ฐ์ ์กด์ฌ๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค. ์ด ๋ง๋๋ฅผ ์ ๊ด๋ฆฌํด์ผ ์๋ฒ๊ฐ ์ํํ๊ฒ ๋์๊ฐ๋ค.
- ์ฒ์ ์์ํ ๋: ์ธ์คํด์ค๋ฅผ ์์ฑํ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก 30 ํฌ๋ ๋ง์ด ์ฃผ์ด์ง๋ค.
- ์๊ฐ๋น ์ถฉ์ : T2.micro ๊ธฐ์ค์ผ๋ก ์๊ฐ๋น 6 ํฌ๋ ๋ง์ด ์์ธ๋ค.
- ์ต๋๋: ํฌ๋ ๋ง์ ์ต๋ 144๊น์ง ์ ์ฅ๋๋ฉฐ, ๊ทธ ์ด์์ ๋ฒ๋ ค์ง๋ค.
โ ํฌ๋ ๋ง์ด ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ
- CPU ์ฌ์ฉ๋ฅ ์ด Baseline(T2.micro๋ 10%)๋ณด๋ค ๋์์ง๋ฉด ํฌ๋ ๋ง์ ์๋ชจํ๋ค.
- ๋ฐ๋๋ก Baseline๋ณด๋ค ๋ฎ์ผ๋ฉด ํฌ๋ ๋ง์ด ์์ธ๋ค.
- ์ฆ, ํ์์๋ CPU๋ฅผ ์๊ปด ์ฐ๋ค๊ฐ ํ์ํ ๋ "๋ฒ์คํธ"ํด์ ์ฑ๋ฅ์ ๋์ด์ฌ๋ฆด ์ ์๋ ๊ตฌ์กฐ๋ค.
โ CPU ํฌ๋ ๋ง์ด ๋ค ๋จ์ด์ง๋ฉด?
๋ฌธ์ ๋ ํฌ๋ ๋ง์ด 0์ด ๋์์ ๋ ๋ฐ์ํ๋ค. ์ด๋ ์๋ฒ์ ๋์์ ์ธ์คํด์ค ๋ชจ๋์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ค.
๐น ์คํ ๋ค๋ ๋ชจ๋ (T2 ๊ธฐ๋ณธ ์ค์ )
- ํฌ๋ ๋ง์ด ๋ชจ๋ ์์ง๋๋ฉด CPU ์ฌ์ฉ๋ฅ ์ด Baseline ์ด์์ผ๋ก ์ฌ๋ผ๊ฐ์ง ๋ชปํ๋๋ก ์ ํ๋๋ค.
- ๊ฒฐ๊ณผ์ ์ผ๋ก ์๋ฒ๊ฐ ๋๋ ค์ง๊ฑฐ๋ ๋จนํต์ด ๋๊ณ , ์ฌํ๋ฉด ํ๊ธฐ๋ ํ์์ด ๋ฐ์ํ๋ค.
๐น ๋ฌด์ ํ ๋ชจ๋ (T3 ๊ธฐ๋ณธ ์ค์ )
- ํฌ๋ ๋ง์ด ์์ง๋์ด๋ Baseline ์ด์์ผ๋ก CPU๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
- ๋์ 24์๊ฐ ํ ํฌ๋ ๋ง ์๊ณ ๊ฐ ์์๋ฉด ์ถ๊ฐ ์ฌ์ฉ๋๋งํผ ์๊ธ์ด ์ฒญ๊ตฌ๋๋ค.
โ ๏ธ T2.micro๋ฅผ ํ๋ฆฌํฐ์ด๋ก ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ์คํ ๋ค๋ ๋ชจ๋์ด๊ธฐ ๋๋ฌธ์, ํฌ๋ ๋ง์ด ๋ฐ๋ฅ๋๋ฉด ์๋ฒ๊ฐ ๋ฉ์ถ๋ ์ผ์ด ํํ๋ค.
๐ ์ฃผ์ ์์ธ 4๊ฐ์ง
์ฌ๋ฌ ๋ธ๋ก๊ทธ๋ฅผ ์ดํด๋ณด๋ฉด์ EC2๊ฐ ๋ฉ์ถ๋ ์์ธ์ 4๊ฐ์ง๋ก ์์ถํด๋ดค๋ค.
1๏ธโฃ ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ ๐ง
- T2.nano๋ T2.micro ๊ฐ์ ์ ์ฌ์ ์ธ์คํด์ค์์ ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ์ผ๋ก ๋ฉ์ถ ์ ์๋ค.
- ํนํ ๋ฌด๊ฑฐ์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋ฆด ๋ ์์ฃผ ๋ฐ์ํ๋ค.
2๏ธโฃ ํดํน์ผ๋ก ์ธํ ๋ฆฌ์์ค ์ ์ ๐ก๏ธ
- ๋๊ตฐ๊ฐ EC2๋ฅผ ํดํนํด ๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํ๋ฉด CPU๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๊ณผ๋ถํ์ ๊ฑธ๋ฆด ์ ์๋ค.
- ๋๋ฌผ์ง๋ง ๊ณผ๊ธ ํญํ์ ๋ง์ ์ฌ๋ก๋ ์๋ค.
3๏ธโฃ CPU ํฌ๋ ๋ง ์์ง โก
- ์์ ์ค๋ช ํ ๋๋ก, ํฌ๋ ๋ง์ด ๋ชจ๋ ์์ง๋๋ฉด ์คํ ๋ค๋ ๋ชจ๋์์ ์๋ฒ๊ฐ ์ ํ์ ๋ฐ๋๋ค.
4๏ธโฃ ํ๋์จ์ด ๋ฌธ์ ๐๏ธ
- ์์ฃผ ๋๋ฌธ ๊ฒฝ์ฐ์ง๋ง, AWS์ ๊ธฐ๋ณธ ํ๋์จ์ด(CPU ํด๋ญ ์๋ ๋ฑ)์ ๋ฌธ์ ๊ฐ ์์ ์ ์๋ค.
๐ ๏ธ ํด๊ฒฐ ๋ฐฉ๋ฒ
1๏ธโฃ ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ ํด๊ฒฐ: Swap ํ์ผ ์์ฑ
๐พ ๋ฐฉ๋ฒ:
# 2GB ํฌ๊ธฐ์ ๋น ํ์ผ ์์ฑ:
dd if=/dev/zero of=/root/swapfile bs=1k count=2000000 conv=excl
# ๊ถํ ์ค์ :
chmod 600 /root/swapfile
# Swap ํ์ผ๋ก ์ค์ :
mkswap /root/swapfile
# Swap ํ์ฑํ:
swapon /root/swapfile
# ํ์ธ:
free -h # Swap์ 2GB๊ฐ ์ถ๊ฐ๋จ
๐ ์ฌ๋ถํ ์ ์๋ ์คํ: /etc/fstab์ ๋ค์ ์ค ์ถ๊ฐ:
/root/swapfile swap swap auto 0 0
์์ธํ๊ฑด ํด๋น ํฌ์คํ ์ ์ฐธ๊ณ ํ์
2025.02.22 - [AlgoMate] - AWS EC2 ์์ฑ ํ ์ค์ ๊ฐ์ด๋, SWAP๋ฉ๋ชจ๋ฆฌ ํ ๋นํ๊ธฐ
AWS EC2 ์์ฑ ํ ์ค์ ๊ฐ์ด๋, SWAP๋ฉ๋ชจ๋ฆฌ ํ ๋นํ๊ธฐ
1๏ธโฃ EC2 ์๋ฒ ์ ์ํ๊ธฐEC2 ์ธ์คํด์ค์ ์ ๊ทผํ๋ ๋ฐฉ๋ฒ์ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์์ต๋๋ค. ๋ก์ปฌ ํฐ๋ฏธ๋(PowerShell, CMD, iTerm) ๋๋ AWS ์ฝ์์ ํตํด ์ ์ํ ์ ์๋ค.$ ssh -i ubuntu@$ ssh -i /path/to/your-key.pem ubuntu@example
holoud.tistory.com
2๏ธโฃ ํดํน ์์ฌ ์ ๋์ฒ
๐ ์ฆ์ EC2๋ฅผ ์ค์งํ๊ณ , ์ธ๋ฐ์ด๋ ๊ท์น์ ์ ๊ฒํด ๋ถํ์ํ IP ์ ๊ทผ์ ์ฐจ๋จํ๋ค.
3๏ธโฃ CPU ํฌ๋ ๋ง ์์ง ํด๊ฒฐ
๐ ๊ฐ๋จํ๋ค. ์ธ์คํด์ค๋ฅผ ์ค์ง(Stop) ํ ๋ค์ ์์(Start)ํ๋ค. (์ฌ์์ ์๋!)
4๏ธโฃ ํ๋์จ์ด ๋ฌธ์ ํด๊ฒฐ
๐ ๏ธ ๊ธฐ์กด ์ธ์คํด์ค๋ฅผ ์ข ๋ฃํ๊ณ ์ ์ธ์คํด์ค๋ฅผ ์์ฑํ๋ค.
๐ ๊ฒฐ๋ก : CPU ์ฌ์ฉ๋ฅ ์ ๋ชจ๋ํฐ๋งํ์!
๐ก EC2๊ฐ ๋ฉ์ถ๋ ํ์์ ํ์ธํ๋ ค๋ฉด CPU ์ฌ์ฉ๋ฅ ๊ณผ CPU ํฌ๋ ๋ง ์๊ณ ๋ฅผ AWS CloudWatch์์ ์ฃผ๊ธฐ์ ์ผ๋ก ์ ๊ฒํ๋ ๊ฒ์ด ํต์ฌ์ด๋ค.
์ฐธ๊ณ
https://velog.io/@seungju0000/ec2-stop
https://hjjooace.tistory.com/42