본문 바로가기
SA/Architecting

지리적 라우팅 설계

by okms1017 2024. 11. 15.
728x90

✍ Posted by Immersive Builder  Seong

 

지리적 라우팅

지리적 라우팅(geo-routing)이란 사용자의 지리적 위치에 따라 가장 가까운 데이터 센터로 트래픽을 전달하는 라우팅 방식을 말합니다. GeoDNS는 사용자의 IP 주소를 기반으로 위치를 추정하여 가장 가까운 서버의 IP 주소로 도메인을 변환하는 작업을 수행합니다. 지리적 라우팅을 제공하는 서비스로는 AWS Route 53, Cloudflare Load Balancing, Akamai Edge DNS 등이 있습니다. 

 

동작 원리

아래 아키텍처는 지리적 라우팅을 기반으로 서울과 도쿄 2개의 데이터 센터를 설계한 예시입니다. 

  1. 사용자가 도메인으로 접속합니다.
  2. GeoDNS가 사용자의 IP 주소를 분석하여 사용자의 위치를 파악합니다. 
  3. 사용자와 지리적으로 가장 가까운 서버의 IP 주소를 반환합니다.
  • 한국에서 요청 → 서울 데이터 센터로 라우팅
  • 일본에서 요청 →  도쿄 데이터 센터로 라우팅

 

참고로 지리적 라우팅은 이중화의 개념도 포함하고 있어서 평소에는 사용자의 위치를 기반으로 라우팅하다가, 데이터 센터 중 하나에 장애가 발생하면 모든 트래픽을 장애가 없는 데이터 센터로 전달하게 됩니다. 

 

설계 고려사항

지리적 라우팅을 설계할 때 아래와 같은 사항을 고려해야 합니다. 

 

  • 데이터 센터마다 데이터베이스를 별도로 운영하면 데이터의 정합성이 깨질 수 있습니다. 따라서 설계 시 여러 데이터 센터에 걸쳐 데이터베이스를 다중화하는 방안을 고려해야 합니다. 
  • 어플리케이션 배포 시 반드시 동일한 버전이 배포되어야 합니다. 모든 데이터 센터에 동일한 버전의 어플리케이션이 배포될 수 있도록 자동화 배포 도구를 도입할 필요가 있습니다. 그리고 배포 이후 여러 위치에서 동일하게 서비스되는지 테스트하는 것도 중요합니다.  
  • 데이터 센터 장애 상황을 대비하여, 구축 단계에서 사전 장애 복구 훈련을 진행하는 것도 좋은 방법입니다. 

 

728x90

'SA > Architecting' 카테고리의 다른 글

확장성을 고려한 데이터베이스 설계 방안  (2) 2024.11.11
메시지 큐  (0) 2024.11.10
콘텐츠 전송 네트워크 설계  (1) 2024.11.09
캐싱 전략  (0) 2024.11.08
확장성을 고려한 시스템 설계 방안  (0) 2024.11.07