Analysis
고객사는 다양한 스마트 홈 기기와 솔루션을 개발, 판매하는 회사로 장애 발생에 즉각적으로 대처하여 연속적인 서비스 운영을 보장받길 원합니다. 따라서 텐센트클라우드를 이용하여 DR을 고려한 multi-region 설계를 제공해야 합니다. 두 리전 간의 네트워크 연결 방식은 peering connection을 채택하였고 고객사의 예산 상황에 따라 조정할 수 있습니다. 또한 DNSPod과 CLB를 통해 Global load balancing을 구현하고 DNSPod의 라운드로빈 기반 라우팅 세팅으로 메인 리전 - 서브 리전 간의 트래픽 라우팅을 관리합니다.
Architecture Blueprint
1) VPC 설정: 고객사는 텐센트 클라우드의 두 개의 리전을 사용하여 서비스를 운영합니다.
이를 통해 재해 발생 시 데이터 손실을 방지하고 서비스 연속성을 유지할 수 있습니다.
2) DNSPod 및 CLB설정 (global load balancing): 모든 외부 트래픽은 DNSPod의 라운드로빈 알고리즘을 통해
VPC A로 우선적으로 라우팅하여 주 리전의 가용성을 최대화하고, 정상적인 운영 시 모든 트래픽을 처리하도록 합니다.
위와 같이 DNSPod 콘솔에서 Weight 값을 설정하여 라우팅 방식을 조정합니다.
이 사례에서는 주 리전의 Weight 를 100, 서브 리전의 Weight를 0으로 설정하였습니다.
3) CLB 및 Auto Scaling: 리전A로 들어온 트래픽은 CLB를 통해 웹서버 및 애플리케이션 서버 그룹에 분산되며,
트래픽 양에 따라 Auto Scaling 서비스가 스케일 아웃을 자동으로 진행합니다.
4) 데이터베이스 연결: 서버그룹은 필요에 따라 프라이빗 서브넷에 위치한 TencentDB와 연결됩니다.
사례에서는 MySQL을 사용하였지만 고객사 요구사항에 따라 적합한 TencentDB를 선택합니다.
이 데이터베이스는 스마트홈 기기의 상태, 사용자 설정, 이벤트 로그 등을 저장합니다.
5) 리전 간 동기화: 두 리전 간의 VPC는 Peering connection으로 연결되어 있으며, 필요에 따라 텐센트클라우드를
통한 추가적인 동기화 방식을 제안할 수 있습니다. 이는 주 리전에 장애가 발생했을 때, 서브 리전에서 빠르게 서비스를
복구할 수 있도록 합니다.
6) DB 동기화: 리전 간의 데이터베이스 동기화는 DTS를 통해 이루어집니다. 이는 주 리전의 데이터베이스 변경사항을
실시간으로 보조 리전의 데이터베이스에 복제하여 데이터 일관성과 가용성을 보장합니다.
Overall
해당 아키텍처는 스마트홈 솔루션 제공업체의 필요와 텐센트 클라우드의 서비스를 통합하여 설계되었습니다.
DNSPod, CLB, Auto Scaling, Tencent DB, 그리고 VPC Peering connection을 포함한 복제 및 동기화 메커니즘을 통해, 서비스의 신뢰성과 가용성을 최대화하면서 재해 발생 시 신속한 복구를 가능하게 합니다.
특히, DTS를 활용한 리전 간 DB 동기화 전략은 데이터 일관성을 보장하며, 전 세계 사용자에게 끊김 없는 서비스를 제공합니다. 고객사는 Tencent cloud를 통해 사용자에게 서비스의 시작부터 확장까지 비용 효율적이면서도 안정적인 경험을 제공할 수 있습니다.
Products we used
- CVM : https://www.tencentcloud.com/products/cvm
- CLB : https://www.tencentcloud.com/products/clb
- TencentDB for MySQL : https://www.tencentcloud.com/products/cdb
- Auto-scaling : https://www.tencentcloud.com/products/as
- DTS : https://www.tencentcloud.com/products/dts
- Peering connection : https://www.tencentcloud.com/products/pc
- DNSPod : https://www.dnspod.com/