[AWS] VSCode์์ AWS EC2 ์๊ฒฉ ์ฐ๊ฒฐ / EC2 ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ ํด๊ฒฐ
ํฐ๋ฏธ๋๋ก AWS EC2์ ์ ์ํด์ ์๋ฒ ์ฝ๋๋ฅผ ์์ ํ๋ ค๋ฉด Nano๋ Vim ๋ฑ์ ์ด์ฉํด์ผ ํ๋ค. ์ต์ํ VSCode ํ๊ฒฝ์ด ์๋๊ธฐ ๋๋ฌธ์ ์คํ๊ฐ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ๋ ๋๊ณ , ์ด ์๋ํฐ๋ค์ ๊ธฐ๋ณธ ์ค์ ์ Linter๋ ์๋๊ธฐ ๋๋ฌธ์ ๋ถํธํ๋ค. VSCode ํ์ฅ ๊ธฐ๋ฅ์ ์ด์ฉํด AWS EC2์ ์๊ฒฉ ์ ์ํ ํ VSCode์์ ์ฝ๋๋ฅผ ์ง์ ์์ ํ ์ ์๋ค.
VSCode์์ EC2 ์ธ์คํด์ค SSH ์ฐ๊ฒฐ
โถ VSCode ํ์ฅ๊ธฐ๋ฅ Remote SSH ์ค์น (๋งํฌ)
โท CMD
SHIFT
P
๋ช
๋ น ์ปค๋งจ๋ → Remote-SSH: Connect to Host
→ Configure 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=์ซ์
๋ ํผ๋ฐ์ค
๊ธ ์์ ์ฌํญ์ ๋ ธ์ ํ์ด์ง์ ๊ฐ์ฅ ๋น ๋ฅด๊ฒ ๋ฐ์๋ฉ๋๋ค. ๋งํฌ๋ฅผ ์ฐธ๊ณ ํด ์ฃผ์ธ์
'๐ช Programming' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋๊ธ
์ด ๊ธ ๊ณต์ ํ๊ธฐ
-
๊ตฌ๋
ํ๊ธฐ
๊ตฌ๋ ํ๊ธฐ
-
์นด์นด์คํก
์นด์นด์คํก
-
๋ผ์ธ
๋ผ์ธ
-
ํธ์ํฐ
ํธ์ํฐ
-
Facebook
Facebook
-
์นด์นด์ค์คํ ๋ฆฌ
์นด์นด์ค์คํ ๋ฆฌ
-
๋ฐด๋
๋ฐด๋
-
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
-
Pocket
Pocket
-
Evernote
Evernote
๋ค๋ฅธ ๊ธ
-
[TS] ํ์ ์คํฌ๋ฆฝํธ ํด๋์ค(class) ๋ฌธ๋ฒ, ์ถ์ ํด๋์ค์ ๋ฉ์๋
[TS] ํ์ ์คํฌ๋ฆฝํธ ํด๋์ค(class) ๋ฌธ๋ฒ, ์ถ์ ํด๋์ค์ ๋ฉ์๋
2024.05.29 -
[DevTools] ์น์์ VSCode ์ฌ์ฉํ๊ธฐ - github.dev / github1s
[DevTools] ์น์์ VSCode ์ฌ์ฉํ๊ธฐ - github.dev / github1s
2024.05.29 -
[JS] ๋ฐ๋๋ผ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ๋ง๋ฆฌ์ค ๋ฌ๋ ๊ฒ์ ๊ตฌํํ๊ธฐ
[JS] ๋ฐ๋๋ผ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ๋ง๋ฆฌ์ค ๋ฌ๋ ๊ฒ์ ๊ตฌํํ๊ธฐ
2024.05.29 -
[HTML] select, option ํ๊ทธ ์ฃผ์ ์์ฑ๊ณผ ํน์ง
[HTML] select, option ํ๊ทธ ์ฃผ์ ์์ฑ๊ณผ ํน์ง
2024.05.29