๋ฐ˜์‘ํ˜•

ํ„ฐ๋ฏธ๋„๋กœ AWS EC2์— ์ ‘์†ํ•ด์„œ ์„œ๋ฒ„ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๋ ค๋ฉด Nano๋‚˜ Vim ๋“ฑ์„ ์ด์šฉํ•ด์•ผ ํ•œ๋‹ค. ์ต์ˆ™ํ•œ VSCode ํ™˜๊ฒฝ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์˜คํƒ€๊ฐ€ ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ๋„ ๋†’๊ณ , ์ด ์—๋””ํ„ฐ๋“ค์˜ ๊ธฐ๋ณธ ์„ค์ •์€ Linter๋„ ์•ˆ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ถˆํŽธํ•˜๋‹ค. VSCode ํ™•์žฅ ๊ธฐ๋Šฅ์„ ์ด์šฉํ•ด AWS EC2์— ์›๊ฒฉ ์ ‘์†ํ•œ ํ›„ VSCode์—์„œ ์ฝ”๋“œ๋ฅผ ์ง์ ‘ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

VSCode์—์„œ EC2 ์ธ์Šคํ„ด์Šค SSH ์—ฐ๊ฒฐ


โถ VSCode ํ™•์žฅ๊ธฐ๋Šฅ Remote SSH ์„ค์น˜ (๋งํฌ)  

 

โท CMD SHIFT P ๋ช…๋ น ์ปค๋งจ๋“œ → Remote-SSH: Connect to HostConfigure SSH Hosts → ์‚ฌ์šฉ์ž ์ˆ˜์ค€์˜ config ํŒŒ์ผ ํด๋ฆญ

 

โธ SSH Config ํŒŒ์ผ ์„ค์ •

# ์ž…๋ ฅ ์˜ˆ์‹œ
Host aws-ec2-seoul-private
  HostName ec2-88-888-88-888.ap-northeast-2.compute.amazonaws.com
  User ubuntu
  IdentityFile ~/Documents/cert/aws-ec2-seoul-key.pem

 

  • Host : ์ ‘์† ์ด๋ฆ„(์ž„์˜ ์ง€์ •)
  • HostName : ์ ‘์† ์ฃผ์†Œ(ํผ๋ธ”๋ฆญ IPv4 DNS)
  • User : ์‚ฌ์šฉ์ž ์ด๋ฆ„. ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉฐ ๋ณดํ†ต ubuntu๊ฐ€ ๊ธฐ๋ณธ๊ฐ’
    ๐Ÿ’ก EC2 ์ธ์Šคํ„ด์Šค → ์šฐ์ธก ์ƒ๋‹จ "์—ฐ๊ฒฐ" ๋ฒ„ํŠผ → "์‚ฌ์šฉ์ž ์ด๋ฆ„"์—์„œ ํ™•์ธ ๊ฐ€๋Šฅ
  • IdentityFile : ๋กœ์ปฌ์— ์ €์žฅํ•œ pem ํŒŒ์ผ ๊ฒฝ๋กœ
    ๐Ÿ’ก ๊ถŒํ•œ ์—๋Ÿฌ๊ฐ€ ๋‚˜์˜ค๋ฉด chmod 400 ํ‚ค์ด๋ฆ„.pem ์œผ๋กœ ์†Œ์œ ์ž ์ฝ๊ธฐ ์ „์šฉ์œผ๋กœ ๋ณ€๊ฒฝ (์ฐธ๊ณ  ๋…ธํŠธ)  

 

โน CMD SHIFT P ๋ช…๋ น ์ปค๋งจ๋“œ → Remote-SSH: Connect to Host → ๋ชฉ๋ก์—์„œ Host ์„ ํƒ ํ›„ ์—ฐ๊ฒฐ

์ขŒ์ธก ํ•˜๋‹จ ํŒŒ๋ž€์ƒ‰ "์›๊ฒฉ ์ฐฝ ์—ด๊ธฐ" ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์„œ ์—ฐ๊ฒฐํ•  ์ˆ˜๋„ ์žˆ๋‹ค

โบ ์ขŒ์ธก "ํƒ์ƒ‰๊ธฐ" ๋ฉ”๋‰ด → "ํด๋” ์—ด๊ธฐ" ๋ฒ„ํŠผ ํด๋ฆญ → ์›ํ•˜๋Š” ์›๊ฒฉ ํด๋” ์„ ํƒ ํ›„ "ํ™•์ธ"์„ ํด๋ฆญํ•˜๋ฉด ์ ‘์† ์™„๋ฃŒ

 

