씩씩한 개발자

AWS EFS 마운트란? 마운트 해제란? 본문

AWS

AWS EFS 마운트란? 마운트 해제란?

씩씩한 개발자 2025. 5. 30. 22:53

 

 

AWS Lambda에서 FFmpeg 사용하기 위해 EFS를 마운트하며 알게 된 것들

 

안녕하세요. 씩씩한 개발자입니다🔥

 

최근 AWS Lambda 함수에서 FFmpeg을 실행할 일이 있었는데, 빌드된 바이너리 파일의 용량이 250MB가 넘어가면서 기본 Lambda 배포 패키지 한도(250MB)를 초과하게 되었습니다.


이를 해결하기 위해 Amazon EFS (Elastic File System)를 사용했고, EC2에서 FFmpeg 바이너리를 EFS에 넣은 후, Lambda에서 이를 마운트해 사용해보았습니다.

 

 

그 해결 방법과 과정은 아래 포스팅을 참고해 주세요!!

https://strongdev.tistory.com/8

 

AWS Lambda - EFS - EC2 | ffmpeg 파일 마운트하고 람다에서 사용하기

안녕하세요. 씩씩한 개발자입니다🔥 오늘의 주제는 아래와 같습니다. Lambda 용량의 한계로 인하여 올리지 못하는 파일을 EFS와 EC2를 사용해서 올리고 Lambda에서 사용하는 방법 [배경지식1] Lambda La

strongdev.tistory.com

 

 

이번 포스팅은 이 과정에서 사용한 EFS와 마운트(Mount)의 개념에 대해서 가능한 쉽게 정리한 글입니다!

 


1. Amazon EFS란?

EFS는 AWS의 클라우드 기반 파일 스토리지(저장소)입니다.

 

우리가 USB나 외장하드를 쓰는 것처럼, 여러 서버(EC2, Lambda 등)가 동시에 접근해서 파일을 읽고 쓸 수 있는 공유 저장소입니다.

 

 

2. 마운트(Mount)란?

마운트는 쉽게 말하면 "외부 저장소(EFS)를 내 컴퓨터(서버 나 Lambda)의 폴더에 연결해서 쓰게 만드는 것" 입니다.

 

예를 들어 Lambda에서 /mnt/efs라는 경로에 Amazon EFS를 마운트를 하면,

해당 경로는   EFS와 연결된 네트워크 파일 시스템이 됩니다.

 

이 경로 안에 실행파일(예: FFmpeg 바이너리나 데이터 파일 등)을 저장해 두면,

Lambda 안에서 이를 로컬 디스크처럼 직접 접근하여 실행하거나 읽고 쓸 수 있게 됩니다.

 

즉,

  • EFS = 공유 저장소
  • 마운트 = 이 저장소를 내 경로에 연결해서 쓰는 것

마운트가 완료되면 해당 디렉토리(`/mnt/efs/...`) 안의 파일을 내부 디스크처럼 읽고 쓸 수 있습니다.


3. 마운트 해제하면 파일이 사라질까?

저는 EFS를 사용할 때, EC2에 EFS를 마운트한 후 그 안에 FFmpeg 바이너리를 저장해 두었습니다.

EC2 인스턴스를 종료하거나 EFS 마운트를 해제하면, EFS 내부 파일이 삭제되는지 궁금했지만 실제로는 그렇지 않습니다.


마운트 해제는 단순히 "연결만 끊는 것"이고, 실제 데이터는 EFS 안에 그대로 유지됩니다.

이후 동일한 EFS를 다시 마운트하면, 기존에 저장했던 파일에 정상적으로 접근할 수 있습니다.

 

삭제되는 경우는?

  • 사용자가 직접 rm 등으로 파일을 삭제한 경우
  • AWS Console 또는 API를 통해 EFS 파일 시스템 자체를 삭제한 경우

4. 마운트해제하고 EC2 인스턴스 종료해도 Lambda에서 EFS를 그대로 쓸 수 있을까?

결론부터 말씀드리면,

EC2 인스턴스를 종료하거나 EFS 마운트를 해제(언마운트)하더라도, Lambda에서는 계속 해당 EFS를 사용할 수 있습니다.

 

EFS는 EC2나 Lambda에 직접 붙어 있는 저장장치가 아니라,

AWS 클라우드 상의 독립된 네트워크 파일 시스템입니다.


즉, EC2는 단지 파일을 올리거나 읽기 위해 연결한 하나의 클라이언트일 뿐이고, EC2의 연결 여부는 EFS 자체나 Lambda 사용에 영향을 주지 않습니다.

 

✅ 예시 시나리오

  1. EC2에서 EFS 마운트
    • /mnt/efs 경로에 ffmpeg 실행 파일 업로드
  2. Lambda에서 EFS 연결
    • Lambda는 /mnt/efs/ffmpeg 경로에서 실행 파일 접근
  3. EC2 마운트 해제 + 인스턴스 종료
    • Lambda는 EFS에 여전히 연결되어 있으므로 그대로 작동함

 

 

정리

  • EFS :  여러 컴퓨팅 리소스(서버, Lambda 등) 에서 동시에 접근 가능한 클라우드 폴더 (네트워크 파일 시스템)
  • 언제쓰면 좋을까? : Lambda에서 대용량 실행 파일(예: FFmpeg)을 사용할 때 유용
  • 마운트 : 그냥 연결하는 것! 연결을 끊어도 파일은 사라지지 않고 EFS에 그대로 남아있음!
  • 세팅 방법 : EC2를 활용해 초기 세팅 후, Lambda에서 꺼내 쓰는 식으로 구성! 

이전에는 막연했던 "마운트" 개념이,

직접 AWS에서 실습해보니 훨씬 쉽게 와닿더라구요.

 

저는 FFmpeg을 사용하기 위해 EFS를 활용했지만,

앞으로도 여러 대용량 실행 파일을 Lambda에서 사용하고자 할 때 EFS는 매우 유용할 것 같아요!~!

 

 

 

 

오늘도 한 걸음 성장해서 기분 좋은 씩씩한 개발자였습니다^-^

 

반응형