AWS

AWS CloudFront ?

박현국 2024. 10. 20. 04:29
CloudFront
  • CloudFront은 컨텐츠 전송 네트워크 -> Content Delivery Network(CDN)
  • 서로 다른 엣지 로케이션에 미리 캐싱하여 읽기 성능을 높이는 것이다.
    • 컨텐츠가 네트워크 전체에 캐싱되므로 전 세계 사용자들이 낮은 레이턴시로 접근할 수 있어서 사용자 경험을 증대시킬 수 있다.
    • 컨텐츠가 전체적으로 분산되어 있어, DDoS 공격에서 보호를 받을 수 있다.
    • 그 외에도 Shield 와 Web Application Firewall 이 잇다.
    • AWS 엣지 지도를 보면, 전 세계에 있는 AWS 엣지와 엣지 캐쉬 분포를 볼 수 있다.
    • 가령 호주에 위치한 S3 버킷에 웹사이트를 만들었다 하더라도 미국에 있는 사용자는 CloudFront 를 이용해 미국에 있는 엣지에 컨텐츠를 요청하게 된다. 
      -> 그럼 CloudFront 가 호주에서 이 컨텐츠를 패치해서 가져오게 된다.

CloudFront 엣지 지도

  • CloudFront 의 원본 제공 방식은 먼저 S3 버킷으로 CloudFront 를 통해 파일을 분산하고 캐싱할 수 있게 한다.
  • 버킷에는 CloudFront 만 접근할 수 있게 보장하는데, 이를 가능하게 하는 것이 OAC 라 불리는 Origin Access Control 로 기존의 OAI 를 대체한다
  • CloudFront 를 통해 버킷에 데이터를 보내는 방법도 가능한데, 이를 Ingress 라고 한다.
  • 또 다른 방법으로 Custom Origin (HTTP) 사용자 정의 원본을 쓸 수 있다. -> EC2, S3, ALB
  • S3 웹사이트의 경우 버킷을 활성화해서 정적 웹사이트로 설정해야 한다. 그 외의 다른 HTTP 백엔드도 가능하다.
  • CloudFront 의 작업 방식은 엣지가 있고, 여기에 연결할 원본이 있다. -> s3 버킷에나 HTTP 서버이다.
  • 캐싱 되어 있지 않을 경우에는, 원본으로 가서 요청 결과를 가져온다. 그리고 결과를 가져오면서 이를 로컬 캐시에 저장을 해서 다른 클라이언트가 같은 컨텐츠를 같은 엣지에 요청할 시 사용한다. -> 이러면 원본을 다시 가욜 필요가 없다.

 

S3 를 원본으로 사용할때

  • AWS 클라우드의 어떤 리전에 있는 S3 버킷이 원본일 것이다. 그리고 전 세계의 엣지 로케이션이 있을 것이고, 해당 엣지에 접근하는 사용자는 엣지가 직접 컨텐츠를 제공하게 된다.
  • 하지만 먼저 내부 AWS 망을 통해 S3 버킷 원본을 받아올것이다
  • 그리고 이 버킷은 OAS 로 보호받으며, S3 버킷 정책에 의해서만 수정할 수 있다.
  • 이렇게 CloudFront 와 Edge Location 을 이용해, 특정 리전에 속한 S3 버킷을 전 세계의 엣지 로케이션으로 분산 시킬 수 있다.

'AWS' 카테고리의 다른 글

What is Amazon FSx?  (0) 2024.10.21
What is Global Accelerator?  (2) 2024.10.21
Amazon S3  (2) 2024.10.19
DNS , Route 53, 레코드  (1) 2024.10.18
RDS 와 Aurora 의 보안, RDS Proxy, ElastiCache  (0) 2024.10.17