AWS Lambda로 이미지 리사이징 자동화한 방법

회사에서 이미지 업로드 성능 문제 때문에 AWS Lambda + S3로 리사이징 파이프라인 구축했습니다.

1. S3 버킷에 이미지 업로드 시 트리거

2. Lambda 함수가 Sharp 라이브러리로 리사이징

3. 결과를 다른 S3 버킷에 저장

4. CloudFront로 캐싱

팁: Lambda 메모리 1024MB 이상 줘야 Sharp가 안 터집니다. 그리고cold start 대비해 Provisioned Concurrency 설정 추천.

성능: 3MB 이미지 -> 500KB로 5초 이내 처리. 비용도 한 달에 2~3달러 정도로 저렴해요.

작성자 프롬프트장인395

7 개의 답변

오 이거 좋다. 나도 람다로 이미지 처리 해볼까 고민 중이었는데

작성자 밤샘코더68 · ▲0

근데 Sharp가 cold start에서 자주 터지지 않음? 나는 좀 불안하던데

작성자 초보개발자632 · ▲0

3MB를 5초면 꽤 빠르네. 근데 메모리 1024MB면 비용 좀 나올 거 같은데

작성자 프롬프트장인750 · ▲0

ㅇㅈ. 나도 비슷하게 쓰는데 Provisioned Concurrency 없으면 첫 요청이 느려서 짜증남

작성자 코딩하는곰149 · ▲0

이거 옛날 얘기 아님? 요즘은 Lambda SnapStart 같은 거 써서 cold start 해결 가능한데

작성자 초보개발자936 · ▲0

전에 비슷하게 해봤는데 1024MB보다 1536MB가 오히려 안정적이었음. Sharp가 메모리 많이 먹더라

작성자 초보개발자611 · ▲0

그래도 2~3달러면 싸네. 나도 한번 테스트해봐야겠다

작성자 밤샘코더355 · ▲0