Global Accelerator란?

 

https://aws.amazon.com/ko/global-accelerator/

 

네트워크 가속 서비스 - AWS Global Accelerator - AWS

AWS 글로벌 인프라의 성능, 보안 및 가용성을 활용하여 Global Accelerator 엣지 로케이션 중 하나에 사용자 트래픽을 온보드할 수 있습니다. 사용자는 정적 IP 주소를 통해 애플리케이션 엔드포인트에

aws.amazon.com

 

AWS Global Accelerator는 애플리케이션의 글로벌 사용자들에게 낮은 지연 시간, 높은 가용성, 그리고 향상된 네트워크 성능을 제공하기 위해 설계된 네트워크 서비스이다.

 

AWS의 글로벌 네트워크 인프라를 활용하여 사용자의 요청을 최적의 엔드포인트(리전 또는 서비스)로 라우팅한다.

 

주요 특징 

  1. 글로벌 네트워크 경로 최적화
    • AWS의 전용 글로벌 네트워크를 사용하여 인터넷의 변동성과 혼잡을 우회하고 더 빠르고 안정적인 경로로 트래픽을 전달한다.
    • 이는 사용자의 최소 지연 시간을 보장하는 데 도움을 준다.
  2. 고정 IP 주소 제공
    • Global Accelerator는 고정 IP 주소를 제공하므로, DNS를 변경할 필요 없이 애플리케이션의 백엔드 엔드포인트를 쉽게 변경할 수 있다.
    • 이는 특히 애플리케이션 업그레이드나 리전 간의 장애 조치(failover) 시 유용하다.
  3. 자동 장애 조치(Failover)
    • 엔드포인트(예: EC2 인스턴스, 로드 밸런서, 컨테이너)가 비정상 상태가 되면 자동으로 트래픽을 다른 정상 상태의 엔드포인트로 전환하여 애플리케이션의 고가용성을 보장한다.
  4. 리전 간 로드 밸런싱
    • Global Accelerator는 리전 간 트래픽을 분산시켜, 사용자 요청이 가장 가까운 엔드포인트 또는 최적의 엔드포인트로 전달되도록 한다.
  5. 탄력적인 용량 확장
    • 글로벌 사용자 기반이 확장되더라도 고속으로 애플리케이션을 이용할 수 있도록 탄력적으로 확장된다.

 

Global Accelerator 사용

 

위와 같은 특징들 떄문에 DR을 위한 Multi Region을 구성하기 위해 Cloud Wave 3기 때 진행한 프로젝트에서 AWS Global Accelerator를 사용한 Warm standby 전략을 사용하였다.

 

 

Multi Region 아키텍처

 

먼저 Terraform을 이용하여 도쿄 리전과 서울 리전에 각각 EKS를 구성해주었다. 

 

내부 서비스 메쉬로 Istio를 사용하기 때문에 각 리전의 Istio ingress ALB를 Global Accelerator의 엔드포인트로 지정해주었다.

 

Global Accelerator 설정

 

 

 

다음과 같이 두 Region의 Istro Ingress ALB가 존재할 떄 두 ALB를 엔드포인트로 Global Accelerator를 설정한다.

 

 

프로젝트를 진행할 당시에 구매한 도메인이 인증서를 받지 못해 Global Accelerator가 자동 생성해주는 domain으로 80 Port로 접근하는 것을 구현하였다.

 

사용 Test

 

평상시에 서울 리전으로 트래픽이 100% 가게끔 운영한다.

 

서울 리전에 장애가 생기면 global accelerator가 완전 관리형 서비스이기에 자동으로 헬스 체크를 하여 도쿄 리전으로 트래픽을 전환시켜 준다.

 

테스트를 하기 위해 엔드포인트의 health check 에 대한 응답을 의도적으로 unhealthy 로 받게 해서 테스트 해보았다. 

 

Grafana Dashboard로 지켜본 결과이다.

 

 

 

 

정상적으로 트래픽이 전환되는 것을 볼 수 있고 Console로 지켜봤을 때도 동일했다.

 

 

 

'Cloud > AWS' 카테고리의 다른 글

[AWS] 가비아 도메인 구매 Route53 연결  (0) 2024.12.06
[AWS] EC2 OOM 문제 예방  (0) 2024.12.06