โป ๋ถ€๊ฐ€๊ธฐ๋Šฅ์„ ์„ค์น˜ํ•˜๋ฉด ์ƒ๊ธฐ๋Š” ์ขŒ์ธก ๋ฉ”๋‰ด์˜ "์›๊ฒฉ ํƒ์ƒ‰๊ธฐ" ๋ชฉ๋ก์— ์ ‘์†ํ–ˆ๋˜ ์›๊ฒฉ ํด๋”๊ฐ€ ์ž๋™ ์ถ”๊ฐ€๋œ๋‹ค. ๋‹ค์Œ๋ถ€ํ„ด ๋ชฉ๋ก์— ๋งˆ์šฐ์Šค ์ปค์„œ๋ฅผ ์˜ฌ๋ฆฌ๋ฉด ๋‚˜์˜ค๋Š” ํด๋” ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์„œ ๋ฐ”๋กœ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

EC2 ์ธ์Šคํ„ด์Šค ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ ํ•ด๊ฒฐ


๋ฌด๋ฃŒ EC2 ํ”„๋ฆฌํ‹ฐ์–ด๋Š” ๋ฉ”๋ชจ๋ฆฌ 1GB ์šฉ๋Ÿ‰์„ ์ œ๊ณตํ•œ๋‹ค(์ธ์Šคํ„ด์Šค ์œ ํ˜• t2.micro). ์—ฐ์Šต์šฉ์œผ๋ก  ์ฐธ ์ข‹์ง€๋งŒ VSCode ์›๊ฒฉ ์—ฐ๊ฒฐ ํ›„ ์„œ๋ฒ„ ํŒŒ์ผ์„ ์—ด๋ฉด ์–ผ๋งˆ ํ›„ ์—ฐ๊ฒฐ์ด ๋Š์–ด์ง€๋ฉด์„œ ์„œ๋ฒ„๊ฐ€ ๋‹ค์šด๋˜๋Š” ํ˜„์ƒ์„ ์ข…์ข… ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ธ์Šคํ„ด์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ถ€์กฑํ•ด์„œ ์ƒ๊ธฐ๋Š” ๋ฌธ์ œ๋‹ค.

 

VSCode๋กœ ์ธ์Šคํ„ด์Šค์— ์—ฐ๊ฒฐํ•œ ํ›„ ์„œ๋ฒ„ ํŒŒ์ผ์„ ์—ด๊ธฐ ์ „ ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ํ„ฐ๋ฏธ๋„์— ์ž…๋ ฅํ•ด ๋ณธ๋‹ค. free๋Š” ์‹œ์Šคํ…œ์˜ ๋ฉ”๋ชจ๋ฆฌ ์ƒํƒœ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๋ช…๋ น์–ด๋‹ค. -h ์˜ต์…˜์€ Gi(๊ธฐ๊ฐ€๋ฐ”์ดํŠธ), Mi(๋ฉ”๊ฐ€๋ฐ”์ดํŠธ) ๋“ฑ ์ฝ๊ธฐ ํŽธํ•œ ๋‹จ์œ„๋กœ ๋‚˜์˜ค๋Š” ์˜ต์…˜์ด๊ณ  -s๋Š” ์ž…๋ ฅํ•œ ์ˆซ์ž(์ดˆ) ๊ฐ„๊ฒฉ ๋งŒํผ ๋ฉ”๋ชจ๋ฆฌ ์ƒํƒœ๋ฅผ ๋ฐ˜๋ณตํ•ด์„œ ์ถœ๋ ฅํ•ด ์ฃผ๋Š” ์˜ต์…˜์ด๋‹ค.

free -h -s 2

 

์ด์ œ ์„œ๋ฒ„ ํŒŒ์ผ์„ ์—ด์–ด๋ณด๋ฉด ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ˜„์ €ํ•˜๊ฒŒ ์ค„์–ด๋“œ๋Š”๊ฑธ ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ 0์ด ๋˜๋Š” ์ˆœ๊ฐ„ ์„œ๋ฒ„๊ฐ€ ์ฃฝ๋Š” ๊ฒƒ์ด๋‹ค(์ด๋• EC2 ์›น์—์„œ ์ˆ˜๋™์œผ๋กœ ์žฌ๋ถ€ํŒ…ํ•ด์ค˜์•ผ ๋‹ค์‹œ ์‚ด์•„๋‚œ๋‹ค).

 

