AWS, Lambda 내 S3 버킷 마운트 기능 출시
- •AWS는 S3 버킷을 Lambda에서 로컬 파일 시스템으로 직접 마운트하는 S3 Files 기능을 공개했다.
- •수동 boto3 객체 관리 대신 표준 파일 경로 연산을 사용하여 개발 효율성을 높였다.
- •서버리스 코드 리뷰 시스템이 Amazon Bedrock과 에이전트를 활용해 공유 워크스페이스 환경을 구축했다.
AWS가 Lambda 함수 내에서 S3 버킷을 로컬 파일 시스템처럼 직접 마운트할 수 있는 S3 Files 기능을 도입했다. 이번 업데이트를 통해 기존에 /tmp 디렉토리에 객체를 수동으로 다운로드 및 업로드하던 복잡한 과정이 사라졌으며, 10GB 용량 제한과 과도한 보일러플레이트 코드 작성 문제를 해결했다. 이제 Python의 open()과 같은 표준 언어 라이브러리를 사용하여 로컬 파일 경로 기반의 읽기 및 쓰기 작업이 가능하다.
S3 Files는 관리형 네트워크 파일 시스템인 Amazon EFS를 기반으로 작동하며, 활성 데이터에 대해 밀리초 미만의 지연 시간을 제공하고 고성능 스토리지에 워킹 세트를 캐싱한다. 해당 기능을 사용하려면 Lambda 함수를 NAT 게이트웨이가 포함된 VPC 내에서 운영해야 하는 제약이 있지만, 이를 통해 서버리스 워크플로우에서 파일 기반의 조정을 간소화할 수 있다.
이 기능의 활용 사례로 GitHub 저장소를 분석하는 서버리스 코드 리뷰 시스템이 구축되었다. 이 구성에서는 오케스트레이터 함수가 저장소를 공유 S3 Files 워크스페이스에 복제하고, 병렬 보안 및 스타일 리뷰 에이전트들이 S3 키를 주고받을 필요 없이 동일한 데이터에 접근해 작업한다. 각 에이전트는 Strands Agents SDK와 Amazon Bedrock을 활용하여 코드를 분석하고 결과를 공유 파일 시스템에 기록한다.
구현에는 버전 관리가 설정된 S3 버킷, IAM 역할, S3 Files FileSystem, 네트워크 마운트 대상, POSIX 식별자를 정의하는 액세스 포인트 등 5가지 리소스가 필요하다. 특히 Lambda가 루트 디렉토리에 쓰기 작업을 수행할 수 있도록 액세스 포인트의 CreationPermissions를 설정해야 한다. S3 Files는 close-to-open 일관성을 따르므로 동시 쓰기 충돌을 피하기 위해 오케스트레이터를 통한 작업 순서 관리가 권장된다. VPC에 연결된 Lambda 환경에서도 파일 시스템 마운트 시 콜드 스타트 시간이 2초 미만으로 측정되어 효율적인 성능을 유지한다.