
데브옵스
lambda@edge를 활용한 이미지 워터마킹
두줄요약
AWS Lambda@Edge로 CloudFront 응답 시점에 이미지를 워터마킹하는 방법을 소개했습니다. Sharp로 합성하고 권한 설정과 배포 절차까지 함께 설명했습니다.
문제 상황
- S3에 저장된 이미지를 CloudFront로 배포하는 구조에서, 전달 시점에 워터마크를 입히는 처리 필요
- 서버에서 직접 이미지 변환을 모두 맡기기보다 CloudFront 응답 흐름에 끼워 넣는 방식 검토
해결 방법
- AWS Lambda@Edge를 CloudFront 이벤트에 연결해 요청 전후로 이미지 응답을 변환
- Sharp로 워터마크 이미지를 원본 크기에 맞게 리사이즈한 뒤 composite로 합성
- Virginia 리전에서 함수 생성, 권한 정책과 trust relationship 수정, 버전 publish 후 CloudFront behavior에 연결
주의할 점
- Lambda@Edge는 Virginia 리전에서만 생성 가능
- 캐시 영향으로 배포 후 적용까지 시간이 소요될 수 있음