CaseStudy:: AWS Global Accelerator

·

2 min read

금일은 AWS Global Accelerator가 무엇이고, DNS와 무엇이 다른지, 그리고 적용 방법에 대해 간단하게 다뤄보겠습니다. AWS 블로그 글을 참고했습니다.

Summary

  • DNS 대신 AWS 자체 네트워크 기반인 Global accelerator을 사용할 경우 성능과 안정성이 향상된다

  • accelerator 추가를 위해 포트 80번에 TCP 리스너를 추가하고, 리전별 엔드포인트 그룹을 생성한 후, 로드밸런서가 지역 엔드포인트와 엔드포인트 그룹을 연결하도록 설정

글로벌 웹 어플리케이션을 서비스하는 기업의 경우 유저가 전 지역별로 분산되어 있습니다. 글로벌 인터넷 인프라의 복잡성 때문에지연과 성능 저하를 발생시키는데, 이는 유저 경험의 감소로 이어집니다. 이 문제를 해결하기 위해 AWS Global Accelerator를 고려해보라고 저자는 제안합니다.

AWS Global accelerator는 자체 글로벌 네트워크를 통해 앱의 경로를 최적화하여 트래픽의 빠른 라우팅을 제공해주는 네트워킹 서비스입니다.

트래픽 라우팅 기능에서 기존 DNS와 Global Accelerator는 유사한 기능을 제공하지만, 작동 방식이 다릅니다. Route 53은 DNS 수준에서 도메인 이름을 라우팅 정책에 따라 IP 주소로 연결해주는 반면, Global Accelerator는 애니캐스트 방식의 고정 IP 주소를 사용합니다.

Global Accelerator는 Frontend, APi, Microservices 모두 적용할 수 있습니다. Microservices의 경우, 여러 리전에 걸쳐진 서비스들 간 통신을 최적화해줄 수 있습니다.

기존 DNS 방식의 경우, 유저의 트래픽은 Route 53(DNS)을 통해 로드밸런서로 연결됩니다. EC2 인스턴스가 두 리전에 배포되어 있으며, 로드밸런서가 이 두 리전으로 트래픽을 라우팅합니다.

위 구조에 Global Accelerator을 추가하는 방법은 아래와 같습니다.

  1. accelerator을 추가

  2. 포트 80에 대한 TCP 리스너를 생성

  3. 두 엔드포인트 그룹(리전 당 하나)를 생성

  4. 로드밸런서를 통해 지역 엔드포인트를 accelerator의 엔드포인트 그룹과 매핑

다이어그램은 위와 같은 연결 결과를 보여줍니다. AWS Global Accelerator가 DNS를, AWS Global Network가 Public 네트워크를 각각 대체했습니다.

Reference