AWS CloudFront와 Lambda@Edge를 통해 이미지 전송 최적화를 공부하면서,
AWS 서비스 개념에 대해 제대로 알고자 정리하였습니다.
이번 포스팅은 "이미지 캐싱 & 리사이징"을 하기 전에 알아두어야 하는 개념들을 정리하였습니다.
CloudFront란
CloudFront란 AWS Cloud의 CDN 서비스로 이미지, 동영상, 애플리케이션 및 API 등 다양한 컨텐츠를 빠른 속도로 전송해 주는 서비스입니다.

CloudFront 없이 S3에 있는 URL로 이미지를 조회할 수 있다. 하지만, 먼 곳에 서버가 있는 경우 데이터 조회 속도가 오래 걸린다.
CDN이란
Content Delivery Network or Content Distribution Network
컨텐츠를 효율적으로 전달하기 위해 여러 노드를 가진 네트워크에 데이터를 저장하여 빠른 속도로 데이터를 제공하는 시스템입니다.

- 웹 페이지, 이미지, 동영상 등의 컨텐츠를 Origin 서버에서 받아와 캐싱합니다.
- 해당 컨텐츠에 대한 요청이 들어오면 캐싱해 둔 컨텐츠를 제공합니다. (Hit Cache)
- 컨텐츠를 제공하는 서버와 실제 요청 지점 간의 지리적 거리가 먼 경우 사용하면 좋습니다.
- 서버의 요청이 필요 없기 때문에 서버의 부하를 낮출 수도 있습니다.
단점
- CDN 서비스 비용이 부담될 수 있다.
Edge Location 이란
엣지 로케이션이란 켄텐츠가 캐싱되고 사용자에게 제공되는 지점을 나타냅니다.
AWS CloudFront의 캐시 서버라 생각할 수 있습니다. (전 세계에 존재함)
➡️ CloudFront는 Edge Location을 통해 컨텐츠를 제공합니다.

CloudFront 데이터 전달 과정

- CloudFront로 컨텐츠를 요청합니다.
- CloudFront는 가까운 위치에 있는 Edge Location으로부터 캐싱된 정보가 있는지 확인합니다.
- 캐싱된 정보가 없다면 요청된 데이터를 찾습니다.
- 반환된 데이터를 Edge Location에 캐싱한 후 사용자에게 전달합니다.
- Edge Location에 존재하는 경우 사용자에게 바로 전달합니다.
Lambda@Edge
Edge Location에서 실행되는 람다 함수를 의미합니다.
(AWS 내에 있는 자원에 접근하여 원하는 형태로 자원을 다룰 수 있습니다.)

- 사용자가 CloudFront로 요청을 보내기 전
- CloudFront에서 Origin 서버로 요청을 보내기 전
- Origin 서버에서 CloudFront로 응답을 하기 전
- CloudFront에서 사용자에게 요청을 보내기 전
위 4가지 상황에서 Lambda@Edge를 실행할 수 있습니다.
저는 Aws S3에 저장된 이미지를 받아와 원하는 이미지 형태로 변환 후 이를 캐싱하기 위해 Origin Response에 Lambda@Edge를 적용시키겠습니다.
AWS 프리티어로 사용 가능한가요?
답변 : CloudFront는 무료로 사용 가능하지만, Lamda@Edge는 무료로 제공하지 않는다.

CloudFront Fuction은 무료로 제공하긴 하지만, Lambda@Edge 처럼 복잡한 코드는 처리할 수 없다...

