AWS Developer Associate (7) - CloudFront

Jongwon·2024년 3월 4일
0

AWS Developer Associate

목록 보기
6/6

CloudFront는 CDN(Content Delivery Network) 서비스로 Edge에 캐싱을 해둠으로써 End User가 더 빠른 속도로 Read할 수 있도록 도와줍니다.

CloudFront를 사용함으로써 DDos역시 예방할 수 있습니다.

CloudFront Origins

S3 Bucket

  • Origin Access Control(OAC)를 통해 CloudFront로만 S3에 접근할 수 있도록 설정할 수 있습니다.
  • OAI가 OAC로 대체되는 구조입니다.

Custom Origin(HTTP based)

그 외에도 EC2 Instance나 ALB, S3 정적 웹사이트 등 HTTP 백엔드로도 연결할 수 있습니다.

vs S3 Cross Region Replication
각 리전별로 S3 설정을 해야 합니다.
대신, TTL을 가진 캐싱 방식이 아닌 실시간 업데이트 방식입니다.
Dynamic Content(자주 변하는)에 대해서는 이 방식이 유리합니다.

CloudFront Cache

CloudFront는 가리키는 대상 객체가 변경되어도 정책상 바로 반영되지 않고 캐싱된 데이터를 클라이언트에게 제공합니다.

Cache Key

CloudFront Cache안에 있는 모든 Object는 고유의 ID인 Key값을 가지게 됩니다.

Key는 hostname + resource portion형태로 이루어져 있습니다. 하지만 CloudFront Cache Policies를 이용하여 다른 정보를 Key에 추가할 수도 있습니다.

Invalidating Files

파일 무효화를 사용하면 캐싱을 지우고 새로 적용된 객체의 내용을 CloudFront에 다시 배포하게 됩니다.

Origin Request Policy(Whitelist)

Cache Key에 전달하지 않고 origin으로 보낼 Header들이 필요할 때 사용합니다. 예를 들어 Cookie값을 Cache에서 사용하진 않고, Origin에서 custom하게 검증하고 싶다면 이 정책을 사용하면 됩니다.

CloudFront Signed URL/Cookie

URL은 각 객체에 대해 단일 URL이 존재하지 때문에 하나의 객체를 외부에 제공할 때 사용하고, Cookie는 여러 객체에 동시에 접근할 수 있도록 하기위해서 사용합니다.

Signers

  • Trusted Key Group
  • AWS Account with CloudFront Key Pair(Not Recommended)

Price Class

  • Price Class All: 모든 Region에 대해 Edge 제공
  • Price Class 200: 가장 비싼 Region을 제외하고 제공
  • Price Class 100: 가장 싼 Region만 제공

Origin Group

Group 내에 있는 Origin들간 장애 발생 시 다른 Origin으로 유도하여 고가용성을 유지할 수 있습니다.

S3 pre-signed URL

S3에서 모든 객체는 비공개이고, 객체 소유자만 객체에 접근할 수 있습니다.
객체 소유자가 객체에 대해서 임시 URL을 만들고 공유를 하면, IAM 권한이 그대로 적용된 채로 객체를 제3자가 접근할 수 있습니다.

profile
Backend Engineer

0개의 댓글

관련 채용 정보