Tencent Cloud COS를 리눅스에 마운트 — NetDrive 실험적 Ubuntu 빌드

4분 읽기 provider-guide tencent-cloud linux
Robin
RobinDeveloper Advocate
NetDrive의 실험적 Linux 빌드로 Tencent Cloud COS 버킷을 네이티브 Ubuntu 마운트 지점에 마운트합니다. SecretId 설정, 엔드포인트, 확인 방법을 다룹니다.

한 숏폼 영상 플랫폼의 트랜스코딩 파이프라인은 Tencent Cloud Object Storage(COS)에서 원본 업로드 파일을 직접 읽어야 하는 Ubuntu 워커 여러 대로 운영된다. 워커 스크립트마다 SDK를 심을 필요 없이, ffmpeg 작업이 그냥 열 수 있는 경로 하나면 충분하다. 큐가 하루에 수천 개의 클립을 처리하게 되면 작업마다 소스 파일을 미리 복사해 두는 방식은 디스크와 시간을 낭비한다. NetDrive의 Linux 빌드는 COS 버킷을 일반 Ubuntu 마운트 지점에 마운트하므로, 워커의 파일 읽기가 버킷에 직접 도달한다. 이는 NetDrive가 Windows와 macOS 사용자에게 드라이브 문자로 제공하는 것과 동일한 방식이다.

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

Tencent Cloud COS를 리눅스에 마운트

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

  • COS 버킷이 일반 Ubuntu 마운트 지점으로 나타남
  • 파일이 필요할 때 스트리밍됨 — 작업 시작 전 버킷 전체를 내려받을 필요 없음
  • 동일한 서버에서 S3, Alibaba Cloud 등 20개 이상의 제공업체와 함께 실행
WindowsmacOS
리눅스용 NetDrive 다운로드 →

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

NetDrive Linux 빌드의 Tencent Cloud 지원

NetDrive는 버전 3.17.799(2022년 11월)에서 Tencent Cloud 지원을 추가했으며, 같은 릴리스에서 Alibaba Cloud도 추가되었다. Windows와 macOS에서는 이 지원이 프로덕션 등급으로 취급되지만, Linux에서는 특정 제공업체가 아니라 Linux 빌드 전체에 적용되는 실험적(experimental) 표시가 붙는다. 현재 모든 데스크톱 플랫폼에서 NetDrive의 최신 릴리스는 3.19.7이다.

NetDrive for Linux는 apt나 배포판 패키지 관리자로 배포되지 않는다. github.com/NetDrive/installer의 GitHub 릴리스로 제공되며, 최소 지원 버전은 Ubuntu 16.04다.

Ubuntu에 NetDrive 설치하기

  1. github.com/NetDrive/installer로 이동해 사용 중인 Ubuntu 버전에 맞는 릴리스를 다운로드한다.
  2. 동봉된 릴리스 노트를 따라 NetDrive가 마운트를 수행하기 전에 필요한 드라이버 컴포넌트를 설치한다 — 이 과정에서 sudo를 요구할 수 있다.
  3. NetDrive 패키지를 설치한다.
  4. 터미널이나 데스크톱 환경의 애플리케이션 메뉴에서 NetDrive를 실행한다.

Linux 빌드는 Windows 및 macOS 업데이트와 별도의 자체 릴리스 일정으로 배포된다. 한 플랫폼에서 이번 주에 적용된 수정 사항이 같은 주에 Linux 빌드에도 반영된다는 보장은 없다. 무인 워커 노드가 NetDrive의 특정 동작에 의존한다면 알아두어야 할 점이다.

Tencent COS 인증 정보 수집하기

NetDrive를 열기 전에 Tencent Cloud 콘솔에서 다음 정보를 모두 수집한다.

  • SecretId와 SecretKeyCAM → API Keys(console.cloud.tencent.com/cam/capi)에서 확인.
  • 버킷 이름<BucketName>-<AppId> 형식으로 표시되며, 예를 들면 raw-uploads-1250000001.
  • 리전과 엔드포인트ap-guangzhou와 같은 형태이며, 이에 대응하는 엔드포인트는 cos.ap-guangzhou.myqcloud.com.

