본문으로 바로가기

  

 

AWS EC2 프리티어를 사용할 경우 예상치 못한 문제에 직면할 수 있습니다. 그중 하나가 바로 배포 도중 "Killed"라는 메시지가 나타나며 설치나 배포가 중단되는 문제입니다. 이는 EC2 인스턴스의 메모리가 부족할 때 발생하는 흔한 현상입니다.

 

AWS EC2 프리티어 인스턴스는 기본적으로 메모리가 1GB로 제한되어 있습니다. 작은 프로젝트의 경우 이 정도 메모리로 충분할 수 있지만, 프로젝트의 의존성이 많거나 빌드 과정에서 많은 메모리를 필요로 할 경우 메모리 부족 문제가 발생할 수 있습니다.

 

이때 시스템은 메모리가 부족하면 프로세스를 중단시켜 "Killed" 메시지를 발생시킵니다. 저 역시 이 문제를 겪으면서 해결 방법을 찾아보았고, 메모리와 스왑 메모리를 추가해 해결할 수 있었습니다. 이 글에서는 EC2 인스턴스 배포 중 메모리 부족 문제를 해결하는 구체적인 방법을 단계별로 소개하겠습니다.

 

 

1. 볼륨 크기 확장

EC2 프리티어 인스턴스를 처음 설정할 때 기본 디스크 크기가 부족할 수 있습니다. 디스크 공간을 충분히 확보하지 못하면 프로젝트의 빌드 및 배포 과정에서 추가적인 문제가 발생할 수 있습니다. 이러한 경우, EC2 인스턴스의 볼륨 크기를 확장해 디스크 공간을 확보하는 것이 필요합니다. 볼륨 크기를 25GiB로 설정하면 충분한 공간을 확보할 수 있으며, 이는 프로젝트 배포 시 더 안정적으로 작동하게 해줍니다. 

 

[AWS] EC2 인스턴스 생성 & 연결

프로젝트를 배포하는 방법에는 여러 가지 방법들이 있습니다.먼저 대표적인 방법으론 AWS EC2를 통한 배포가 있습니다.그 외는 주로 정적인 콘텐츠를 배포할 때 사용되는AWS S3와 CloudFront, Amplify, ng

itprogramming119.tistory.com

 

 

2. 스왑 메모리 추가

스왑 메모리는 실제 RAM이 부족할 때 디스크 공간을 임시 메모리로 사용하는 방식으로, 간단한 명령어로 설정할 수 있습니다.

 

1) 2GB의 스왑 파일을 생성

sudo fallocate -l 2G /swapfile

 

2) 생성된 스왑 파일의 권한을 설정 (파일 소유자만 읽고 쓰기)

sudo chmod 600 /swapfile

 

3) 스왑 파일을 스왑 영역으로 설정

sudo mkswap /swapfile

 

4) 스왑 파일을 활성화하여 사용

sudo swapon /swapfile

 

5) 스왑 메모리 추가 확인

free -h

 

 

이렇게 하시면 대규모 프로젝트가 아닌 이상 메모리 부족으로 인해 발생하는 문제는 해결할 수 있을 겁니다. 앞으로 클라우드 인프라를 사용할 때 이와 같은 문제가 발생한다면, 메모리와 디스크 용량 관리가 얼마나 중요한지 다시 한번 상기할 수 있을 것입니다.