CloudFront
: 콘텐츠 전송 네트워크(CDN)로 여러 엣지 로케이션에서 웹사이트의 콘텐츠를 캐시 처리해 읽기 성능을 높인다.
Origins
S3 bucket
: 엣지에 파일을 분산하고 캐시를 처리한다.
Custom Origin(HTTP)
CloudFront vs S3 Cross Region Replication
- CloudFront: 글로벌 엣지 네크워크를 사용하며 전세계 지역으로 제공할 스태틱 콘텐츠가 있다면 유용한 기능
- S3 Cross Region Replication: 복제하려는 리전을 각 설정해야한다. 파일이 거의 실시간으로 처리되므로 캐시처리가 되지 않고 읽기 전용이다. 변경이 자주 발생하는 동적 콘텐츠를 소수의 리전에 짧은 지연 시간 안에 제공해야 할 경우 유용하다.
CloudFront는 CDN으로 전 세계 모든 곳에 콘텐츠를 캐시 처리하는 반면, S3 리전 간 복제는 특정 리전에 전체 버킷을 복제한다.
CloudFront Caching
: 캐시는 cloudfront 엣지 로케이션에 각각 저장되기 때문에 엣지 로케이션 수만큼 캐시가 생성된다.
- 오리진으로 보내는 요청을 최소화하고 캐시 적중률을 극대화하는 게 좋다.
Cache Key
: 캐시에 있는 각 객체의 고유 식별자
Cache Policy
Cookies
Query String
캐시 키에 추가한 모든 HTTP 헤더, 쿠키, 쿼리 문자열은 오리진 요청에 자동으로 포함되어 전달된다.
Origin Request Policy
: 특정 개체를 오리진 요청에는 포함하되, 캐시 키에는 포함하지 않는 정책
Cache Invalidations
: 전체적 또는 부분적인 캐시 리프레시를 적용해 캐시에 있는 모든 TTL을 제거한다.
Cahe Behaviors
- Sign In Page
- Maximaze cache hits by separating static and dynamic distributions
ALB or EC2 as an origin
Geo Restriction
: 저작권법에 따라 콘텐츠의 액세스가 제한되는 경우 사용한다.
Signed URL/Signed Cookie
: 유료 공유 콘텐츠 액세스를 제공하되, cloudfront 배포에서 어떤 사용자가 어떤 콘텐츠에 액세스 권한이 있는지 확인
- 서명된 URL은 개별 파일의 액세스를 제공하므로 파일 하나에 URL이 하나이다. 서명된 쿠키는 여러 파일에 대한 액세스를 제공하고 재사용이 가능하다.
- cloudfront 서명된 URL은 오리진과 상관없이 경로의 액세스를 허용한다. 계정 전체에 적용되는 키 페어라서 루트만 관리할 수 있다.
- cloudFront 서명된 URL은 일반적으로 동적으로 생성된 서명된 URL을 통해 유료 콘텐츠를 배포하는 데 사용된다.
- 서명된 URL은 개별 파일에 액세스하려는 경우에 유용하다.
- 서명된 쿠키는 여러 파일에 액세스하려는 경우에 유용하다.
- s3 미리 서명된 URL은 URL을 미리 서명한 사람의 권한으로 요청을 발행한다.
- 서명된 URL/쿠키를 사용하도록 CloudFront 배포를 구성할 때 신뢰할 수 있는 키 그룹 서명자 대신 cloudfront 키 페어 서명자를 사용하는 것이 좋다.
Price Classes
: 전 세계에 걸쳐 클라우드 프론트 분산에 사용할 엣지 로케이션의 수를 줄여 가격을 낮출 수 있다.
Price Class All
: 모든 지역 제공, 최상의 성능이지만 비용이 높다.
Price Class 200
: 가장 비싼 지역을 제외한 대부분의 지여 제공
Price Class 100
: 가장 저렴한 지역만을 제공
Multiple Origin
: 클라우드 프론트를 거치는 라우트나 경로를 리다이렉팅해 다른 오리진으로 라우팅
Origin Groups
: 고가용성을 증가시키고 장애가 발생한 경우 장애 조치를 가능하게 한다.
Field Level Encryption
: 애플리케이션 스택을 통해 민감한 정보를 보호하는 기능
Real Time Logs
: 콘텐츠 전송 성능을 모니터링 및 분석하고 그에 따라 조치를 취한다.