AWS

[AWS] Mountpoint for S3 - S3를 파일 시스템처럼 사용하기

비번변경 2024. 3. 22. 21:32

개요

AWS S3는 파일 스토리지가 아니라 객체 스토리지다. S3 버킷과 버킷에 저장된 객체를 다룰 때는 주로 API를 사용한다.

하지만 S3를 파일 시스템처럼 사용하고 싶어 하는 사용자가 많았는지(기존에는 서드파티인 s3fs를 이용해 mount하는 방법을 사용한 것으로 보인다.) 2023년에 AWS에서 Mountpoint for S3라는 기능을 출시했다.

이번 글에서는 Mountpoint for S3 기능을 살펴본다.

 

 

Mountpoint for Amazon S3

Mountpoint for S3는 S3 버킷을 로컬 파일 시스템에 마운트 하는 오픈 소스 파일 클라이언트다. 파일 읽기, 열기 등과 같은 파일 시스템 작업을 자동으로 S3 API 호출로 변환하여 애플리케이션이 파일 인터페이스를 통해 S3를 다룰 수 있도록 한다.

Mountpoint for Amazon S3는 기본적인 파일 시스템 작업을 지원하고 최대 5TB 크기 파일을 읽을 수 있다. 다만 기존 파일 편집, 디렉터리 삭제, 심볼릭 링크 등과 같은 기능은 지원하지 않는다. 또한 Linux에서만 사용할 수 있으며, Glaicer, Intelligent-Tiering Archive Access Tier, S3 Intelligent-Tiering Deep Archive Access Tier 스토리지 클래스는 접근할 수 없다.

 

 

설치

AWS EC2 Ubuntu 20.04 LTS arm64에서 S3 버킷을 마운트해본다. S3 버킷에 접근하기 위해 필요한 권한은 이미 준비되어 있다고 가정한다.

문서 : https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/mountpoint-installation.html

 

1. 파일 다운로드

AWS 공식 문서를 참고하여 사용하는 OS와 아키텍쳐에 맞는 파일을 다운로드한다. 이 글은 ARM64 아키텍처라 아래의 명령어를 실행했다.

wget https://s3.amazonaws.com/mountpoint-s3-release/latest/arm64/mount-s3.deb

 

만약 x86_64라면 아래 명령어를 수행한다.

wget https://s3.amazonaws.com/mountpoint-s3-release/latest/x86_64/mount-s3.deb

 

2. 패키지 설치

다운로드한 패키지를 설치한다. 설치 시에는 sudo 권한이 필요하다.

sudo apt-get install ./mount-s3.deb

 

3. 설치 확인

mount-s3 명령어가 정상적으로 설치되었는지 확인한다.

mount-s3 --version

 

 

버킷 마운트

NAS를 마운트하듯이 S3 버킷도 마운트 해본다.

 

1. 마운트 포인트 생성

원하는 위치에 마운트 포인트를 생성하고 디렉터리 권한을 적절하게 부여한다.

이 글에서는 /mnt 디렉터리 밑에 생성했다.

mkdir /path/mount/point

# 예시
mkdir /mnt/test-bucket

 

2. S3 버킷 마운트

test-bucket이라는 S3 버킷을 생성한 마운트 포인트에 마운트 한다.

mount-s3 [OPTIONS] <BUCKET_NAME> /path/mount/point

# 예시
mount-s3 test-bucket /mnt/test-bucket

 

3. 접근 확인

마운트 포인트에서 정상적으로 s3 버킷에 접근할 수 있는지 확인한다.

 

 

버킷 마운트 해제

마운트를 해제할 때에는 umount 명령어를 사용한다.

umount /path/mount/point

# 예시
umount /mnt/test-bucket

 

 

참고 문서

https://aws.amazon.com/ko/blogs/korea/mountpoint-for-amazon-s3-generally-available-and-ready-for-production-workloads/

https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/mountpoint-installation.html

https://aws.amazon.com/ko/about-aws/whats-new/2023/03/mountpoint-amazon-s3/

https://www.joinc.co.kr/w/s3_mountpoint

https://github.com/awslabs/mountpoint-s3/