NetDrive로 리눅스에서 Amazon S3 마운트하기

3분 읽기 provider-guide amazon-s3 linux
Steve
SteveSenior Engineer
NetDrive의 실험적 리눅스 빌드로 Amazon S3 버킷을 일반 우분투 마운트 지점으로 설정하는 방법, GitHub 설치부터 첫 연결까지.

S3에 저장된 테스트 픽스처를 읽어야 하는 CI 러너나, 패키징 전에 버킷에서 릴리스 아티팩트를 가져오는 빌드 박스는 모두 버킷이 누군가 유지보수해야 하는 커스텀 aws s3 sync 래퍼 스크립트의 대상이 아니라 평범한 디렉터리처럼 보이길 원합니다. NetDrive의 리눅스 빌드는 Windows·macOS 버전과 동일한 방식으로 S3를 마운트하지만, 실험적 릴리스로 제공되므로 프로덕션 툴링에 적용하기 전에 기대치를 명확히 해둘 필요가 있습니다.

NetDrive drive manager showing Google Drive, S3 and pCloud mounted as drive lettersMounted clouds appearing as native drives in Windows File Explorer

우분투에 S3 버킷 마운트하기

NetDrive 는 Google Drive, OneDrive, S3, SFTP, WebDAV 등을 Windows 와 macOS 에서 일반 드라이브처럼 보이게 합니다 — 동기화도, 전체 다운로드도 없이.

  • 우분투 16.04 이상에서 실행
  • Windows·macOS 빌드와 동일한 S3 연결 흐름
  • ls, cat 등 일반 경로를 기대하는 모든 도구로 파일 읽기
WindowsmacOS
리눅스용 NetDrive 다운로드 →

무료 체험. 평생 라이선스와 구독 플랜 제공.

동기화 대신 마운트를 쓰는 이유

aws s3 syncs3cmd 같은 도구는 일정에 따라 객체를 로컬 디스크로 복사하는데, 이는 로컬 복사본이 버킷과 어긋날 수 있고 동기화한 모든 것의 스토리지 비용을 중복으로 발생시킨다는 뜻입니다. NetDrive로 S3를 마운트하면 이 단계를 건너뜁니다. 마운트 지점이 버킷에 대해 읽기·쓰기를 직접 처리하므로, cat /mnt/s3-bucket/build-artifacts/latest.tar.gz를 실행하는 스크립트는 그 사이에 동기화 작업 없이도 현재 객체를 얻습니다. CI 작업과 배포 스크립트 사이의 공유 스크래치 공간으로 쓰이는 버킷이라면, 이는 “어느 복사본이 오래됐는지” 판단하는 버그 부류 전체를 없애줍니다.

NetDrive가 클라우드 스토리지 계정을 로컬 드라이브로 마운트하는 모습 — 리눅스 빌드가 마운트 지점에서 제공하는 것과 동일한 핵심 동작

우분투에 NetDrive 설치하기

NetDrive for Linux는 우분투 기본 패키지 저장소에 없으므로, 설치는 apt가 아니라 GitHub를 통해 이루어집니다.

  1. github.com/NetDrive/installer로 이동해 사용 중인 우분투 버전에 맞는 릴리스를 다운로드합니다.
  2. 해당 버전의 릴리스 노트를 따라 진행합니다 — NetDrive가 무엇이든 마운트하기 전에 드라이버 컴포넌트를 먼저 설치해야 합니다.
  3. NetDrive 패키지 자체를 설치합니다.
  4. NetDrive를 실행합니다. 첫 실행 시 드라이버 컴포넌트를 로드하며, 시스템의 권한 설정에 따라 sudo를 요청할 수 있습니다.

업데이트가 GitHub 릴리스로 배포되므로, 새 버전 확인은 apt upgrade가 자동으로 처리해주는 것이 아니라 수동 단계입니다 — 이 박스를 다루는 운영 매뉴얼에 한 줄 적어둘 가치가 있습니다.

S3 버킷 연결하기

NetDrive가 실행 중이라면:

  1. NetDrive의 Drive Manager를 열고 + Add Drive를 클릭합니다.
  2. 제공자 목록에서 Amazon S3를 선택합니다.
  3. AWS 액세스 키와 시크릿 키를 입력한 다음 대상 버킷을 선택하고, 일부 하위 집합만 마운트하려면 (선택적으로) 버킷 내 폴더 접두사를 지정합니다.
  4. 마운트 지점을 설정합니다 — /mnt/s3-bucket 같은 경로나 쓰기 권한이 있는 빈 디렉터리면 됩니다 — 그리고 연결합니다.

클라우드 드라이브 추가 및 설정을 위한 NetDrive의 Drive Manager — 리눅스 빌드가 마운트 지점에 사용하는 것과 동일한 인터페이스 개념

NetDrive의 S3 커넥터는 5GB 이상 파일의 멀티파트 업로드를 지원하므로, 마운트를 통해 대용량 빌드 아티팩트나 아카이브를 버킷으로 다시 업로드할 때도 별도 처리가 필요 없습니다.

연결한 뒤에는 GUI만 믿지 말고 터미널에서 마운트가 실제로 이루어졌는지 확인하세요 — mount | grep s3-bucket이나 마운트 지점에 대한 단순 ls면 충분합니다. 실험적 빌드에서는, 특히 스크립트가 해당 경로 존재를 전제로 동작하도록 연결하기 전이라면 이런 작은 습관이 유용합니다.

마운트 후 클라우드 드라이브가 성공적으로 연결됐는지 확인하는 모습

리눅스에서 염두에 둘 것

우분투 박스들을 이 구성으로 표준화하려 한다면, Windows·macOS 빌드와 다른 몇 가지 차이가 중요합니다.

  • 별도의 릴리스 주기: 리눅스 드라이버 컴포넌트는 자체 일정으로 유지보수되므로, Windows나 macOS에 반영된 수정 사항이 같은 주에 리눅스로 배포되는 것은 아닙니다.
  • 패키지 매니저 미통합: 배포는 GitHub 릴리스로만 이루어집니다 — 이 글을 쓰는 시점 기준으로 PPA도, Snap도 없습니다.
  • 실험적 상태: NetDrive 자체 비교 페이지는 리눅스 지원에 문자 그대로의 의미를 가진 별표를 달아둡니다. Windows와 macOS가 적극적으로 다듬어지는 대상이므로, 특정 우분투 버전과 워크로드를 테스트할 시간을 확보하고 마운트가 몇 달간 무인 상태로 버틸 거라 믿기 전에, 미션 크리티컬한 용도에는 대체 경로(예: 예약된 동기화 작업)를 준비해두세요.

그렇다고 CI 러너나 가끔 버킷에 접근하는 개발 박스에 S3를 쓰지 말라는 뜻은 아닙니다 — 오히려 그런 워크로드에는 합리적으로 맞습니다. 피해야 할 시나리오는 “테스트 없이 프로덕션 파이프라인을 여기에 거는” 경우입니다.

마무리

우분투에서 S3를 마운트하면 NetDrive가 Windows·macOS에서 제공하는 것과 동일한 드라이브 문자 방식의 버킷 접근을, apt가 아니라 GitHub에 있는 설치 프로그램을 통해 얻을 수 있습니다. 무인 작업에 의존하기 전에 실제 우분투 버전에서 테스트하세요. 더 폭넓게 검증된 플랫폼에서의 동일한 커넥터는 macOS에서 NetDrive로 Amazon S3 마운트하기를, 리눅스 전반에 대해서는 우분투 리눅스에서의 NetDrive를 참고하세요.

— Steve, NetDrive