๊ฐ€์žฅ ์ข‹์€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ๋ฉ”๋ชจ๋ฆฌ ์ฆ์„ค์ด์ง€๋งŒ ๋ณ„๋„ ๋น„์šฉ์ด ๋“ ๋‹ค. ์—ฐ์Šต์šฉ ์ธ์Šคํ„ด์Šค์— ๋ˆ์„ ์“ฐ๋Š” ๊ฒŒ ์• ๋งคํ•˜๋‹ค๋ฉด SWAP ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. RAM์ด ๋ถ€์กฑํ•  ๋•Œ HDD ๊ณต๊ฐ„์„ RAM์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ์ด๋‹ค. ๋ฌผ๋ก  RAM ๋ณด๋‹จ ๋Š๋ฆฌ์ง€๋งŒ, ์„œ๋ฒ„์˜ ๊ฐ€์šฉ์„ฑ์„ ์œ ์ง€ํ•˜๊ณ  ์‹œ์Šคํ…œ ๊ณผ๋ถ€ํ•˜๋ฅผ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

์Šค์™‘ ๊ณต๊ฐ„ ๊ณ„์‚ฐ

๋จผ์ € ์Šค์™‘ ๊ณต๊ฐ„ ํฌ๊ธฐ๋ฅผ ๊ณ„์‚ฐํ•ด์•ผ ํ•œ๋‹ค. ์Šค์™‘ ๊ณต๊ฐ„์€ ์ตœ์†Œํ•œ 32MB๋ฅผ ๋„˜์–ด์•ผ ํ•œ๋‹ค. EC2 ํ”„๋ฆฌํ‹ฐ์–ด์˜ ๊ธฐ๋ณธ RAM์ด 1GB ์ด๋ฏ€๋กœ 2GB ์ •๋„์˜ ์Šค์™‘ ๊ณต๊ฐ„์ด ์ ๋‹นํ•˜๋‹ค.

 

  • ๋ฌผ๋ฆฌ RAM 2GB ์ดํ•˜ ๊ถŒ์žฅ ์Šค์™‘ ๊ณต๊ฐ„ : RAM ์šฉ๋Ÿ‰์˜ 2๋ฐฐ
  • ๋ฌผ๋ฆฌ RAM 2GB ์ดˆ๊ณผ 32GB ๋ฏธ๋งŒ ๊ถŒ์žฅ ์Šค์™‘ ๊ณต๊ฐ„ : 4GB + (RAM - 2GB)
  • ๋ฌผ๋ฆฌ RAM 32GB ์ด์ƒ ๊ถŒ์žฅ ์Šค์™‘๊ณต๊ฐ„ : RAM ์šฉ๋Ÿ‰์˜ 1๋ฐฐ

 

์Šค์™‘ ํŒŒ์ผ ์ƒ์„ฑ

โถ dd ๋ช…๋ น์–ด๋กœ swap ํŒŒ์ผ ์ƒ์„ฑ. bs๋Š” ๋ธ”๋ก ํฌ๊ธฐ๊ณ  count๋Š” ๋ธ”๋ก ์ˆ˜. 128 * 16 = 2048์ด ์Šค์™‘ ํŒŒ์ผ์˜ ํฌ๊ธฐ๊ฐ€ ๋œ๋‹ค(์ด๋Š” ๊ณง ์Šค์™‘ ๋ฉ”๋ชจ๋ฆฌ์˜ ํฌ๊ธฐ)

sudo dd if=/dev/zero of=/swapfile bs=128M count=16

 

โท ์Šค์™‘ ํŒŒ์ผ์˜ ์ฝ๊ธฐ / ์“ฐ๊ธฐ ๊ถŒํ•œ ์—…๋ฐ์ดํŠธ

sudo chmod 600 /swapfile

 

โธ Linux์˜ ์Šค์™‘ ๊ณต๊ฐ„ ์„ค์ •

sudo mkswap /swapfile

 

โน ์Šค์™‘ ๊ณต๊ฐ„์— ์Šค์™‘ ํŒŒ์ผ ์ถ”๊ฐ€ํ•˜์—ฌ, ์Šค์™‘ ํŒŒ์ผ์„ ์ฆ‰์‹œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •

sudo swapon /swapfile

 

โบ ์œ„ ์ ˆ์ฐจ๊ฐ€ ์„ฑ๊ณตํ–ˆ๋Š”์ง€ ํ™•์ธ

sudo swapon -s

 

โป /etc/fstab ํŒŒ์ผ์„ ํŽธ์ง‘ํ•˜์—ฌ ๋ถ€ํŒ… ์‹œ ์Šค์™‘ ํŒŒ์ผ์ด ํ™œ์„ฑํ™” ๋˜๋„๋ก ์„ค์ •

nano ๋“ฑ ํŽธ์ง‘๊ธฐ๋กœ fstab ํŒŒ์ผ ์—ด๊ธฐ

sudo nano /etc/fstab

 

ํŒŒ์ผ ๋์— ์•„๋ž˜ ์ฝ”๋“œ ์ถ”๊ฐ€ํ•œ ํ›„ ์ €์žฅ / ์ข…๋ฃŒ

/swapfile swap swap defaults 0 0

 

