무료로 시작하기
CloudFront + AWS Lambda@Edge 이미지 리사이징: 성능·비용·운영까지 완전 정리 Post Thumbnail

CloudFront + AWS Lambda@Edge 이미지 리사이징: 성능·비용·운영까지 완전 정리

On-the-fly 이미지 리사이징은 클라이언트에서 이미지를 요청하는 그 순간, 필요한 크기나 포맷으로 즉시 변환해 전달하는 방식입니다. 이 글에서는 이 방식이 실제 서비스에서 어떻게 활용되는지, 어떤 비용 구조를 갖는지, 그리고 동일한 기능을 더 빠르게 구축할 수 있는 Managed CDN 옵션까지 함께 살펴봅니다.

Q1. On-the-fly 이미지 리사이징이 왜 필요한가요?
원본 이미지는 용량이 크고 규격이 제각각이라 그대로 제공하면 로딩 속도 저하, 트래픽 비용 증가, UI 품질 저하가 발생합니다. On-the-fly 리사이징은 요청 시점에 이미지를 가공하여 전달하므로 디바이스에 맞춰 최적화가 간편합니다.

 

Q2. Lambda@Edge로 이미지 리사이징을 하면 비용이 더 들지 않나요?
대부분 그렇지 않습니다. Cache Miss 5% 기준으로 MAU 1만 서비스는 월 CDN 트래픽 비용을 약 $90 절감하는 반면, Lambda 실행 비용은 약 $5 수준입니다. 캐시가 안정적으로 유지되면 전체 비용은 오히려 줄어드는 구조입니다.

 

Q3. Lambda@Edge를 사용할 때 주의해야 할 점은 무엇인가요?

1MB 응답 제한, 30초 실행시간, 글로벌 배포·로그 분산 등 운영 난이도를 고려해야 합니다.

 

Q4. 소규모 서비스도 On-the-fly 방식으로 비용 절감이 가능한가요?

가능합니다. MAU 1천~10만 규모에서도 WebP/AVIF 적용과 캐싱으로 30~50% 트래픽 절감을 기대할 수 있습니다.

 

Q5. Lambda@Edge 대신 Managed CDN을 선택하는 이유는 무엇인가요?

운영 부담 없이 리사이징·포맷 변경·모니터링을 즉시 적용할 수 있어 개발·운영 리소스를 크게 절약할 수 있습니다. 추가로 AI 쿼리, 사용량 대시보드 등 다양한 사용 및 관리이점이 존재합니다.

 

On-the-fly 이미지 리사이징이란?

On-the-fly 이미지 리사이징은 이미지가 요청되는 그 순간, 필요한 크기(예: 200×200)나 포맷(WebP, AVIF 등)으로 변환해 전달하는 방식입니다.
미리 여러 규격의 파일을 만들어 둘 필요가 없기 때문에:

  • 스토리지 비용 절감

  • 운영 구조 단순화

  • 새로운 디바이스·규격 대응이 쉬움

같은 장점이 있습니다.

 

왜 중요해졌을까?

 

0.79

 

넷플릭스 서비스는 TV, 스마트폰, 태블릿 등 다양한 디바이스에서 시청하는데, 같은 서비스를 서로 다른 디바이스에서 보여주기에 다양한 이미지 규격이 필요합니다.

옛날에는 보통 두 가지 방식으로 대응했습니다.

  • 1) 큰 이미지를 불러와 클라이언트에서 줄이는 방법

  • 2) 각기 다른 규격의 이미지를 저장해 놓는 방법

 

1) 큰 이미지를 내려주고 클라이언트에서 줄이는 방식

  • 항상 큰 원본을 다운로드해야 해서
    → 로딩 속도가 느려지고
    → 트래픽을 불필요하게 많이 씁니다.

  • 화면 크기에 맞게 줄이기 위해 브라우저·앱에서 연산을 더 수행해야 해서
    → 저사양 기기·저속 네트워크 환경에서 체감 성능이 떨어집니다.

결론적으로, 속도·비용·경험 측면에서 비효율적인 방식입니다.

 

