CloudFront란 무엇인가

mocaccino·2025년 1월 31일
post-thumbnail

.html, .css, .js 같은 이미지 파일이나 정적 및 동적 웹 콘텐츠를 사용자에게 배포하는 속도를 높여주는 웹 서비스이다. CloudFront는 엣지 로케이션이라고 하는 전 세계의 데이터 센터 네트워크를 통해 콘텐츠를 제공한다.

사용자가 CloudFront를 통해 제공되는 컨텐츠를 요청하면 가장 낮은 지연시간을 가진 엣지 로케이션으로 라우팅되어 콘텐츠가 최상의 성능으로 제공되게 된다.

  • 콘텐츠가 이미 지연시간이 가장 짧은 엣지에 위치해 있는 경우에는 CloudFront가 해당 콘텐츠를 즉시 전송한다.
  • 콘텐츠가 해당 엣지 위치에 없는 겨우 CloudFront는 사용자가 정의한 출처(예 : Amazon S3 버킷, Media Package 채널 또는 웹서버)에서 콘텐츠를 검색한다. 이 출처는 사용자가 콘텐츠의 최종 버전에 대한 소스로 지정한 것이다.

CloudFront는 각 사용자의 요청을 AWS의 백본 네트워크를 통해 콘텐츠를 가장 빠르게 제공할 수 있는 엣지의 위치로 라우팅해서 콘텐츠의 배포속도를 높인다.
또한 파일(객체라고도 함) 사본이 전 세계 여러 엣지 로케이션에 보관 또는 캐시되어 있으므로 안정성과 가용성이 향상된다.

CloudFront

  • AWS의 콘텐츠 전송 네트워크(CDN) 서비스

  • 정적/동적 웹 콘텐츠를 사용자에게 빠르게 전달하는 역할

  • 전 세계의 여러 곳에 위치한 엣지 로케이션이라는 데이터 센터를 두고 있고, 엣지로케이션에 콘텐츠를 캐시(임시저장) 한다.

  • 동작

    • 사용자가 요청하면 CloudFront는 지리적으로 가장 가까운 엣지로케이션에서 질의하여 콘텐츠를 제공한다 - 캐시히트
    • 엣지로케이션에 해당 콘텐츠가 없으면, 엣지로케이션은 원본 서버(S3가 될 수 있음)에 콘텐츠를 요청해서 가져온 후 사용자에게 전달한다 - 캐시미스
    • 캐시미스 시 엣지 로케이션은 원본 서버에서 가져온 콘텐츠를 캐시한다.

AWS 백본 네트워크

CloudFront는 단순히 엣지 로케이션이 지리상으로 가깝다는 이유로 빠르게 전달할 수 있는 원리가 아님.

AWS 백본 네트워크를 통해 빠르게 전달할 수 있음.

  • 데이터 센터, 가용영역, 리전, 엣지로케이션을 연결하는 초고속 네트워크
  • AWS의 여러 리소스들 사이에서 데이터를 효율적으로 이동한다.
  • 사용자의 어떠한 요청에서도 최적의 경로를 찾아 빠르게 데이터를 전송하는 것을 가능하게 해준다.
  • AWS 서비스의 전체적인 성능과 안정성에 매우 중요한 역할을 함.

CloudFront 구성방법

CloudFront가 콘텐츠를 배포하기 전까지 환경이 구성되는 방법

  1. 오리진 서버 구성

    컨텐츠를 제공할 오리진 서버를 구성한다.

    S3 버킷을 사용하면 CloudFront만 접근가능하도록(OAC) 설정할 수 있어 보안적으로도 좋음.

  2. 파일 업로드

    제공할 컨텐츠를 업로드한다.

  3. CloudFront 배포 생성

    CloudFront에서 가져올 Origin을 지정하거나 캐시 정책, 보안 같은 설정들을 하는데 이런 설정들을 배포 구성이라 한다.

  4. 도메인 이름 할당

    배포를 생성하면 고유의 도메인 이름이 할당된다.

    CloudFront의 캐시 콘텐츠를 사용하려면 이 도메인 이름을 통해 접근해야한다.

    도메인이름은 사용자 지정도 사용 가능하다.

  5. 배포 구성 전송

    3.에서 설정한 배포 구성을 전세계 엣지 로케이션으로 자동 전송한다.

이 단계를 거치게 되면 사용자에게 CloudFront를 통해 캐시된 컨텐츠를 제공할 수 있게 된다.

CloudFront 오리진 액세스 제어

CloudFront는 S3를 오리진으로 사용하게 되면 이 기능을 사용할 수 있다.

  • OAC (오리진 액세스 제어는) 외부에서는 S3 로 접근할 수 없고,오직 CloudFront만 S3 오리진으로 접근을 허용하도록 하는 기능이다. → S3 오리진을 보호할 수 있음
  • 이전에는 OAI라는 Origin Access ID를 사용했었는데 단점을 보완하고 개선한 서비스 현재는 완전히 OAC를 권장하고 있음.
  • OAC는 S3 오리진의 버킷 정책을 수정해서 간단하게 사용 가능하다.

CloudFront 비용

  • 사용량 기반 요금제
  • 선불 요금이나 콘텐츠 보유량에 대한 약정은 없음
  • CloudFront가 요청에 응답할 때 비용이 발생함.
profile
레거시문서를 줄이자. 계속 업데이트해서 최신화한다.

0개의 댓글