리눅스에서 Azure Blob Storage 마운트하기 — Ubuntu용 NetDrive

3분 읽기 provider-guide azure linux
Casey
CaseyProduct Manager
NetDrive의 실험적 Ubuntu 빌드로 Azure Blob Storage 컨테이너를 리눅스 마운트 지점으로 연결합니다 — 설정, 인증, 확인 절차를 다룹니다.

한 데이터 엔지니어링 팀은 매일 밤 리포팅 파일을 Azure Blob Storage 컨테이너로 내보내는데, 이 파일을 재처리하는 Ubuntu 서버가 파일 하나 읽자고 모든 스크립트에 Azure SDK를 끼워 넣을 필요는 없습니다. 이 팀에는 이미 cp, find, 그리고 로컬 경로에서 잘 동작하는 여러 셸 파이프라인이 있습니다. NetDrive의 Linux 빌드는 컨테이너를 그런 로컬 경로 중 하나로 마운트해주므로, 기존 스크립트를 그대로 계속 쓸 수 있습니다.

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

Ubuntu에서 Azure Blob Storage 마운트하기

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

  • NetDrive 실험적 Ubuntu 빌드에서 동작
  • 기존 셸 스크립트가 일반 마운트 지점을 통해 읽고 씀
  • 백그라운드 업로드로 대용량 파일이 호출 프로세스를 막지 않음
WindowsmacOS
Linux용 NetDrive 다운로드 →

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

Blob API로 직접 스크립트를 짜는 대신 마운트해야 하는 이유

Azure Blob Storage와 직접 통신하려면 Azure SDK나 az storage blob CLI 명령을 끌어와야 하고, SAS 토큰 만료를 처리하고, 작업마다 쓰는 언어에 맞춰 재시도 로직을 따로 작성해야 합니다. 스크립트 하나라면 감당할 만하지만, 십여 개의 cron 작업과 CI 단계가 각자 같은 배관을 복제하기 시작하면 부담이 쌓입니다. 컨테이너를 마운트하면 이 계층 자체가 사라집니다 — 이미 로컬 경로를 읽고 쓰는 것이라면 무엇이든 같은 방식으로 마운트 지점을 다룰 수 있습니다.

NetDrive는 버전 3.11.204(2020-07-22)에서 Azure Blob Storage 지원을 추가했으며, 같은 릴리스에서 Azure File Storage도 함께 추가되었습니다. Linux에서는 이 연결 유형이 더 많은 테스트를 거친 Windows·macOS 릴리스가 아니라 NetDrive의 실험적 Ubuntu 빌드에서 동작합니다 — 프로덕션 파이프라인을 여기에 연결하기 전에 알아둘 만한 부분으로, Linux는 NetDrive 자체 비교 페이지에서도 “실험적”이라는 표시가 붙어 있습니다.

Azure Blob Storage provider logo — NetDrive supports Azure Blob Storage on Windows, macOS, and Linux

Azure 포털에서 준비할 것

NetDrive를 열기 전에 다음 세 가지 값을 모아두세요.

  • 스토리지 계정 이름 — Azure 포털에서 해당 스토리지 계정 리소스의 개요 페이지에 있습니다.
  • 컨테이너 이름 — 마운트할 특정 Blob 컨테이너로, 예를 들면 nightly-exports 같은 이름입니다.
  • 인증 자격 증명 — 기본 계정 키(Azure 포털 → 스토리지 계정 → Security + networkingAccess keys) 또는 컨테이너 범위로 발급한 공유 액세스 서명(SAS) 토큰 중 하나입니다. 자격 증명 순환 정책에 맞춰 만료를 설정한 SAS 토큰이 무인 서버에는 더 안전한 선택입니다.

또한 Ubuntu 16.04 이상이 필요하며, 서버 방화벽에서 Azure Storage 엔드포인트로 나가는 아웃바운드 접속이 열려 있어야 합니다.

Ubuntu에 NetDrive 설치하기

NetDrive for Linux는 Ubuntu 기본 저장소에 없으므로, 설치는 apt가 아니라 GitHub를 통해 진행합니다.

  1. github.com/NetDrive/installer로 이동해 사용 중인 Ubuntu 버전에 맞는 릴리스를 다운로드합니다.
  2. 설치 전에 해당 릴리스의 노트를 확인하세요 — 드라이버 컴포넌트를 먼저 로드해야 연결이 마운트됩니다.
  3. 패키지를 설치한 다음 드라이버가 로드되도록 NetDrive를 한 번 실행합니다. 서버 설정에 따라 이 단계에서 sudo를 요구할 수 있습니다.

단계별 안내: Azure Blob 컨테이너 연결하기

  1. NetDrive의 Drive Manager를 열고 + Add Drive를 클릭합니다.
  2. 제공자 목록에서 Azure Blob Storage를 선택합니다.

NetDrive Drive Manager showing multiple cloud connections available to add

  1. Azure 포털에서 모아둔 계정 이름컨테이너를 입력합니다.
  2. 인증 필드에 계정 키 또는 SAS 토큰을 붙여넣습니다.
  3. /mnt/azure-exports와 같이 마운트 지점을 설정하고 Connect를 클릭합니다.

작업이 의존하기 전에 마운트를 확인하기

무인 작업을 연결하기 전에 마운트가 실제로 이루어졌는지 확인하세요.

# Confirm the mount is listed
mount | grep azure-exports

# Or just list it
ls /mnt/azure-exports

Confirming that a connected drive mounted successfully after setup

디렉터리가 비어 있거나 마운트가 아예 나타나지 않는다면, 자격 증명이 잘못됐다고 단정하기 전에 서버 방화벽이 Azure Storage 엔드포인트로 나가는 트래픽을 허용하는지부터 확인하세요 — 잠긴 빌드 서버에서는 잘못된 SAS 토큰보다 막힌 포트가 문제인 경우가 더 흔합니다.

Checking that a network port is reachable when troubleshooting a failed connection

Linux 빌드에서 염두에 둘 것

  • 별도의 릴리스 주기. Windows나 macOS용으로 나온 수정 사항이 같은 주에 Linux 빌드에 자동으로 반영되지는 않습니다.
  • apt 통합이 없습니다. 업데이트는 패키지 관리자가 아니라 GitHub 릴리스로 제공되므로, 새 버전 추적은 수동 작업입니다.
  • Windows와 macOS가 더 깊은 테스트를 받습니다. Azure Blob Storage에서 읽어오는 야간 내보내기 작업 정도는 Linux 빌드로 처리하기에 합리적이지만, 무인 프로덕션 파이프라인 뒤에 두기 전에는 충분히 테스트하세요.

마무리

Ubuntu에서 Azure Blob Storage 컨테이너를 마운트하면 Azure SDK를 중심으로 스크립트를 다시 짤 필요 없이 NetDrive가 Windows·macOS에서 제공하는 것과 같은 드라이브 방식의 접근을 Linux 서버에서도 누릴 수 있습니다. 같은 제공자를 더 많이 테스트된 플랫폼에서 쓰는 방법은 Mount Azure Blob Storage on Windows 또는 Mount Azure Blob Storage on macOS를 참고하고, Linux 전반에 대해서는 NetDrive on Ubuntu Linux를 참고하세요.

— Casey, NetDrive