2) 여러 규격의 이미지를 미리 생성해 저장하는 방식

  • 원본 + 다양한 사이즈를 모두 보관해야 해서
    → 스토리지 비용이 2배 이상으로 불어날 수 있습니다.

  • 새로운 레이아웃이나 해상도가 필요해지면
    → 기존 이미지를 다시 생성하는 배치 작업이 필요합니다.

  • 운영 기간이 길어질수록
    → “어디에 어떤 규격이 필요한지” 관리가 점점 더 복잡해집니다.

결론적으로, 규격·디바이스가 계속 늘어나는 현대 서비스에는 잘 안 맞는 구조입니다.

 

이 문제를 해결하기 위해 클라우드 환경에 맞는 새로운 Best Practice가 등장했습니다.

 

Lambda@Edge 리사이징 아키텍처 구성

바로 요청 시점에 필요한 이미지 규격을 생성하고 캐싱하는 On-the-fly 방식 입니다. 저장 공간과 트래픽, 운영 부담을 동시에 줄여 주기 때문에, 오늘날 클라우드 환경에서는 사실상 표준 이미지 처리 방식으로 자리잡은 방법입니다.

 

이를 기존 방법과 대조해 보면 다음과 같습니다.

 

1.00

 

  • 기존 방식:
    → 여러 크기의 파일을 미리 만들어 S3에 저장해두고 요청이 올 때마다 그 파일을 그대로 반환
  • On-the-fly 방식:
    → 원본 이미지만 저장해두고
    → ?s=200x200&q=80 같은 파라미터 기준으로
    → 요청 시점에 필요한 규격만 생성하고, 그 결과를 CDN에 캐싱

 

이 구조 덕분에:

  • 스토리지는 원본 위주로 관리하고

  • 트래픽은 최적화된 결과만 전달합니다.

호출마다 컴퓨팅(람다)을 사용하니 서버 비용이 더 드는 것 아닐까요?

 

1.00

 

그렇지 않습니다, 그 이유는 CDN 캐시 구조에 있는데요,

 

이미지 요청에는 크게 두 가지가 있습니다.

  • Viewer Request: 사용자가 CDN에 보내는 요청

  • Origin Request: CDN에 캐시가 없어서, S3나 Lambda 쪽으로 다시 보내는 요청

 

캐시 관점에서 보면:

  • Cache Hit: CDN에 결과가 있어서 Lambda를 아예 타지 않음

  • Cache Miss: 처음 한 번만 Lambda가 실행되어 원본을 가공하고, 그 결과를 CDN에 저장

 

즉:

  • 첫 요청: Lambda 실행 + S3/스토리지 접근 + 결과 캐싱

  • 그 이후 동일한 URL: CDN에서 바로 응답 (Lambda 비용 없음)

 

그래서 Miss 비율만 잘 관리하면 Lambda 비용은 전체 비용에서 매우 작은 비중을 차지하고,


대부분의 비용 절감은 “더 가벼운 이미지 + 더 적은 대역폭”에서 나옵니다.

 

참고 -> CDN 이란?

 

실제 사례: 당근마켓의 On-the-fly 도입

당근마켓은 한국의 대표적인 중고거래 플랫폼으로, 사용자가 직접 사진을 올리는 UGC(User Generated Content) 구조입니다.

한 번 데이터를 살펴봤습니다:

  • 하루 이미지 업로드: 50만 건

  • 하루 이미지 요청: 2억 건

  • 하루 이미지 트래픽: 16,000 GB

 

이 정도 규모에서 원본 이미지를 그대로 전달하면:

  • 서버·CDN 비용이 크게 증가하고

  • 로딩 속도가 느려져 사용자 경험이 나빠집니다.

 

그래서 당근마켓은 필요할 때만 변환하고, 결과를 바로 캐싱하는 On-the-fly 방식을 Lambda@Edge 기반으로 도입했고,
결과적으로:

  • 트래픽 약 20% 절감

  • 중복 저장 이미지 제거로 월 수천 달러 수준의 비용 절감

