본문 바로가기

Infrastructure/Certificate

[SAA] Global Infrastructure

Global Infrastructure

이번 장에서는 SAA를 준비하며 Global Infrastructure에 대해서 알아보도록 한다.


Amazon CloudFront

  • AWS의 CDN 서비스로 Content Delivery Network의 약자다.
  • 읽기 성능을 향상하고 콘텐츠는 엣지(Edge)에 캐시되어 고객 경험(Users Experience)을 개선한다.
  • 전 세계적으로 216개의 PoP(Point of Presence)이 있다.
  • 글로벌 서비스 이므로 DDoS 공격을 방어하며, Shield 및 WAF(AWS Web Application Firewall)과 통합된다.

CloudFront - Origins

  • S3 Bucket
    • 파일 배포 및 엣지 캐싱 용도로 사용된다.
    • CloudFront OAC(Origin Access Control)을 사용하여 보안을 강화한다.
    • OAC가 OAI(Origin Access Identity)를 대체한다.
    • 파일을 S3에 업로드하기 위해 CloudFront를 입력(ingress)으로 사용할 수 있다.
  • Custom Origin (HTTP)
    • Application Load Balancer
    • EC2 Instance
    • S3 Website (정적 S3 웹 사이트로 버킷을 활성화해야 한다.)
    • 사용자가 원하는 모든 종류의 HTTP 백엔드 서비스

높은 수준의 CloudFront

Origin으로서의 S3

CloudFront vs S3 Cross Region Replication

  • CloudFront
    • 글로벌 엣지(Edge) 네트워크
    • 파일은 TTL(Time to Live, 일반적으로 하루)동안 캐시된다.
    • 어디에서나 사용할 수 있어야 하는 정적 콘텐츠에 적합하다.
  • S3 Cross Region Replication
    • 운영자는 복제를 수행하려는 각 지역에 대해 설정해야 한다.
    • 파일은 거의 실시간으로 업데이트되며 읽기 전용이다.
    • 적은 지연 시간으로 사용할 수 있어야 하는 동적 콘텐츠에 적합하다.

Origin으로서의 ALB or EC2

CloudFront Geo Restriction(지역 제한)

  • 배포물에 액세스할 수 있는 사용자를 제한할 수 있다.
    • 승인 목록(Allowlist): 사용자가 승인된 국가 목록에 있는 경우에만 콘텐츠에 액세스할 수 있도록 설정할 수 있다.
    • 차단 목록(Blocklist): 사용자가 금지된 국가 목록에 있는 국가 중 하나에 있는 경우 사용자가 콘텐츠에 액세스하지 못하도록 한다.
  • 여기서 국가는 Geo-IP 데이터베이스를 사용하여 결정되며, 대표적인 예시로 콘텐츠에 대한 액세스를 제어하는 저작권법을 위한 사용이 있다.

CloudFront - 비용

  • CloudFront Edge는 전 세계에 있으며, Edge가 위치에 따라 비용이 다르게 발생한다.

CloudFront - 비용 등급

  • 비용을 절감하기 위해서 Edge의 수를 줄일 수 있다.
  • 3가지 비용 등급이 있다.
    • Price Class All: 모든 리전을 사용하며 가장 높은 성능을 가지고 있다.
    • Price Class 200: 대부분의 리전을 사용하지만, 가격이 비싼 일부 리전을 제외한다.
    • Price Class 100: 비용이 저렴한 리전만 사용한다.

CloudFront - 캐시 무효화(Invalidation)

  • 백엔드 오리진을 업데이트하는 경우 CloudFront는 Origin이 업데이트 되었다는 사실을 알지 못하기 때문에, TTL이 만료된 후에만 새로운 콘텐츠를 가져올 수 있다.
  • 하지만, 사용자가 강제로 캐시 무효화를 수행하여 전체 또는 부분 캐시 새로 고침을 강제로 수행할 수 있다. (TTL ByPass)
  • *을 사용하여 모든 캐시를 무효화할 수 있고, /images/*와 같이 특정 경로만 무효화할 수 있다.

글로벌 사용자

  • 응용 프로그램을 배포했으며 응용 프로그램에 직접 액세스하려는 전역 사용자가 있다.
  • 공용 인터넷을 통과하므로, 많은 홉으로 인한 대기 시간이 추가될 수 있다.
  • AWS 네트워크를 통해 대기시간을 최소화하여 가능한 빠르게 글로벌 사용자가 애플리케이션에 액세스하는 방법에 대해서 알아본다.

Unicast IP vs Anycast IP

  • Unicast IP: 하나의 서버는 하나의 IP 주소를 보유하고 있다.
  • Anycast IP: 모든 서버가 동일한 IP 주소를 가지고 있고 클라이언트는 가장 가까운 IP 주소로 라우팅된다.

AWS Global Accelerator

  • AWS 내부 네트워크를 활용하여 애플리케이션으로 라우팅한다.
  • 사용자의 애플리케이션에 대해 두 개의 Anycast IP가 생성된다.
  • Anycast IP는 엣지 로케이션으로 트래픽을 직접 전송한다.
  • Edge Location은 트래픽을 애플리케이션으로 전송한다.

  • Global Accelerator는 Elastic IP, EC2 인스턴스, ALB, NLB, Public 또는 Private과 작동한다.
  • 일관된 성능(Consistent Performance)
    • 지연 시간이 가장 짧고 지역 장애 조치가 빠른 지능형 라우팅이다.
    • IP가 변경되지 않기 때문에 클라이언트 캐시가 문제되지 않는다.
    • AWS 내부 네트워크를 사용한다.
  • 상태 확인(Health Checks)
    • Global Accelerator는 애플리케이션의 상태 확인을 수행한다.
    • 애플리케이션을 글로벌하게 만드는 데 도움이 되며, 문제가 발생하는 경우 1분 이내에 장애 조치가 가능한다.
    • 상태 확인을 통해서 재해 복구에 적합하다.
  • 보안(Security)
    • 2개의 외부 IP만 화이트리스트로 등록되어 있으면 된다.
    • AWS Shield를 통해서 DDoS 보호가 가능하다.

AWS Global Accelerator vs CloudFront

  • 두 서비스 모두 AWS 글로벌 네트워크와 글로벌 엣지 로케이션을 사용한다.
  • 두 서비스 모두 DDoS 보호를 위해 AWS Shield와 통합된다.
  • CloudFront
    • 캐싱 가능한 콘텐츠(이미지, 비디오)의 성능 항샹을 위해 사용된다.
    • 동적 콘텐츠(API 가속화 및 동적 사이트 제공)
    • 콘텐츠가 Edge Location에서 제공된다.
  • Global Accelerator
    • TCP 또는 UDP를 통해 광범위한 애플리케이션의 성능을 개선한다.
    • 하나 이상의 AWS 리전에서 실행되는 애플리케이션에 대해 Edge에서 패킷을 프록시한다.
    • 게임(UDP), IoT(MQTT) 또는 VoIP와 같은 HTTP가 아닌 프로토콜의 사용 사례에 적합하다.
    • 정적 IP 주소가 필요한 HTTP 사용 사례에 적합하다.
    • 결정적이고 빠른 지역 장애 조치가 필요한 HTTP 사용 사례에 적합하다.

참고한 자료

'Infrastructure > Certificate' 카테고리의 다른 글

[SAA] Amazon FSx  (0) 2023.09.24
[SAA] Advanced Storage on AWS  (0) 2023.09.24
[SAA] Amazon S3 Security  (0) 2023.06.04
[AWS] Services  (0) 2023.04.02
[AWS] Storage Services  (0) 2023.04.02