์™„๋ฃŒ ํ›„ ํ™•์ธ

์Šค์™‘ ์„ค์ •์„ ์™„๋ฃŒํ•˜๊ณ  ํ„ฐ๋ฏธ๋„์— free -h๋ฅผ ์ž…๋ ฅํ•ด๋ณด๋ฉด Swap ํ–‰์ด ์ถ”๊ฐ€๋œ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋‹ค ์“ฐ๋ฉด Swap ์˜์—ญ์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

 

 

 

์Šค์™‘ ๊ณต๊ฐ„ ๋ณ€๊ฒฝ


๐Ÿ’ก ์ด๋ฏธ ์„ค์ •ํ–ˆ๋˜ ์Šค์™‘ ๊ณต๊ฐ„์„ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์•„๋ž˜ ๋ฐฉ๋ฒ• ์‚ฌ์šฉ

 

โถ ์Šค์™‘ ๋„๊ธฐ

sudo swapoff -a

 

โท ์Šค์™‘ ๊ณต๊ฐ„ ๋ณ€๊ฒฝ

sudo dd if=/dev/zero of=/swapfile bs=128M count=๋ณ€๊ฒฝํ• ์ˆซ์ž

 

โธ ์Šค์™‘ ๊ณต๊ฐ„ ์„ค์ •

sudo mkswap /swapfile

 

โน ์Šค์™‘ ํŒŒ์ผ ์‚ฌ์šฉ

sudo swapon /swapfile

 

์™„๋ฃŒํ–ˆ๋‹ค๋ฉด df -h ๋ช…๋ น์–ด๋กœ ๋””์Šคํฌ ๊ณต๊ฐ„์ด ๋ณ€ํ–ˆ๋Š”์ง€ ํ™•์ธํ•ด ๋ณธ๋‹ค. ๋””๋ฐ”์ด์Šค ๋ณผ๋ฅจ์„ ๋‚˜ํƒ€๋‚ด๋Š” /dev/xvda1 ๋ถ€๋ถ„์„ ๋ณด๋ฉด ๋œ๋‹ค. free -h ๋ช…๋ น์–ด๋กœ ์Šค์™‘ ๋ฉ”๋ชจ๋ฆฌ๋„ ๋ณ€ํ–ˆ๋Š”์ง€(์ฆ๊ฐ€ or ๊ฐ์†Œ) ์ฒดํฌํ•ด๋ณด์ž.

 

 

 

์Šค์™‘ ํ™œ์šฉ๋„ ์กฐ์ •


์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด 0~100 ์‚ฌ์ด์˜ ์Šค์™‘ ํ™œ์šฉ๋„(swappiness) ์ˆซ์ž๊ฐ€ ๋‚˜์˜จ๋‹ค. ๊ธฐ๋ณธ๊ฐ’์€ 60์ด๋‹ค. ์ˆซ์ž๊ฐ€ ๋†’์„์ˆ˜๋ก ๋” ์ ๊ทน์ ์œผ๋กœ ์Šค์™‘์„ ์‚ฌ์šฉํ•œ๋‹ค.

cat /proc/sys/vm/swappiness # 60

 

๊ฐ’ ์„ค๋ช…
vm.swappiness = 0 ์Šค์™‘ ์‚ฌ์šฉ ์•ˆํ•จ
vm.swappiness = 1 ์Šค์™‘ ์‚ฌ์šฉ ์ตœ์†Œํ™”
vm.swappiness = 60 ๊ธฐ๋ณธ๊ฐ’
vm.swappiness = 100 ์ ๊ทน์ ์œผ๋กœ ์Šค์™‘ ์‚ฌ์šฉ

 

์Šค์•• ํ™œ์šฉ๋„(swappiness)๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ์œผ๋ฉด ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด ์ค€๋‹ค.

sudo sysctl vm.swappiness=์ˆซ์ž

 

 

๋ ˆํผ๋Ÿฐ์Šค


 

์Šค์™‘ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ Amazon EC2 ์ธ์Šคํ„ด์Šค์—์„œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์Šค์™‘ ์ŠคํŽ˜์ด์Šค๋กœ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค.

Amazon Elastic Compute Cloud(Amazon EC2) ์ธ์Šคํ„ด์Šค์—์„œ ์Šค์™‘ ํŒŒ์ผ๋กœ ์‚ฌ์šฉํ•  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜์š”?

repost.aws

 


๊ธ€ ์ˆ˜์ •์‚ฌํ•ญ์€ ๋…ธ์…˜ ํŽ˜์ด์ง€์— ๊ฐ€์žฅ ๋น ๋ฅด๊ฒŒ ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค. ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”
๋ฐ˜์‘ํ˜•