이라는 효과를 얻었습니다.

 

이 사례는 “대규모 UGC 서비스에서 On-the-fly가 어떻게 비용과 성능을 동시에 잡는지”를 잘 보여줍니다.

 

소규모 서비스에서는 어떤 의미가 있을까?

On-the-fly는 대형 플랫폼만의 이야기가 아닙니다. 예를 들어, 이미지 사용량이 많은 UGC 기반 서비스를 가정해보면:

  • 사용자 1명당 월 수천 회 이미지 요청

  • 1명당 수백 MB 이미지 트래픽

정도를 추산할 수 있는데요,

 

MAU월 요청량월 트래픽GB 절감 비용 (0.15$/GB)람다 비용
1,0003M300 GB$ 9 /mo$ 0.5 /mo
3,0009M900 GB$ 27 /mo$ 1.5 /mo
5,00015M1,500 GB$ 45 /mo$ 2.6 /mo
10,00030M3,000 GB$ 90 /mo$ 5.2 /mo
50,000150M15,000 GB$ 450 /mo$ 26.2 /mo
100,000300M30,000 GB$ 900 /mo$ 52.4 /mo

 

이 기준을 MAU 1천~10만 수준에 적용하면:

 

  • WebP/AVIF + 리사이징 + 캐싱만으로도 30~50% 트래픽 절감은 충분히 노려볼 수 있고,

  • Miss 비율을 낮게 유지하면 Lambda 비용은 전체 비용에서 아주 작은 비중을 차지합니다.

 

즉, 소규모라도 이미지 비중이 크면 On-the-fly는 꽤 매력적인 선택지가 됩니다.

 

Lambda@Edge vs Managed CDN

On-the-fly 이미지를 구현하는 방법은 크게 두 가지입니다.

  1. 직접 구축: CloudFront + Lambda@Edge
  2. Managed CDN 사용: Cloudinary, Fastly, Weekerp 등

 

1) Lambda@Edge 직접 구축

장점:

  • CloudFront 캐시와 가장 긴밀하게 붙어 동작

  • 잘 설계하면 지연 최소화 + 글로벌 스케일 + 비용 효율

단점:

  • 전 세계 POP에 배포되는 코드 버전 관리

  • 캐싱 정책·URL 설계·리사이징 규칙 설정

  • 로그 수집, 모니터링, 장애 대응 등 운영 복잡도가 꽤 높음

  • Lambda의 응답 크기·실행 시간 제약 등 고려할 포인트가 많음

2) Managed CDN 사용

장점:

  • 리사이징, 포맷 변경, 썸네일, 크롭 등 기능을
    → URL 파라미터만으로 바로 사용 가능

  • 캐시·인프라·장애 대응·버전 배포 등을 위임
    → 개발팀은 비즈니스 로직에 집중

  • 대시보드, 로그, 통계 등 운영 도구가 기본 제공

단점:

  • 서비스마다 요금 체계가 다르므로
    대역폭·요청 수·이미지 수 기준으로 가격 비교가 필요

  • 커스텀한 특수 로직은 제한될 수 있음

선택 기준은 단순합니다.

  • 인프라를 직접 다루는 게 익숙하고, 규모가 크며, 운영 리소스가 충분한 팀
    → Lambda@Edge 직접 구축도 좋은 선택

  • 프론트/백엔드에 집중하고 싶고, 이미지 인프라는 맡기고 싶은 팀
    → Managed CDN이 훨씬 편하고 안전한 선택

 

위커프 이미지(Weekerp Image)의 포지션

1.00

 

Weekerp Image는 "지금 쓰고 있는 스토리지는 그대로, 운영은 더 간단하게"를 목표로 만든 Managed CDN입니다.

