AWS 자격증 공부/AWS SAA-C03

AWS SAA : CloudFront

sseldne0 2024. 11. 20. 12:04

CloudFront

CloudFront → CDN : Content Delivery Network

웹사이트의 컨텐츠를 서로 다른 엣지 로케이션에 미리 캐싱해 읽기 성능을 높임

: 전세계 사용자들이 낮은 레이턴시로 접근해 사용자 경험 증대

: 컨텐츠가 worldwide하게 저장되어있으므로 DDos 공격으로부터 보호 가능

  • Global Edge network
  • TTL 을 위해 매일 캐시됨
  • 전세계를 대상으로 한 정적 컨텐츠 사용할 때 용이함

CloudFront Origin

  • S3 Bucket
    • CloudFromt를 통해 파일 분산, 캐싱
    • OAC(Origin Access Control)을 통해 CloudFront만 버킷에 접근 가능
    • Ingress : 버킷에 데이터 업로드도 가능함
  • Custom Origin (HTTP)
    • Application Load Balancer
      • EC2는 private 가능, LoadBalancer 접근 허용
      • LoadBalancer는 Public, Edge Location의 모든 public IP 접근을 허용하는 보안 그룹 설정
      • Edge Location는 Public
    • EC2 instance
      • EC2는 Public, Edge Location의 모든 public IP 접근 허용하는 보안 그룹 설정
      • Edge Location는 Public
    • S3 website
    • Any HTTP backend

CloudFront Geo Restriction

Allowlist / Blocklist 사용하여 배포판에 접근하는 사용자를 국가에 따라 제한 가능

국가는 Geo-IP DB를 사용해 user IP를 매핑하는 방식으로 결정

CloudFront Pricing

엣지 로케이션마다 데이터 전송 비용이 다름

더 많은 데이터가 전송될수록 GB당 비용은 낮아짐

Price Classes

  • Price Class All : 모든 리전 - 최상의 성능
  • Price Class 200 : 대부분의 리전 사용, 가장 비싼 리전 제외
  • Price Class 100 : 가장 저렴한 리전 사용

CloudFront Cache Invalidation

캐시의 TTL이 만료되면 백엔드 오리진으로부터 업데이트된 콘텐츠를 받음

→ 우리는 최대한 빨리 새 콘텐츠를 받고 싶으므로, 전체 또는 일부의 캐시를 강제로 새로고침해 캐시의 TTL 을 모두 제거할 수 있음 → 이를 위해 Cache Invalidation

모든 파일이나 특정 패스의 파일을 무효화할 수 있음

AWS Global Accelerator

문제 상황

  • 우리의 public ALB 는 India에 위치하고 있으나, 글로벌 서비스를 해서 유저가 글로벌하게 존재. America, Europe, Australia
  • user가 public ALB에 요청을 보낼 때, public internet을 이용하므로 많은 router를 거쳐가서 hop을 많이 함. → 지연시간이 길어지고, 장애 발생에 취약하며, AWS 인프라에 직접 접근하는 것이 아님.
  • 지연 시간을 최소화하기 위해 AWS 네트워크에 접근하는 것이 좋음.

Unicast vs Anycast

  • Unicast IP
    • 1개의 서버가 1개의 IP주소를 가짐
  • Anycast IP
    • 모든 서버가 동일한 IP주소를 가짐. 클라이언트는 가장 가까운 서버로 routing됨

Global Accelerator는 Anycast 개념을 사용

: 애플리케이션 라우팅을 위해 AWS 내부 글로벌 네트워크 활용

: 각각의 나라에 가까운 Edge Location 을 통해 private망으로 public ALB에 접근

: 2개의 Anycast IP가 생성되고, 그 Anycast IP가 Edge Location으로 직접적으로 트래픽을 보냄. 엣지 로케이션은 private network 통해 ALB로 트래픽 전송

  • Elastic IP, EC2 instance, ALB, NLB, public, private과 사용
  • 지능형 라우팅으로 지연시간이 가장 짧은 Edge Location으로 연결됨
  • 아무것도 캐시하지 않기에 클라이언트 캐시와 연관 X
  • 엣지 로케이션 다음에 내부 AWS 네트워크가 연결되어 internal network 사용
  • 상태 확인
    • 애플리케이션에 대해 상태 확인
    • 애플리케이션 글로벌 여부 확인
    • 자동화된 장애 조치
  • 보안
    • 단 2개의 외부 IP만 존재하므로 보안이 좋음

CloudFront vs Global Accelerator

공통점

  • AWS global network 사용, edge location은 전세계에 분포
  • AWS Shield와 결합하여 DDos protection 가능

차이점

  • CloudFront
    • 캐시 가능한 컨텐츠 (이미지, 비디오)에 대한 성능이 좋음
    • 동적 컨텐츠 (ex. API 가속화, 동적 사이트 전송) 성능 좋음
    • edge로 부터 컨텐츠가 서빙됨
  • Global Accelerator
    • 캐시가 불가능함
    • TCP, UDP 위의 애플리케이션에 대해 성능이 좋음
    • 1개 이상의 리전에서 수행중인 애플리케이션에 대해 패킷을 proxing
    • non-HTTP / 정적 IP 주소를 요구하는 HTTP use cases 에 좋은 성능
    • 재해 복구가 빠름

'AWS 자격증 공부 > AWS SAA-C03' 카테고리의 다른 글

AWS SAA : Decoupling Application : SQS, SNS, Kinesis, Active MQ  (1) 2024.11.24
AWS SAA : Storage  (2) 2024.11.20
AWS SAA : S3  (1) 2024.11.20
AWS SAA : Elastic Beanstalk  (2) 2024.11.19
AWS SAA : Route 53  (2) 2024.11.19