Mountpoint for Amazon S3에 대하여 알아보자
안녕하세요 클래스메소드의 이수재입니다.
리눅스 환경에서 어플리케이션을 운영할 때 S3 버킷을 로컬의 파일 시스템으로 마운트하고 싶은 상황이 있습니다.
이런 상황을 위해서 필요한 기능이 Mountpoint for Amazon S3 입니다.
이 글에서는 이게 어떤 기능인지 그리고 어떻게 사용하면 되는지 알아보겠습니다.
어떤 서비스?
Mountpoint for Amazon S3는 Amazon S3 버킷을 로컬 파일 시스템에 마운트하는 데 사용되는 높은 처리량 성능의 오픈 소스 파일 클라이언트입니다. Mountpoint를 사용하면 애플리케이션에서 열기 및 읽기와 같은 파일 시스템 작업을 통해 Amazon S3에 저장된 객체에 액세스할 수 있습니다.
Amazon S3 버킷을 로컬 파일 시스템처럼 마운트하여 파일 작업(열기, 읽기 등)을 통해 S3 객체에 접근할 수 있게 해주는 오픈소스 파일 클라이언트입니다.
로컬 파일 시스템 API 호출을 S3 객체 API 호출(GET, PUT 등)로 변환하여 높은 처리량과 확장성을 제공합니다.
특징
장점
대규모 읽기 중심 워크로드(데이터 레이크, ML, 분석)에 최적화된 높은 처리량을 가지고 있습니다. [1]
S3의 확장성을 활용하기 때문에 다른 파일 시스템보다 대용량 데이터 처리를 효율적으로 처리할 수 있는 확장성도 있습니다.
다른 파일 시스템과 비교하여 S3의 스토리지의 비용이 저렴하다는 장점도 있습니다.
이러한 장점을 활용하여 주로 대규모 읽기 중심 워크로드(데이터 레이크, 기계 학습, 이미지 렌더링 등)에 최적화하여 사용할 수 있습니다.
이 외에 오픈 소스와 같이 기능의 코드나 문의 등을 github에서 대응하고 있다는 점도 사용자에 따라서는 장점이라고 볼 수 있을 것 같습니다.
고려할 점
공식 문서에도 나와있듯 파일 수정, 삭제, 심볼릭 링크, 파일 잠금 등은 지원하고 있지 않습니다.
또한 POSIX 기능을 완전히 지원하지 않기 때문에 환경에 따라 사용하기에는 부적절할 수 있으며 대응하는 OS는 Linux 계열 뿐입니다.
쓰기 방식도 순차 쓰기만 지원하고 있습니다.
비용
기능을 사용하는데 있어서 비용은 발생하지 않습니다.
따라서 S3 자체의 비용[2]만 발생합니다.
사용해보기
리눅스 OS에 따라 다운로드 및 사용 방법이 조금 다릅니다.
이 글에선 Amazon Linux를 사용하기 때문에 RPM 기반 배포판을 참고합니다.
다른 방법은 공식 문서를 참고해주세요.
기능을 사용하기 위해서는 S3 버킷에 접근할 수 있는 IAM 유저 혹은 역할과 같은 자격 증명이 필요합니다.
이 글에서는 자격 증명에 관한 내용이 생략되어 있습니다.
따라서 S3에 액세스하기 위한 권한(put/get object, list bucket 등)은 별도로 설정이 필요합니다.
인스톨
우선 아래 커맨드로 패키지를 다운로드합니다.
https://s3.amazonaws.com/mountpoint-s3-release/latest/x86_64/mount-s3.rpm
다운로드 완료 후 패키지를 설치합니다.
sudo yum install ./mount-s3.rpm
설치 후 다음 커맨드를 실행하여 문제없이 설치되었는지 확인합니다.
mount-s3 --version
문제 없이 설치되었다면 다음과 같이 출력됩니다. [3]
$ mount-s3 --version
mount-s3 1.19.0
사용하기
디렉토리에 버킷을 마운트하는 방법은 다음과 같습니다.
# mount-s3 {마운트 할 버킷} {디렉토리}
$ mount-s3 test-mpoint-bucket-sujae ./test
bucket test-mpoint-bucket-sujae is mounted at ./test
서버가 시작될 때 자동으로 마운트 할 필요가 있다면 fatab
과 같은 마운트를 관리하는 시스템 파일에 내용을 추가합니다.
# s3:{마운트 할 S3 버킷}/{프리픽스} {마운트 대상 디렉토리} {필요 옵션}
s3://test-mpoint-bucket-sujae/ ~/test _netdev,nosuid,nodev,nofail,rw 0 0
필요 옵션 부분은 다음 공식 문서를 참고해주세요.
마운트 설정이 문제없고 s3 자격 증명도 문제가 없다면 일반적인 파일 시스템과 같이 디렉토리에 파일을 생성하거나 수정할 때 버킷에서도 확인할 수 있습니다.
# 아래 커맨드 실행 후
$ touch ./test/test.txt
# S3에서도 오브젝트 확인 가능
$ aws s3 ls test-mpoint-bucket-sujae
2025-07-27 11:57:41 0 test.txt
마무리
글에 소개한 내용 이외에 캐시 설정도 가능하니 필요하다면 다음 문서를 참고해주세요.
긴 글 읽어주셔서 감사합니다.
오탈자 및 내용 피드백은 must01940 지메일로 보내주시면 감사합니다.
참고 자료
- Mountpoint for Amazon S3 정식 출시 – 오픈 소스 기반 파일 시스템 클라이언트
(공식 블로그) - 공식 문서
- [AWS] Mountpoint for S3 - 구성 설정(passwd)
문의 사항은 클래스메소드코리아로!
클래스메소드코리아에서는 다양한 세미나 및 이벤트를 진행하고 있습니다.
진행중인 이벤트에 대해 아래 페이지를 참고해주세요.
AWS에 대한 상담 및 클래스메소드 멤버스에 관한 문의사항은 아래 메일로 연락주시면 감사드립니다!
Info@classmethod.kr