본문으로 바로가기

CloudFront란?

category CS 2022. 4. 19. 20:04

CloudFront

: .html, .css, .js 및 이미지 파일 같은 정적 및 동적 웹 콘텐츠를 사용자에게 더 빨리 배포하도록 지원하는 웹 서비스

  • 데이터 센터의 전 세계 네트워크를 통해 콘텐츠를 제공
  • 지연 시간이 가장 작은 엣지 로케이션으로 요청이 라우팅
    • 콘텐츠가 이미 지연 시간이 가장 작은 엣지 로케이션에 있는 경우
      → 콘텐츠를 즉시 제공
    • 콘텐츠가 엣지 로케이션에 없는 경우
      → 콘텐츠의 최종 버전에 대한 소스로 지정된 오리진에서 콘텐츠를 검색
  • AWS 네트워크를 사용하면 사용자의 요청이 반드시 통과해야 하는 네트워크의 수 감소 → 성능 향상
  • 파일의 사본이 전세계 여러 엣지 로케이션에 유지 → 안정성과 가용성 향상

 

제공 방법

  1. 사용자가 웹 사이트나 애플리케이션에 액세스하고 객체(이미지, html 등)에 대해 요청
  2. DNS가 요청을 최적으로 서비스할 수 있는 CloudFront PoP(엣지 로케이션)로 요청을 라우팅
  3. CloudFront는 해당 캐시에 요청된 객체가 있는지 확인
    • 객체가 캐시에 있는 경우
      → 객체를 사용자에게 반환
    • 객체가 캐시에 없는 경우
      → 1. 배포의 사양과 요청을 비교해 사용자의 원본 서버에 해당 객체에 대한 요청을 전달
          2. 원본 서버는 객체를 엣지 로케이션으로 다시 전달
          3. 오리진에 첫 바이트가 도착하자마자 CloudFront는 객체를 사용자에게 전달하고 캐시에 추가

 

구성 방법

  1. CloudFront는 지정한 오리진 서버로부터 파일을 가져와 전세계 CloudFront 엣지로케이션에 배포
    • 오리진 서버는 객체의 최종 원본 버전을 저장
  2. 오리진 서버에 파일을 업로드
  3. 사용자가 웹 사이트나 애플리케이션을 통해 파일을 요청할 경우, 어떤 오리진 서버에서 파일을 가져올지 CloudFront 배포를 만듦 
    • 세부사항 지정
      (CloudFront에서 모든 요청을 기록할지, 배포를 만들자마자 활성화할지 등)
  4. 새 배포에 도메인 이름을 할당
    • CloudFront 콘솔에서 볼 수 있음
    • 프로그램 요청(API 요청 등)에 대한 응답으로 반환됨
    • 대체 도메인 이름을 추가할 수 있음
  5. 배포의 구성을 해당 엣지 로케이션이나 CloudFront가 파일의 사본을 캐싱하는 지리적으로 분산된 데이터센터의 PoP 서버 모음으로 전송

 

액세스 방법

  • AWS Management Console
  • AWS SDK
    • SDK를 제공하는 프로그래밍 언어를 사용하는 경우
  • CloudFront API
    • SDK를 제공하지 않는 프로그래밍 언어를 사용하는 경우
  • AWS Command Line Interface
  • Windows의 PowerShell을 통한 AWS Tools

 


[ 출처 ]

https://docs.aws.amazon.com/ko_kr/AmazonCloudFront/latest/DeveloperGuide/Introduction.html

'CS' 카테고리의 다른 글

Redis란?  (0) 2022.04.20
CDN (콘텐츠 전송 네트워크)이란?  (0) 2022.04.19