[CloudFront 및 AWS 글로벌 엑셀러레이터] AWS Global Accelerator 개요

728x90

AWS Global Accelerator 개요

  • 글로벌 애플리케이션을 만들어서 여러 나라의 사용자들이 접근하고자 한다. 하지만 애플리케이션은 한국 Region 만 배치되어 있는 상태이다.
  • 사용자들은 인터넷을 통해 ALB 에 접근하게 되는데 라우터를 거치면서 생기는 hops 으로 인해 지연율이 높아진다.
  • 이 홉들은 언제 연결이 끊길지 모르기 때문에 위험 요소이고 지연되게 하는 원흉이다.
  • 지연 시간을 최소화 하기 위해서 지연율이 낮은 AWS VPC 를 사용하는 편이 좋다.
  • 이를 위해서는 Global Accelerator 를 사용해야 하는데 그 전에 Unicast IP 와 Anycast IP 개념을 알아야 한다.

Unicast IP vs Anycast IP

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

Global Accelerator 는 Anycast IP 의 개념을 사용한다.

AWS Global Accelerator

  • 애플리케이션을 라우팅하기 위해 AWS 내부 글로벌 VPC 를 사용할 것이다.
  • 사용자들은 전 세계에 걸쳐서 존재하고 한국으로 라우팅되야 한다.
  • 미국에서 public 인터넷을 통해 라우터를 거쳐 홉들이 발생하는 방식으로 한국 Region 에 도착하는 것이 아니라 미국 사용자의 지역에 가장 가까운 Edge Loaction 으로부터 내부 AWS 네트워크를 거쳐 한국 Region 의 ALB 로 직통으로 연결된다.
  • 오스트레일리아 유저도 오스트레일리아 근처의 Edge Loaction 에서 Private AWS VPC 를 거쳐 한국 Region 의 ALB 에 도착한다.
  • 요점은 Anycast IP 를 사용한다는 것이다. Anycast IP 는 트래픽을 사용자와 가장 가까운 엣지 로케이션으로 보내준다. 엣지 로케이션은 Private AWS VPC 를 통해 ALB 에 도착한다.
  • Elastic IP, EC2 인스턴스, ALB, NLB, Public or Private VPC 를 사용하여 함께 작동한다.
  • 안정적인 성능을 보여준다.
    • Intelligent Routing 으로 지연 시간이 가장 짧은 엣지 로케이션으로 연결되며 장애가 발생할 경우 신속한 Region 장애 조치가 이루어진다.
    • 데이터를 캐싱하지 않기 때문에 클라이언트 캐시와 문제가 발생하지 않는다.
  • 헬스 체크
    • 애플리케이션이 글로벌하게 사용되는 녀석인지 체크를 한다.
    • 한 Region 에 있는 ALB 의 상태 확인을 실패하면 자동화 된 장애 조치를 사용하여 1분 안에 정상적인 엔드 포인트로 실행되게 한다.
    • 헬스 체크 기능 덕분에 재해 복구에 뛰어나다.
  • 보안
    • 화이트리스트 IP 가 2개 이기 때문에 보안 측면에서 매우 안전하다.
    • Global Accelerator 의 AWS Shield 덕분에 DDoS 공격도 자동으로 보호해준다.

Global Accelerator vs CloudFront

둘 모두 동일하게 글로벌하게 사용되는 서비스이고 엣지 로케이션을 사용하고 DDoS 보호를 위해 AWS Shield 에 통합된다.

차이점은 아래와 같다.

  • CloudFront
    • 이미지나 비디오처럼 캐시 가능한 컨텐츠들의 성능을 높인다.
    • API, Dynamic 웹사이트 같은 동적인 컨텐츠들의 성능을 향상시킨다.
    • 컨텐츠들은 모두 Edge Loaction 서버에서 제공된다. 즉, 사용자들은 주로 Edge Loaction 에 캐시된 데이터를 받는다는 뜻이다.
  • Global Accelerator
    • TCP 나 UDP 를 사용하는 다양한 애플리케이션의 성능을 향상시킨다.
    • 네트워크 패킷들이 엣지 로케이션을 통해 한 개 이상의 Region 에서 실행되는 애플리케이션으로 프록시된다.
    • 모든 요청이 애플리케이션으로 전송되고 캐싱되지 않는다.
    • 게임이나, IoT, VoIP 같은 HTTP 프로토콜이 아닌 경우 매우 적합하다.
    • 글로벌하게 고정된 IP 를 필요로 하는 HTTP 를 사용할 때도 유용하다.
    • 헬스 체크 기능을 사용하여 신속하게 리전 장애 조치가 필요로 할 때 좋다.
728x90