피드로 돌아가기
I Crashed My Mac 5 Times So You Don't Have To: Mounting S3 Files on macOS
Dev.toDev.to
Infrastructure

Kernel Panic 5번 끝에 구현한 macOS S3 Files 마운트 전략

I Crashed My Mac 5 Times So You Don't Have To: Mounting S3 Files on macOS

Vivek V.2026년 4월 10일16advanced

Context

AWS S3 Files는 S3 버킷을 파일 시스템으로 변환하는 NFS 레이어 서비스. 기본적으로 EC2, Lambda 등 AWS 컴퓨팅 환경에서만 동작하는 제약 존재. macOS 환경에서 S3 데이터를 네이티브 폴더처럼 사용하려는 기술적 요구 발생.

Technical Solution

  • macOS 내장 NFSv4.0 클라이언트와 S3 Files의 NFSv4.2 프로토콜 간 호환성 결여로 인한 Kernel Panic 문제 식별
  • Amazon Linux 기반 Docker 컨테이너를 활용하여 NFSv4.2 표준 클라이언트 환경 확보
  • S3 Files의 필수 조건인 TLS 암호화 및 IAM 인증을 처리하기 위해 efs-proxy 바이너리 도입
  • Docker와 NLB 환경에서 충돌을 일으키는 ReadBypass 최적화 옵션을 비활성화하여 프록시 크래시 루프 해결
  • NFS 마운트 지점을 WebDAV로 변환하여 Docker 컨테이너 내부의 파일 시스템을 macOS 호스트 폴더로 연결하는 브리지 구조 설계
  • VPC 내 NLB(Network Load Balancer)를 배치하여 외부 네트워크에서 S3 Files 마운트 타겟에 접근 가능한 경로 생성

Impact

  • S3 파일 크기 128KB 미만 데이터의 디렉터리 접근 시 자동 동기화 지원
  • S3 데이터의 파일 시스템 반영 주기 약 1분

Key Takeaway

  • 커널 레벨의 프로토콜 버전 불일치는 단순 설정 변경이 아닌 추상화 레이어(Container/Proxy) 도입을 통한 환경 격리로 해결 가능.

운영 환경에서는 보안을 위해 공인 NLB 대신 AWS Client VPN을 사용하여 S3 Files 접근 경로를 폐쇄망으로 구성할 것

원문 읽기