단계별 안내: Ubuntu에서 Tencent Cloud 연결하기

  1. NetDrive의 Drive Manager를 연다 그리고 + Add Drive를 클릭한다.
  2. 연결 유형 목록에서 Select Tencent Cloud를 선택한다.
  3. SecretId와 SecretKey, 엔드포인트(cos.<region>.myqcloud.com), AppId 접미사를 포함한 전체 버킷 이름을 입력한다.
  4. 마운트 지점을 설정한다/mnt/cos-uploads 같은 경로나, 사용자 계정이 쓰기 가능한 빈 디렉터리라면 어디든 좋다.
  5. Connect를 클릭한다. NetDrive가 Tencent COS에 인증하고 해당 경로에 버킷을 마운트한다.

NetDrive mounting a cloud storage account as a local drive — the same interaction the Linux build provides at a mount point

의존하기 전에 마운트 확인하기

특히 실험적 빌드에서는 파일 관리자만 믿지 말고 터미널에서 마운트를 확인한다.

# Confirm the mount is listed
mount | grep cos

# Or just try listing it
ls /mnt/cos-uploads

Confirming that a cloud drive connected successfully after mounting on the NetDrive Linux build

Connect 이후에도 마운트 지점이 비어 있는 경우 — 디렉터리가 존재하고 NetDrive를 실행하는 사용자가 쓰기 권한을 가지고 있는지 확인한다. 쓰기 불가능하거나 존재하지 않는 마운트 지점은 Linux에서 조용히 실패하는 가장 흔한 원인이다.

첫 시도에서 인증이 실패하는 경우 — 버킷 이름에 AppId 접미사가 포함되어 있는지(raw-uploads가 아니라 raw-uploads-1250000001), 그리고 엔드포인트의 리전이 콘솔에 표시된 버킷의 실제 리전과 일치하는지 다시 확인한다. SecretId와 SecretKey가 올바른데도 연결이 거부되는 가장 흔한 원인은 리전 엔드포인트 불일치다.

객체 수가 많은 버킷은 처음 조회할 때 목록 표시가 느린 경우 — Linux 빌드는 Windows 및 macOS와 동일한 방식으로 디렉터리 목록을 스트리밍하므로, 수만 개의 객체가 있는 버킷은 처음 열람할 때 표시되는 데 다소 시간이 걸린다.

쓰기가 많은 작업을 위한 백그라운드 업로드

각 작업 후 처리된 결과물을 버킷에 다시 써야 하는 트랜스코딩 파이프라인의 경우, NetDrive는 해당 쓰기 작업을 트리거한 프로세스를 차단하지 않고 백그라운드 큐에 넣는다.

Background upload queue showing file transfer progress to a mounted cloud drive

이는 워커 스크립트가 출력 파일을 넘긴 직후 업로드 완료를 기다리지 않고 즉시 큐의 다음 항목으로 넘어가야 할 때 중요하다.

Linux 빌드에서 고려해야 할 사항

  • 별도의 릴리스 주기 — Linux 드라이버는 Windows 및 macOS와 무관하게 자체 일정으로 배포된다.
  • 패키지 관리자 미지원 — 설치와 업데이트는 apt가 아니라 GitHub 릴리스를 통해 이루어진다.
  • Windows와 macOS가 더 검증된 대상으로 남아 있음 — 실험적 표시를 감안하면, 무인 프로덕션 워커 플릿을 Linux에서 운영하려면 자체 하드웨어에서 먼저 충분히 테스트해야 한다.

마무리

Ubuntu에서 Tencent Cloud COS를 마운트하면 Linux 워커 플릿도 NetDrive가 Windows와 macOS에서 제공하는 것과 동일한 드라이브 방식 접근을, apt 대신 GitHub로 배포되는 설치 프로그램을 통해 얻게 된다. 더 많이 검증된 플랫폼에서 동일한 제공업체를 다루는 내용은 Mount Tencent Cloud on Windows with NetDrive를 참고하고, 더 넓은 Linux 전반의 내용은 NetDrive on Ubuntu Linux를, 동일한 Linux 빌드에서 다른 지역 특화 제공업체를 다루는 내용은 Mount Alibaba Cloud on Linux with NetDrive를 참고하라.

— Robin, NetDrive