'Infra > Aws' 카테고리의 다른 글
Aws S3 Presigned URL 이해하기 | 서버 부하 없이 S3 이미지 업로드 하는 방법 (0) | 2025.03.23 |
---|---|
AWS Lambda를 사용해 S3에 이미지 업로드하기 (Python & API Gateway) (0) | 2025.01.12 |
Aws Spot Instance란 무엇인가, (0) | 2024.11.26 |
AWS CloudFront와 Lambda@Edge를 통해 이미지 전송 최적화를 공부하면서,
AWS 서비스 개념에 대해 제대로 알고자 정리하였습니다.
이번 포스팅은 "이미지 캐싱 & 리사이징"을 하기 전에 알아두어야 하는 개념들을 정리하였습니다.
CloudFront란
CloudFront란 AWS Cloud의 CDN 서비스로 이미지, 동영상, 애플리케이션 및 API 등 다양한 컨텐츠를 빠른 속도로 전송해 주는 서비스입니다.

CloudFront 없이 S3에 있는 URL로 이미지를 조회할 수 있다. 하지만, 먼 곳에 서버가 있는 경우 데이터 조회 속도가 오래 걸린다.
CDN이란
Content Delivery Network or Content Distribution Network
컨텐츠를 효율적으로 전달하기 위해 여러 노드를 가진 네트워크에 데이터를 저장하여 빠른 속도로 데이터를 제공하는 시스템입니다.

- 웹 페이지, 이미지, 동영상 등의 컨텐츠를 Origin 서버에서 받아와 캐싱합니다.
- 해당 컨텐츠에 대한 요청이 들어오면 캐싱해 둔 컨텐츠를 제공합니다. (Hit Cache)
- 컨텐츠를 제공하는 서버와 실제 요청 지점 간의 지리적 거리가 먼 경우 사용하면 좋습니다.
- 서버의 요청이 필요 없기 때문에 서버의 부하를 낮출 수도 있습니다.
단점
- CDN 서비스 비용이 부담될 수 있다.
Edge Location 이란
엣지 로케이션이란 켄텐츠가 캐싱되고 사용자에게 제공되는 지점을 나타냅니다.
AWS CloudFront의 캐시 서버라 생각할 수 있습니다. (전 세계에 존재함)
➡️ CloudFront는 Edge Location을 통해 컨텐츠를 제공합니다.

CloudFront 데이터 전달 과정

- CloudFront로 컨텐츠를 요청합니다.
- CloudFront는 가까운 위치에 있는 Edge Location으로부터 캐싱된 정보가 있는지 확인합니다.
- 캐싱된 정보가 없다면 요청된 데이터를 찾습니다.
- 반환된 데이터를 Edge Location에 캐싱한 후 사용자에게 전달합니다.
- Edge Location에 존재하는 경우 사용자에게 바로 전달합니다.
Lambda@Edge
Edge Location에서 실행되는 람다 함수를 의미합니다.
(AWS 내에 있는 자원에 접근하여 원하는 형태로 자원을 다룰 수 있습니다.)

- 사용자가 CloudFront로 요청을 보내기 전
- CloudFront에서 Origin 서버로 요청을 보내기 전
- Origin 서버에서 CloudFront로 응답을 하기 전
- CloudFront에서 사용자에게 요청을 보내기 전
위 4가지 상황에서 Lambda@Edge를 실행할 수 있습니다.
저는 Aws S3에 저장된 이미지를 받아와 원하는 이미지 형태로 변환 후 이를 캐싱하기 위해 Origin Response에 Lambda@Edge를 적용시키겠습니다.
AWS 프리티어로 사용 가능한가요?
답변 : CloudFront는 무료로 사용 가능하지만, Lamda@Edge는 무료로 제공하지 않는다.

CloudFront Fuction은 무료로 제공하긴 하지만, Lambda@Edge 처럼 복잡한 코드는 처리할 수 없다...

'Infra > Aws' 카테고리의 다른 글
Aws S3 Presigned URL 이해하기 | 서버 부하 없이 S3 이미지 업로드 하는 방법 (0) | 2025.03.23 |
---|---|
AWS Lambda를 사용해 S3에 이미지 업로드하기 (Python & API Gateway) (0) | 2025.01.12 |
Aws Spot Instance란 무엇인가, (0) | 2024.11.26 |