짧은 지연시간과 빠른 속도로 데이터, 동영상, 애플리케이션 및 API를 전송하는 고속 콘텐츠 전송 네트워크(CDN)
💡 CDN(Content Delivery Network)
페이지, 이미지, 동영상 서버에서 받아와 캐싱
빠른 컨텐츠 제공
서버로 요청이 필요 없기 때문에 서버의 부하를 낮추는 효과
Origin
으로부터 제공받아 전달(이때 캐싱) 💡 엣지 로케이션
컨텐츠가 캐싱되고 유저에게 제공되는 지점.
즉, cloudFront가 물리적으로 존재하는 공간
Origin
CloudFront의 실제 컨텐츠가 존재하는 근원 리소스이다.
1. S3
Distribution
주요 설정 및 용어
백엔드에서 값을 업데이트할때 CloudFront의 각 엣지 로케이션은 해당 업데이트를 모름. 단지 TTL이 만료되었을때 캐시를 지울뿐이다.
이러한 문제점으로 TTL이 지나기 전에 저장되어있는 캐시를 지우는 방법을 지원해준다.
요청을 수행하는데 필요한 제한된 권한과 시간을 제공하는 URL이다. 콘텐츠에 액세스할 수 있는 대상을 제어하는 기능으로써 동작한다. 개별 파일에 대한 액세스를 제공한다.
S3 버킷뿐만 아니라 백엔드 등에서 원하는 것을 일정 기간동안 사용할 수 있다.
유료 동영상 접근 권한과 같은 곳에 사용할 수 있다.
S3 pre-signed URL
과 유사하지만 이 기능은 S3 버킷에 한정되며 S3에 직접 액세스한다는 차이가 있다.
마찬가지로 콘텐츠 액세스할 수 있는 대상을 제어하는 기능이다.
제한된 파일 여러개에 대한 액세스 권한을 제공하고자 할때 사용한다.
CloudFront | S3 cross region replication | |
---|---|---|
특징 | 엣지 로케이션에 캐시 | 여러리진에 S3 복사본 존재, 실시간 업데이트 |
사용목적 | 정적컨텐츠의 빠른 로딩 | 읽기전용으로 읽기 속도향상 |
사용처 | 캐시를 이용한 성능향상 | 동적컨텐츠 로드 |
두 서비스 모두
글로벌 네트워크로 전세계의 엣지로케이션을 사용한다는 것과
DDos 보호를 위해 AWS Shield를 사용한다.
그렇다면 차이점은 무엇일까
CloudFront | AWS Global Accelerator | |
---|---|---|
특징 | HTTP,HTTPS 컨텐츠 캐시로 빠른 전송 | TCP, UDP의 모든 트래픽에 대해 빠른 전송 |
접근방식 | DNS를 통한 실시간 최적의 엣지 로케이션 IP 제공 | Anycast IP를 통한 클라이언트의 접근 |
요청처리 | 엣지로케이션, 캐시없을 경우 어플리케이션 | 어플리케이션 |
사용목적 | 캐시를 이용한 성능향상 | 네트워크 라우팅에 의한 지연 최소화, 신속한 리전 장애 조치가 필요할때 |
사용처 | 이미지, 동영상같은 정적컨텐츠 로딩 | 캐시불가, 게임이나 IoT, Voice Over Ip 등에 사용 |
💡 Unicast IP와 Anycast IP
Unicast IP : 하나의 서버가 하나의 IP 주소를 가지는 것
Anycast IP : 모든 서버가 동일한 IP 주소를 가지며 클라이언트가 접근시 가장 가까운 서버로 라우팅 됨.