Home [AWS]CloudFront
Post
Cancel

[AWS]CloudFront

본 학습은 따라하며 배우는 AWS 네트워크 입문 서적을 통해 진행했습니다.

CDN(Contents Delevery Network)

콘텐츠 제공자와 사용자 간 지리적으로 떨어져 있는 환경에서 콘텐츠를 빠르게 제공하기 위한 기술

  • CDN이 없는 기존 네트워크 환경에서 오리진 서버는 모든 사용자 요청에 대해 일일이 처리하는 과부화 환경
  • 지리적 위치가 떨어져 있다면, 지연 시간이 길어질 것은 불가피하며, 원활한 서비스를 제공받기 어려움
  • CDN 기술의 핵심은 캐시 서버를 통한 지역적인 분산
  • 오리진 서버로부터 지역적으로 분산되어 있는 캐시 서버로 콘텐츠를 분배

CDN 캐싱 방식

  • 캐싱: 오리진 서버에 저장된 콘텐츠를 지역적으로 분산된 캐시 서버로 저장하는 행위
    • Cache Hit: 캐시 서버에서 콘텐츠를 보유한 상태
    • Cache Miss: 콘텐츠를 가지고 있지 않은 상태이며, 오리진에서 원본 콘텐츠를 요청하여 저장

Cache Hit과 Cache Miss

정적 캐싱(Static Caching)

이미지 파일, 자바스크립트, CSS 등과 같이 변경되지 않는 정적인 콘텐츠를 캐싱

  • 웹사이트에서 제공되는 대부분의 콘텐츠들은 시간이 지남에 따라 변경되지 않는 정적 콘텐츠로 구성되어 있어 이런 콘텐츠를 캐싱하여 CDN의 여러 이점을 확보 가능

동적 캐싱(Dynamic Caching)

사용자 요청이나 데이터 정보를 기반으로 즉석에서 생성되는 동적 콘텐츠의 경우, 캐싱하더라도 Cache Hit이 높지 않아 캐싱의 이점을 확보하기 어려움

  • 동적인 콘텐츠에 대해서도 CDN을 통해서 배포하게 되면 오리진 서버를 보호 가능하며, 캐시 서버와 오리진 서버 간의 빠른 통신을 통해 제공되어 보다 빠른 콘텐츠를 확보 가능

CloudFront

AWS에서 제공하는 CDN 기능

  • 오리진 대상의 콘텐츠를 캐싱하여 짧은 지연 시간과 빠른 전송 속도로 전 세계 사용자에게 콘텐츠를 전송하는 CDN 서비스
  • 전 세계 수많은 엣지 Pop을 두고 AWS 글로벌 네트워크를 통하여 콘텐츠를 캐싱하여 서비스를 제공

아키텍처

CloudFront 아키텍처 예시

  1. 오리진: AWS 서비스 중 EC2, ELB, S3가 오리진 대상이 될 수 있으며, 고객 데이터 센터 내 별도의 서버도 가능
  2. Distribution: 오리진과 엣지 로케이션 중간에서 콘텐츠를 배포하는 역할을 수행하는 CloudFront의 독립적인 단위
    • HTTP(S) 전용의 Web Distribution과 동영상 콘텐츠 전용의 RTMP Distribution으로 구분
  3. 엣지 로케이션: 오리진에서 Distribution을 통해 배포되는 콘텐츠를 캐싱하는 저장장치
  4. 보안 장치: OSI 3/4 계층 DDoS를 완화하는 AWS Shield 및 OSI 7계층을 보호하는 AWS WAF와 원활하게 통합하여 보안을 강화
  5. 도메인 구성: Distribution을 생성하면 xxxxxx.cloudfront.net이라는 도메인 이름이 생성되며, 사용자는 해당 도메인 이름으로 접근이 가능
    • Route 53과 연결하여 사용자가 원하는 도메인 이름으로 별칭 부여 가능
  6. 사용자: 위 도메인 이름으로 접근하여 콘텐츠 수집 가능

주요 기능

높은 성능과 가용성을 보장받고 보안을 강화하여 안정적인 서비스 가능

CloudFront 글로벌 엣지 네트워크

사용자에게 더 짧은 지연 시간으로 콘텐츠를 전송하기 위해 글로벌 네트워크를 사용

정적/동적 콘텐츠 딜리버리

정적 콘텐츠, 동적 콘텐츠가 존재함에 따라 CloudFront는 캐시 동작을 최적화하여 제공

오리진 Selection

CloudFront는 단일 배포에서 여러 오리진을 구성하여 콘텐츠를 처리 가능

  • 경로 패턴을 분석하여 오리진 대상의 콘텐츠를 분산

오리진 그룹을 통한 Failover

오리진 그룹 내에 기본 오리진과 보조 오리진을 구성하여 기본 오리진에서 응답할 수 없으면 자동으로 보조 오리진으로 반환하여 Failover를 유지

SSL 지원

CloudFront를 사용하면 콘텐츠에 대해 SSL/TLS를 통해 전송할 수 있으며, 고급 SSL 기능(Full/Half 브리지 HTTPS 연결, 필드 레벨 암호화 등)을 자동으로 활성화 가능

액세스 제어

서명된 URL과 서명된 쿠키를 사용하면 토큰 인증을 지원하여 인증된 최종 사용자만 액세스 할 수 있도록 제한

보안

DDoS 공격을 비롯한 여러 유형의 공격에 대해 유연한 계층형 보안 방어를 구축하기 위해 원활한 통합 운영

비용 효율성

사용한 만큼 지불하는 일반 요금과 약정 트래픽 개별 요금이 제공되며, AWS 클라우드 서비스와 오리진에서 CloudFront 간의 무료 데이터 전송이 가능

  • S3, EC2, ELB와 같은 AWS 서비스를 오리진으로 사용하는 경우, 오리진에서 CloudFront 엣지 로케이션으로 전송되는 데이터에 대해서는 요금이 청구되지 않음
This post is licensed under CC BY 4.0 by the author.