AWS - CloudFront

Neo-Renaissance·2024년 11월 3일
post-thumbnail

CloudFront란?

Amazon CloudFront는 전 세계 엣지 서버를 통해 웹 콘텐츠를 빠르게 배포하는 서비스입니다. 사용자가 콘텐츠를 요청하면 가장 가까운 엣지 서버에서 제공되어 지연 시간을 줄이고 빠른 성능을 제공합니다.


위 사진에서 엣지 로케이션(Edge Location)은 Amazon CloudFront와 같은 CDN(Content Delivery Network) 서비스에서 전 세계적으로 배치된 데이터 센터 를 말합니다. 사용자가 콘텐츠를 요청할 때, 요청은 가장 가까운 엣지 로케이션으로 라우팅되어 콘텐츠가 제공됩니다. 이때 CDN(Content Delivery Network) 서비스는 콘텐츠를 보다 빠르게 전송하는 기술로, 속도 개선과 회선 비용 절감에 용이합니다.

CDN

CDN(Content Delivery Network)을 쉽게 이해하기 위해 예시를 들어 설명해보겠습니다.

예시: 글로벌 사용자에게 빠르게 콘텐츠 제공하기

한국에 있는 한 웹사이트 서버에서 이미지와 동영상을 제공한다고 해봅시다. 이 웹사이트에는 미국, 유럽, 일본 등 세계 각지의 사용자들이 접속합니다. 서버가 한국에만 있기 때문에, 미국에 있는 사용자가 웹사이트에 접속하면 한국에서 데이터를 받아와야 하므로 시간이 더 걸리게 됩니다.

CDN의 역할

CDN은 전 세계에 분산된 엣지 서버를 통해 이러한 문제를 해결합니다. 한국 서버에서 미국에 있는 CDN의 엣지 서버로 콘텐츠를 미리 복사해 둡니다. 이제 미국 사용자가 웹사이트에 접속하면 더 이상 한국 서버에서 콘텐츠를 가져오는 것이 아니라, 가까운 미국의 엣지 서버에서 콘텐츠를 가져오므로 훨씬 빠르게 로딩됩니다.

CDN이 없는 경우: 사용자 -> 한국 서버 (지연 시간 증가)
CDN이 있는 경우: 사용자 -> 가까운 엣지 서버 (지연 시간 최소화)

이처럼 CDN은 전 세계 사용자에게 웹사이트 콘텐츠를 빠르게 제공할 수 있도록 하는 시스템으로, 지리적으로 먼 곳에서 접속해도 빠른 속도로 콘텐츠를 로딩할 수 있게 해줍니다.

위의 엣지로케이션에 내 서비스를 등록하는 AWS 서비스가 바로 CloudFront입니다.


CloudFront의 주요 기능과 특징

CloudFront의 주요 기능과 이를 통한 장점은 다음과 같습니다.

  1. 전 세계 엣지 로케이션을 통한 빠른 콘텐츠 배포
    CloudFront는 전 세계 수많은 엣지 로케이션을 통해 콘텐츠를 제공합니다. 사용자가 콘텐츠를 요청할 때, CloudFront는 지연 시간이 가장 낮은 엣지 로케이션에서 콘텐츠를 전달하여 사용자에게 빠르게 콘텐츠를 제공합니다.

  2. 정적 및 동적 콘텐츠 지원
    CloudFront는 정적 콘텐츠(예: 이미지, CSS, JavaScript)뿐만 아니라 동적 콘텐츠(예: API 데이터, 개인화된 웹 페이지)도 지원합니다. 따라서 다양한 웹사이트 유형에서 CloudFront를 활용할 수 있습니다.

  3. 보안 강화
    CloudFront는 DDoS(Distributed Denial of Service) 공격 방어 기능을 기본으로 제공하여, 외부 공격으로부터 웹사이트를 보호합니다. 또한, SSL/TLS 암호화를 통해 안전한 데이터 전송이 가능하여 보안에 민감한 콘텐츠도 안전하게 배포할 수 있습니다.

  4. 비용 효율성
    CloudFront는 데이터 전송 비용을 절감해주며, 콘텐츠를 캐싱하여 서버 로드를 줄입니다. 자주 요청되는 콘텐츠는 엣지 로케이션에 캐시되어 있어 서버가 매번 콘텐츠를 제공하지 않아도 되므로 서버 비용 절감에도 기여합니다.

CloudFront가 동작하는 방식

CloudFront가 콘텐츠를 제공하는 방식은 다음과 같습니다.

  1. 사용자가 콘텐츠 요청: 사용자가 웹사이트의 콘텐츠를 요청하면 해당 요청은 CloudFront로 라우팅됩니다.

  2. 가까운 엣지 로케이션으로 연결: CloudFront는 사용자와 가장 가까운 엣지 로케이션에서 콘텐츠를 제공합니다. 만약 엣지 로케이션에 캐시가 없다면, 원본 서버(예: S3 버킷, EC2 인스턴스)에서 콘텐츠를 가져와 엣지 서버에 캐시한 뒤 사용자에게 전달합니다.

  3. 콘텐츠 캐싱 및 재사용: 이후 같은 콘텐츠를 요청하는 사용자에게는 엣지 로케이션에 캐시된 콘텐츠를 제공하므로, 더 빠른 응답이 가능합니다.

  4. 이렇게 CloudFront는 전 세계 엣지 로케이션을 통해 콘텐츠를 캐싱하여, 글로벌 사용자를 대상으로 최상의 속도로 콘텐츠를 제공합니다.

CloudFront를 활용한 예시

  • 예시 1: 글로벌 전자상거래 웹사이트
    한 글로벌 전자상거래 웹사이트에서 전 세계 고객을 대상으로 제품 이미지를 제공한다고 가정해봅시다. 고객이 있는 나라마다 서버를 구축하는 것은 비용이 많이 들기 때문에 CloudFront를 사용하여 이미지를 캐싱하면 더 효율적입니다. 예를 들어, 미국의 고객은 미국의 엣지 로케이션에서 이미지를 받아보므로 빠르게 로딩됩니다.

  • 예시 2: 뉴스 사이트
    뉴스 사이트처럼 자주 업데이트되지만 일부 콘텐츠는 반복적으로 요청되는 경우에도 CloudFront가 유용합니다. 특정 뉴스 기사 페이지나 이미지 등을 엣지 서버에 캐싱해 두면, 대량의 트래픽이 몰려도 빠르게 대응할 수 있습니다.

CloudFront의 장단점

장점

  • 전 세계에 빠른 콘텐츠 제공
  • 정적 및 동적 콘텐츠 지원
  • 강화된 보안 기능(DDoS 방어, SSL/TLS 암호화)
  • 서버 비용 절감 및 서버 로드 감소

단점

  • 설정이 다소 복잡할 수 있음
  • 일부 CDN 서비스에 비해 높은 가격(콘텐츠 제공 범위에 따라 달라짐)

출처

이미지1

profile
if (실패) { 다시 도전; } else { 성공; }

0개의 댓글