AWS Lambda로 이미지 리사이징 자동화!
by DD
3년 전
조회수 16
기존 서버 기반 이미지 리사이징 방식의 서버 부하, 속도, 요금 문제를 해결하고자 함
AWS Lambda와 S3를 연동하여 이미지 업로드 시 자동 리사이징 기능 구현
Lambda Layer를 활용, Sharp 라이브러리 설치 및 배포 효율성 확보
S3 트리거 기반 Lambda 함수 아키텍처
S3 버킷에 이미지 업로드 시 Lambda 함수가 트리거되어 실행된다. 구체적으로 S3 이벤트를 감지하여 이미지 리사이징을 수행한다. 따라서 AWS SDK를 사용하여 S3 객체를 읽고, Sharp 라이브러리로 리사이징 후 다시 S3에 저장하는 구조이다.
무한 업로드 문제와 해결
동일한 S3 버킷 내에서 무한 업로드 문제가 발생할 수 있다. Lambda 함수가 리사이징된 이미지를 다시 S3에 업로드하면서, 트리거가 다시 실행되기 때문이다. Prefix 설정을 통해 폴더 분리하여 문제를 해결하고, 데이터 무결성을 확보했다.
Lambda Layer를 활용한 배포 최적화
Lambda 함수에 필요한 Sharp 라이브러리를 Layer로 관리하여 배포 효율성을 높였다. 따라서 코드 변경 시 Layer 업데이트만으로 빠르게 배포할 수 있다. Node.js 환경에서 Layer 구조를 유지하여 의존성 관리를 용이하게 했다.