핵심 특징을 정리하면 다음과 같습니다.

  • 1MB 응답 제한 없음
    → 큰 이미지도 제약 없이 처리 가능

  • 실행 시간 제한에서 자유로움
    → 고해상도·고품질 변환 작업도 안정적으로 수행

  • 캐싱율·대역폭·국가별 요청량 대시보드 제공
    → 실제 트래픽 흐름을 보면서 캐시 전략을 조정 가능

  • 자연어 기반 변환 파라미터 (예: dog.jpg?ai="200px로 줄여줘" )
    → 개발자가 아니어도 쉽게 변환 규칙을 시도해볼 수 있는 인터페이스

  • S3, GCP, Azure 같은 기존 스토리지 그대로 연결
    → 마이그레이션 없이 지금 구조 그대로 연결해 사용

즉, 위커프 이미지는 Lambda@Edge가 가진 구조적 장점은 유지하면서,
“직접 운영할 때 생기는 피로감”을 없애는 쪽에 포지셔닝된 Managed CDN입니다.

 

 

결론: 어떤 팀에게 어떤 방식이 맞을까?

On-the-fly 이미지 리사이징은 이제 선택이 아니라,
디바이스 다양성과 사용자 기대 수준이 높아진 시대의 기본 전략에 가깝습니다.

정리하면:

  • 이미지 트래픽이 많고, 다양한 디바이스·화면 규격을 지원해야 하는 서비스라면
    → On-the-fly는 거의 필수에 가깝다.

  • 인프라 운영 경험이 충분하고, 장기적으로 세밀한 컨트롤이 필요한 팀이라면
    → CloudFront + Lambda@Edge 직접 구축도 좋은 선택.

  • 개발 리소스를 아끼고, 빠르게 적용하고, 운영 부담을 줄이고 싶다면
    → Managed CDN이 현실적인 선택.

  • 특히 UGC 서비스, 이미지 위주의 SaaS, 커머스, 플랫폼 서비스라면
    → On-the-fly + Managed CDN 조합이 “비용·속도·운영” 밸런스가 가장 좋다.

자주 묻는 질문

On-the-fly 이미지 리사이징이 왜 필요한가요?

원본 이미지는 용량이 크고 규격이 제각각이라 그대로 제공하면 로딩 속도 저하, 트래픽 비용 증가, UI 품질 저하가 발생합니다. On-the-fly 리사이징은 요청 시점에 이미지를 가공하여 전달하므로 디바이스에 맞춰 최적화가 간편합니다.

Lambda\@Edge로 이미지 리사이징을 하면 비용이 더 들지 않나요?

대부분 그렇지 않습니다. Cache Miss 5% 기준으로 MAU 1만 서비스는 월 CDN 트래픽 비용을 약 \$90 절감하는 반면, Lambda 실행 비용은 약 \$5 수준입니다. 캐시가 안정적으로 유지되면 전체 비용은 오히려 줄어드는 구조입니다.

Lambda\@Edge를 사용할 때 주의해야 할 점은 무엇인가요?

1MB 응답 제한, 30초 실행시간, 글로벌 배포·로그 분산 등 운영 난이도를 고려해야 합니다.

소규모 서비스도 On-the-fly 방식으로 비용 절감이 가능한가요?

가능합니다. MAU 1천\~10만 규모에서도 WebP/AVIF 적용과 캐싱으로 30~50% 트래픽 절감을 기대할 수 있습니다.

Lambda\@Edge 대신 Managed CDN을 선택하는 이유는 무엇인가요?

운영 부담 없이 리사이징·포맷 변경·모니터링을 즉시 적용할 수 있어 개발·운영 리소스를 크게 절약할 수 있습니다. 추가로 AI 쿼리, 사용량 대시보드 등 다양한 사용 및 관리이점이 존재합니다.

# AWS# Cloudfront# AWS Lambda@Edge# On-the-fly# On-the-fly 이미지 리사이징# 이미지 최적화# 이미지 CDN# Managed CDN# CDN
위커프 강민준 profile image

SEO·AEO 솔루션 위커프를 만들고 있는 강민준입니다. 프로젝트와 데이터에서 얻은 인사이트로 더 가치 있는 글을 작성하기 위해 늘 고민합니다. 실무에 도움이 되는 좋은 글로 찾아올게요.