S3 Files 도입 전, 비용/성능/공존 3가지 핵심 체크리스트 확인!
Amazon S3 Files 정식 출시로 'S3 버킷을 파일시스템처럼 사용'하는 메시지가 확산됨
비용, 성능, 공존 세 가지 영역에서 공식 문서만으로 답하기 어려운 질문들을 실측 데이터로 검증함
평균 파일 크기 32 KiB 미만 워크로드는 32배까지 과금될 수 있어 주의가 필요함
소형 파일 대량 워크로드의 32배 과금 함정
Amazon S3 Files는 파일 읽기/쓰기 작업당 최소 32 KiB 과금 정책을 적용함. 이는 1 바이트만 사용해도 32 KiB로 청구됨을 의미하며, 평균 파일 크기가 32 KiB 미만인 워크로드에서 실제 데이터 대비 최대 32배의 비용 증가를 야기할 수 있음.
실측 결과: 1 KiB 파일 100개 작성 시 총 100 KiB 데이터가 CloudWatch 상 3.125 MiB (3,276,800 bytes)로 기록됨.
권장되지 않는 워크로드: 평균 파일 크기가 32 KiB 미만이고 파일 수가 많은 경우, S3 GET 요청 비용이 추가되는 1 MiB 이상 읽기 작업과 함께 사용 시 비용 효율성이 크게 저하됨.
따라서 워크로드의 평균 파일 크기를 사전에 면밀히 분석하여 S3 Files 도입 적합성을 판단해야 함.
S3 Files와 Mountpoint for Amazon S3 동시 사용 시 충돌 위험
Amazon S3 Files와 Mountpoint for Amazon S3는 동일 버킷 내에서 함께 사용 시 충돌 가능성이 존재함. S3 Files는 데이터 미저장 정책(Zero-Retention Policy)을 따르며 모든 쓰기 작업을 S3 버킷에 기록하는 반면, Mountpoint는 캐싱 계층(Caching Layer)을 통해 성능을 향상시키기 때문임.
Source of Truth 원칙: S3 Files는 S3 버킷을 진실의 근원(Source of Truth)으로 간주하며, Mountpoint의 캐시 데이터와 충돌 시 S3 버킷의 데이터를 우선함.
권장 사항: 충돌 표면을 줄이기 위해 접두사(Prefix) 단위로 파일시스템 범위를 분리하여 마운트하는 것이 권장됨. 이를 통해 각 마운트 지점이 독립적으로 작동하도록 격리할 수 있음.
운영 방안: `lost+found` 디렉토리의 파일 수를 모니터링하고, 0 초과 시 알람 설정 및 수동 삭제 정책을 수립해야 함.
S3 Files 시스템 마운트 지원 컴퓨팅 환경의 제약
Amazon S3 Files는 ECS Fargate, Amazon ECS 관리형 인스턴스, Amazon EKS, AWS Lambda 환경에서만 시스템 마운트가 지원됨. Amazon EC2 시작 유형(Launch Type)에서는 S3 Files 볼륨 구성 작업이 실행 시 실패함.
지원 환경: 컨테이너 기반 서비스(ECS, EKS)와 서버리스 환경(Lambda)에 최적화되어 있음.
미지원 환경: EC2 인스턴스에서 직접 S3 Files 볼륨을 구성하려는 시도는 실패하므로, 해당 워크로드는 다른 스토리지 솔루션(예: Amazon EFS)을 고려해야 함.
도입 전 확인: 사용 중인 컴퓨팅 환경이 S3 Files 시스템 마운트를 지원하는지 여부를 반드시 사전 검증해야 함.
버전 관리 및 비용 관리 전략의 중요성
Amazon S3 Files는 버킷 버전 관리(Versioning) 활성화를 필수로 요구하며, 모든 쓰기 작업은 S3 버킷에 새 버전을 생성함. 이는 데이터 복원력(Data Durability)을 높이지만, 누적 비용 증가로 이어질 수 있음.
비용 관리: 이전 버전 객체에 대한 비용을 관리하기 위해 S3 객체 수명 주기 관리 정책(Object Lifecycle Management Policy)을 설계해야 함. 이를 통해 불필요한 이전 버전 데이터를 자동으로 삭제하거나 저렴한 스토리지 클래스로 이동시킬 수 있음.
데이터 삭제: 테스트 환경에서 사용한 경우, 고성능 스토리지 해제를 위해 테스트용 파일을 삭제하고 S3 Files 파일시스템을 삭제하는 절차가 필요함. `sudo rm -rf` 명령어 사용 시 데이터 복구가 불가능하므로 주의해야 함.
따라서 S3 Files 도입 시, 버전 관리로 인한 스토리지 비용 증가를 고려한 장기적인 관리 계획 수립이 필수적임.