AWS/AWS CDN

CloudFront 설계 패턴 및 모범 사례

SALEE 2023. 4. 6. 10:34
728x90

CloudFront

  • Amazon Web Services(AWS)에서 제공하는 콘텐츠 전송 서비스
  • 엣지 로케이션으로 구성된 글로벌 네트워크를 사용하여 정적 콘텐츠(이미지, 오디오, 비디오 등)를 제공

 

CloudFront 배포

  • 콘텐츠 객체를 엣지 로케이션으로 식별, 배포 또는 캐시
  • 오리진 또는 캐시 동작을 정의하는 오리진 서버 및 규칙 모음으로 구성
  • 쿼리 문자열을 사용하여 콘텐츠 객체의 버전 관리도 지원
  • 스트리밍 배포 - 주문형 비디오/오디오 스트리밍에 사용
  • 다운로드 배포 - 이미지, CSS, JavaScript, HTML 페이지 등과 같은 다른 형태의 비스트리밍 콘텐츠를 제공하는 데 사용
  • CloudFront-Origin 및 캐시 동작

 

CloudFront 작동 원리

  1. CloudFront 배포에 파일 요청
  2. CloudFront가 먼저 가장 가까운 CloudFront 엣지 로케이션 결정
  3. CloudFront가 요청된 파일에 대해 가장 가까운 엣지 로케이션의 캐시를 확인. 파일이 캐시에 있으면 엣지 로케이션이 파일을 제공
  4. 파일이 캐시에 없는 경우 CloudFront는 요청 패턴을 오리진 또는 캐시 동작과 일치시키고, 해당 오리진 서버에서 파일을 가져와 엣지 로케이션에 배포

 

도메인 샤딩

  • 둘 이상의 호스트 이름 또는 CNAME 별칭을 사용하여 단일 서버의 콘텐츠를 제공
  • CluoudFront CNAME 별칭 기능을 사용하면 주어진 CloudFront 배포에서 여러 CNAME을 매핑 가능
  • CloudFront를 사용한 도메인 샤딩

버전 관리

  • 무효화 관련 문제를 방지하는 가장 좋은 방법 중 하나(CloudFront는 쿼리 문자열을 사용한 버전 관리를 지원)
  • 쿼리 문자열을 사용한 CloudFront의 객체 버전 관리

    CloudFront의 콘텐츠 기반 해싱 및 버전 관리

 

동적 썸네일 및 인코딩

  • 사용자 지정 원본을 사용하여 동적 이미지 썸네일 및 비디오 인코딩을 수행 가능
  • CloudFront용 동적 축소판 및 인코딩

압축

  • Amazon CloudFront는 뷰어 또는 브라우저 요청에 따라 압축 버전과 압축되지 않은 파일 버전을 모두 제공 가능
  • 압축 콘텐츠는 더 빠르게 제공되고 더 적은 대역폭을 사용
  • 미디어 파일의 경우 썸네일 또는 인코딩 중에 콘텐츠 품질을 낮추어 추가 압축 수행 가능

 

오디오/비디오 스트리밍

  • CloudFront를 사용하는 오디오/비디오 스트리밍에는 두 개의 CloudFront 배포가 필요
    • 미디어 플레이어용 일반 다운로드 배포(HTTP 프로토콜)
    • 스트리밍 배포(RMTP 프로토콜)
  • CloudFront 서명된 URL을 사용하여 유료 온디맨드 스트리밍도 지원 가능
  • 미디어 파일을 배포하도록 CloudFront를 구성하면
    • CloudFront는 Adobe Flash Media Server 3.5를 스트리밍 서버로 사용
    • Adobe의 RTMP(실시간 메시징 프로토콜)를 사용하여 미디어 파일을 스트리밍
    • CloudFront는 포트 1935 및 포트 80을 통해 RTMP 요청을 수락
  • 공개적으로 사용 가능한 스트리밍 콘텐츠의 경우 CloudFront 서명 URL이 아닌 Amazon S3 URL 사용
    CloudFront에서 온디맨드 오디오/비디오 스트리밍

 

비공개 콘텐츠

  • CloudFront는 다운로드 및 스트리밍 배포 모두에서 제공하는 비공개 콘텐츠에 대한 액세스를 제한 가능
  • 비공개 콘텐츠에 액세스하려면 최종 사용자가 수동 또는 자동으로 생성할 수 있는 서명된 특별 CloudFront URL이 필요
    • 서명된 URL에 포함된 만료 데이터 및 시간, 유효 데이터 및 시간, IP 주소 등과 같은 여러 매개변수를 기반으로 액세스 제어
  • 서명된 URL은 사용자 정의 정책 또는 미리 준비된 정책을 사용하여 생성 가능
  • CloudFront에서 프라이빗 콘텐츠의 온디맨드 오디오/비디오 스트리밍

 

CloudFront에서 프라이빗 콘텐츠 다운로드

 

라이브 스트리밍

  • CloudFront는 Adobe의 Flash Media Server 4.5 및 IIS Media Services(Smooth Streaming)를 통한 라이브 스트리밍 지원
    • 두 솔루션 모두 Apple의 HTTP 라이브 스트리밍(HLS) 형식으로 스트리밍하여 HTTP/HTTPS를 통해 미디어를 Apple iOS 장치로 라이브 스트리밍
    • Adobe의 Flash Media Server 4.5는 Adobe의 RTMP(실시간 메시징 프로토콜)를 사용하여 Adobe Flash 클라이언트에 주문형 콘텐츠를 스트리밍
    • 라이브 스트리밍 및 CloudFront

       
 

CloudFront Design Patterns And Best Practices

CloudFront is a content delivery service offered by Amazon web services(AWS). CloudFront serves static contents (images, audio, video etc) using a global network of more than 28+ edge locations. Using these edge locations, CloudFront accelerates delivery o

www.abhishek-tiwari.com

 

728x90