AWS EC2를 프리티어로 사용하면 RAM 메모리가 1GB밖에 되지 않는다
이러면 해당 메모리에 docker나 nginx, spring Boot 빌드만 해도 터진다
이럴땐 EBS(SSD)에스왑파일을 생성해 가상 메모리를 만들어 저장 공간을 늘릴 수 있다
AWS에서 제공하는 네트워크 기반의 스토리지
AWS에서 제공하는 OS 입장에서 보면 하나의 블록 디바이스(디스크)처럼 보이기 때문에,
우리가 직접 Swap 용도로 사용할 "임의의 4GB 파일"을 만들 수 있다.
OS는 실제 RAM (1GB) 사용 → RAM이 부족하면 Swap(SSD/EBS) 사용
: free -h
명령어를 실행하면 RAM + Swap을 합쳐서 총 가용 메모리처럼 표시됨.
sudo dd if=/dev/zero of=/swapfile bs=128M count=32
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon -s
echo "/swapfile swap swap defaults 0 0" >> /etc/fstab
→ 테라폼으로 작성해두면 일일히 EC2에 해당 내용 작성해서 적용시키지 않아도 된다!
locals {
ec2_user_data_base = <<-END_OF_FILE
#!/bin/bash
yum install docker -y
systemctl enable docker
systemctl start docker
yum install git -y
sudo dd if=/dev/zero of=/swapfile bs=128M count=32
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo sh -c 'echo "/swapfile swap swap defaults 0 0" >> /etc/fstab'
END_OF_FILE
}
cat <<-EOF
Hello
World!
EOF
<<-
: 들여쓰기 자동 제거