알리바바 클라우드의 GTM 서비스는 비즈니스의 요구사항에 따른 트래픽의 분기를 구현할 수 있는 서비스이다.
GTM을 사용하는 기업은 각 지역별 유저, 트래픽의 양, 애플리케이션의 특성에 따라 하나의 도메인으로 서비스 애플리케이션을 분기할 수 있다.
Alibaba Cloud의 GTM서비스는 크게 아래 4가지의 기능을 제공한다.
애플리케이션 서비스의 주소(IP 주소 혹은 도메인)를 관리하기 위해 Address Pool 기능을 이용할 수 있다. 하나의 Address Pool은 IP 주소나 도메인의 그룹으로 이루어진다.
Access Policy 는 총 2가지의 설정으로 관리할 수 있다.
Health Check를 이용하면 실시간으로 애플리케이션의 Availability를 모니터링할 수 있다. 이 기능은 ping, tcp, http(s) 프로토콜을 이용한다.
만약 Health Check 기능에서 Primary address pool이 unavailable상태로 감지된다면 GTM은 자동으로 Secondary address pool로 스위치 오버를 작동한다. 이 기능이 작동되면 Secondary address pool에 해당하는 서버들은 유저의 DNS 요청에 리다이렉션을 보내게 된다.
데모에서 구성할 절차는 아래와 같다.
접속용 인스턴스 생성 > Authorize GTM > GTM 인스턴스 생성 > Basic Configuration > DNS 설정 > Address Pool 생성 > 로케이션 기반 접근 제어 설정 > Latency 기반 접근 제어 설정 > Health Check 설정 > 결과 테스트
본 시나리오에서 테스트할 인스턴스들을 생성한다.
지역 기반 접근 제어에서 접속되는 서비스들을 구분하기 위해 각 4가지 종류(Skull, Bowow, Bear, Meow)의 서비스를 만들었다.
만약 GTM을 처음 사용한다면 본 서비스의 사용을 위해 Authorize 작업이 필요하다.
이 작업은 Alibaba Cloud DNS 콘솔의 Global Traffic Manager 메뉴를 선택하면 확인할 수 있다.
만약 본 화면이 나오지 않는다면 이미 인증이 되어있는 계정일 것이다.
GTM은 2가지 종류의 인스턴스 Edition을 제공한다. 두 가지 Edition의 차이점은 아래와 같다.
구매한 GTM 인스턴스를 사용하기 위한 가장 기본적인 설정이다.
Alibaba Cloud DNS 콘솔 > Global Traffic Manager > Instance 선택 > Advanced Settings
Alibaba Cloud DNS 콘솔 > Global Traffic Manager > Instance 선택 > Advanced Settings > Basic Configuration > Edit
설정이 완료된 후 Confirm을 누르면 우리가 설정한 값들이 Basic Configuration에 나타남을 확인한다.
여기서 나오는 CNAME을 노트한다
노트한 CNAME을 위에서 설정한 실사용 도메인에 추가를 한다.
Alibaba DNS 콘솔 > Manage DNS > DNS Setting > 사용할 DNS 선택 > Add Record
아래 옵션을 참조하여 CNAME을 설정한다.
애플리케이션의 서버 혹은 서버 그룹을 Address Pool로 설정한다. 이 Address Pool은 이후 접근 제어에서 사용한다.
Alibaba Cloud DNS 콘솔 > Global Traffic Manager / Address Pool Configurations > Create Address Pool
아래 옵션을 참고하여 Address Pool을 설정한다.
데모에서는 총 4개의 Address Pool을 사용하여 분기를 설정할 것이다.
설정된 Address Pool을 GTM 이용하여 로케이션 기반 접근 제어를 설정할 수 있다. 본 데모에서는 각 한국, 일본, 홍콩, 싱가포르에서 접속하는 유저에 따라 서로 다른 서비스를 연결하도록 설정할 것이다.
Alibaba Cloud DNS 콘솔 > Global Traffic Manager > Basic Configuration > Access Policy Based on Geo Location > Set Access Policy
접속된 화면에서 Add Access Policy 를 선택한다.
아래 옵션을 참고하여 지역 기반 접근 제어를 설정한다.
입력 이후 설정된 접근 제어를 확인한다. 본 데모에서는 싱가포르-Skull / 홍콩-Bear / 일본-Bowow / 한국-Meow로 설정하였다.
레이턴시 기반으로 부하 분산을 수행할 접근 제어 정책을 설정한다.
Alibaba Cloud DNS 콘솔 > Global Traffic Manager > Basic Configuration > Access Policy Based on Latency > Set Access Policy
접속된 화면에서 Add Access Policy 를 선택한다.
아래 옵션을 참고하여 Latency 기반 접근 제어 정책을 설정한다.
입력 후 설정된 값을 확인한다.
각 Address Pool에 설정된 서버들의 상태를 실시간으로 체크하기 위해 Health Check를 설정한다.
Alibaba Cloud DNS 콘솔 > Global Traffic Manager > Address Pool Configurations > 설정할 Address Pool Name 선택 > Health Check > Add
아래 옵션을 참조하여 Health Check를 설정한다.
설정된 접근 제어 정책 중, 지역 기반의 정책을 테스트하기 위하여 각 싱가포르, 홍콩, 한국, 일본 지역에 인스턴스를 배포했다. 배포된 각 지역의 인스턴스에서 설정된 도메인으로 curl 명령어를 수행하여 정상적으로 기능이 동작하는지 확인한다.
한국 리전에서 접속 – Meow 확인
싱가포르 리전에서 접속 – Skull 확인
일본 리전에서 접속 – Bowow 확인
홍콩 리전에서 접속 – Bear 확인
애플리케이션 서비스에 1.1.1.1 및 2.2.2.2를 포함하여 두 개의 IP 주소가 있다고 가정한다. 정상적인 조건에서 사용자는 IP 주소 1.1.1.1을 사용하여 서비스에 접근한다. IP 주소 1.1.1.1에 접속 실패하면 접근 트래픽을 IP 주소 2.2.2.2로 전환해야 한다.
GTM을 사용하여 Pool A와 Pool B를 생성한다. 두 개의 주소 풀에 IP 주소 1.1.1.1 및 2.2.2.2를 추가한 다음 상태 확인 기능을 구성한다. 액세스 정책을 구성할 때 Primary를 Pool A로 설정하고 Secondary를 Pool B로 설정한다. 이렇게 재해 복구 시나리오를 수행할 수 있다.
애플리케이션 서비스에 1.1.1.1, 2.2.2.2 및 3.3.3.3을 포함하여 3개의 IP 주소가 있다고 가정한다. 사용자는 세 개의 IP 주소를 동시에 접속에 사용할 수 있다. 정상적인 조건에서 DNS는 동시에 세 개의 IP 주소를 반환한다. 세 개의 IP 주소 중 하나가 접속에 실패하면 해당 주소는 DNS 주소 목록에서 일시적으로 제거되고 사용자에게 반환되지 않는다. IP 주소를 사용할 수 있게 되면 주소 목록에 추가된다.
GTM을 사용하여 IP 주소 1.1.1.1, 2.2.2.2 및 3.3.3.3을 포함하는 Address Pool A를 만들 수 있다. Primary Address Pool Set을 Pool A로 설정한 다음 Health Check를 활성화하고 구성한다. 이러한 방식으로 여러 IP 주소에 대한 Redundancy를 설정할 수 있다.
대기업은 국가 또는 전 세계의 지역에서 네트워크 서비스를 제공해야한다. 네트워크 액세스는 지역마다 다른 네트워크 조건의 영향을 받는다. 따라서 기업은 해당 지역의 핵심 위치에 액세스 포인트를 설정해야한다. 각각 다른 지역의 사용자는 가장 가까운 액세스 포인트에서 서비스에 액세스할 수 있다.
GTM은 다음 두 가지 액세스 정책을 제공한다.
지금까지 GTM의 기능과 설정 방법, 그리고 사용할 수 있는 비즈니스 시나리오에 대해 알아보았다. 알리바바 클라우드의 GTM을 이용한다면, 비교적 저렴한 비용으로 서비스를 이용하여 비즈니스 서비스의 HA와 퍼포먼스를 강화할 수 있을 것이다.
만약 해당 솔루션에 대해 추가적으로 궁금한 점이 있거나 테스트 가이드를 원하신다면 아래 주소로 메일을 보내주시기 바랍니다.
cloud-korea@alibaba-inc.com
Alibaba Cloud Massage Queue for RocketMQ, RabbitMQ, MQTT, Kafka 비교 정리
JJ Lim - December 3, 2021
Haemi Kim - June 15, 2021
Edwin Tack - February 21, 2024
Edwin Tack - February 21, 2024
JJ Lim - December 31, 2021
Edwin Tack - February 21, 2024
Allows you to access the nearest node based on the Domain Name System (DNS) architecture.
Learn MoreAlibaba Cloud offers an accelerated global networking solution that makes distance learning just the same as in-class teaching.
Learn MoreConnect your business globally with our stable network anytime anywhere.
Learn MoreAlibaba Cloud DNS is an authoritative high-availability and secure domain name resolution and management service.
Learn MoreMore Posts by JJ Lim
Dikky Ryan Pratama June 26, 2023 at 12:45 am
Awesome!