AWS - CDN

Jaca·2021년 12월 28일
0

CDN

CDN은 Contents Delivery Network 또는 Content Distribution Network의 약자로 콘텐츠를 효율적으로 전달하기 위해 여러 노드를 가진 네트워크에 데이터를 저장하여 제공하는 시스템을 말한다.

CDN을 통해 온라인 상의 대용량 컨텐츠를 저렴한 비용으로 빠르게 전송하도록 한다.
주요 ISP(Internet Services Provider)의 CDN 서버에 콘텐츠를 분산시키고 유저의 네트워크 경로 상 가장 가까운 서보로부터 콘텐츠를 전송받도록 하여 트래픽이 특정 서버에 집중되지 않고 각 지역 서버로 분산되도록 하는 기술이다.

동작 원리

PC나 모바일 기기의 웹 브라우저에서 URL을 이용하여 웹 사이트에 접속을 시도하게 되면, 사용자에게 필요한 컨텐츠를 제공하기 위해 서버에 요청한다.
대부분의 CDN 서비스는 컨텐츠의 요청이 발생하게 되면 사용자와 가장 가까운 위치에 배치된 CDN 서버로 사용자를 접속시키게 되며, CDN 서버는 요청된 파일의 캐싱된 컨텐츠를 사용자에게 전달하게 된다.

CDN 캐싱 방식의 종류

  • Static Caching
    : 사용자의 요청이 없어도 Origin Server에 있는 컨텐츠를 운영자가 미리 Cache. Services에 복사함으로써 사용자가 Cache 서버에 접속하여 Contents를 요청하면 Cache 서버가 컨텐츠를 전달하는 방식

  • Dynamic Caching
    : 최초의 Cache 서버에는 컨텐츠가 없으나, 사용자가 요청시 Cache 서버에 컨텐츠가 있는지 여부를 확인하고, 없으면 오리진 서버에서 다운로드 받아 사용자에게 전달하고 Cache 함.
    일정 시간이 지나면 캐싱된 파일이 삭제될 수 있다.

Amazon CloudFront

짧은 지연 시간과 빠른 전송 속도로 최종 사용자에게 데이터, 동영상, 애플리케이션 및 API를 안전하게 전송하는 글로벌 컨텐츠 전송 네트워크 서비스이다.

주요 기능

정적 컨텐츠에 대한 캐싱 서비스와 비디오 스트리밍

전세계를 대상으로 온디맨드 미디어 스트리밍 서비스를 제공할 수 있다.
온디맨드 스트리밍 서비스를 위해 CloudFront를 사용하면 여러가지 형식의 동영상 스트리밍 서비스를 제공할 수 있으며, 라이브 스트리밍 서비스를 제공할 수 있다.

또 정적 컨텐츠에 대해 전송 속도를 높일 수 있도록 Amazon 글로벌 백본 네트워크와 Edge 서버를 활용하여 해당 웹사이트에 방문하는 사용자에게 빠르고 안전한 환경을 제공할 수 있다.

S3 버킷을 사용하여 정적 컨텐츠 서비스를 제공할 수 있으며, OAI를 이용하여 컨텐츠에 대한 접근을 손쉽게 제한할 수 있다.

동적 컨텐츠에 대한 캐싱 서비스

웹 사이트의 전체 서비스에 해당하는 이미지, 동영상 등의 정적 파일 외에도 동적인 파일에 대해서도 Caching할 수 있다.
이중 빈번하게 갱신되거나 동적인 업데이트가 필요한 페이지나 컨텐츠에 대해서도 TTL을 설정하여 캐싱을 지원한다.

다양한 보안 서비스

CloudFront를 사용하는 것만으로 DDoS를 차단할 수 있으며,
이 것뿐만 아니라 Amazon Shield(Layer 3/4), Amazon WAF(Layer 7), Signed URL/Cookie를 통한 컨텐츠 보호, HTTPS Redirection과 SSL 인증서 연동 등 다양한 보안 서비스를 제공한다.

비용 절감

S3 bucket, EC2 Instance, ELB 같은 서비스는 사용자에게 데이터를 전송하는데 필요한 Network Out 비용을 지불한다.
하지만 CloudFront를 사용하게 되면 위 기능들의 Network Out에 대한 데이터 전송 비용을 지불하지 않고, CloudFront에 대한 사용료만 지불하게 된다.

profile
I am me

0개의 댓글