본문 바로가기
[Cloud]/AWS

AWS 프리티어 기본 메모리 1G -> 3G로 늘리는 법(프리티어 EC2 빌드 무한 로딩 해결, EC2 멈춤 해결)

by 황원용 2023. 1. 8.
728x90

서론

 

 프리 프로젝트 진행 중에 여기저기 들리는 곡소리.. 그 원인은 바로 프리티어 EC2 인스턴스 성능의 한계로 빌드가 진행이 안되고 무한 로딩되었다가 죽어버리는 현상 때문. AWS에서는 프리티어라는 플랜이 존재해 1년 정도 가입한 회원에게 제한된 기능을 제공해주는데 EC2의 경우 그 성능이 너무나도 좋지 않아 간단한 빌드 작업도 너무 오래 걸리고 서버가 버티지 못하여 죽어버리는 일이 비일비재하다.

 

 아니 도대체 얼마나 안 좋길래..라고 물으신다면 무려 기본 메모리 1gb... 따라서 aws를 통해 배포를 진행해보려는 나 같은 초보자들에게는 또 하나의 시련처럼 다가온다. 무한로딩 기다리다가 날리는 시간은 덤. 결국 프리 프로젝트에서 우리 팀은 파일질라를 통해 수동으로 빌드 파일을 EC2 서버에 업로드하는 방식을 써 해결했다. 그러다가 구글링을 통해 발견한 글!(⬅️ 글쓴이가 참고한 정보) 그것은 바로 aws 프리티어에서 기본 제공해주는 저장 공간 중 2gb를 가상메모리로 스와핑해 총 3gb로 기본메모리 용량을 늘리는 것!!

 

 

설명은 간단하게.

 AWS에서는 메모리의 양에 따라 스왑 메모리의 크기를 권장하고 있다.

물리적 RAM의 양이 2gb 이하일 때, 권장 스왑공간은 RAM용량의 2배.

※ 스왑 공간은 절대로 32mb 미만이 되어서는 안 된다고 한다.

 

AWS 프리티어의 사양은 기본 메모리 1gb이므로 최대 가상 메모리로 스와핑할 수 있는 용량은 2gb인 것이다.

따라서 기본메모리 1gb + 스왑된 가상 메모리 2gb = 총 3gb의 메모리로 증설이 가능하다.

 

# 스왑 파일 생성
$ sudo dd if=/dev/zero of=/swapfile bs=128M count=16
# bs는 블록 크기이며, count는 블록 수이므로 128mb x 16 = 2048mb 크기의 스왑 파일을 생성한다는 뜻이다.


# 스왑 파일에 대한 권한 변경
$ sudo chmod 600 /swapfile


# Linux 스왑 영역 설정
$ sudo mkswap /swapfile


# 스왑 파일을 즉시 사용하도록 변경
$ sudo swapon /swapfile


# 성공 확인
$ sudo swapon -s


# /etc/fstab 파일을 편집하여 부팅 시 스왑 파일을 활성화시킴
$ sudo vi /etc/fstab


# 편집 방법
# 1. i 눌러서 입력 활성화
# 2. /swapfile swap swap defaults 0 0
을 파일에 마지막 줄을 추가하여 작성후 esc 눌러 입력 비활성화시킴
# 3. :wq로 저장 후 종료


# free 입력하여 스와핑이 성공했는지 메모리 확인해보기

Mem + Swap으로 약 3gb의 메모리 공간이 생겼다.

 

 

728x90