본문 바로가기

AWS Design Pattern/운영 유지 보수 패턴

Weighted Transition - 가중치 라운드 로빈 DNS적용을 이용한 이전

ㅁ  풀어야 할 문제

시스템 전부를 어떤 지역에서 다른 지역으로 이전해야 할 때가 있다. 예를 들어, 일반 데이터 센터에서 클라우드로 시스템을 이전하는 경우나 클라우드의 어떤 지역에서 다른 지역으로 이전하려고 하는 경우를 생각할 수 있다.

이럴 때는 시스템 도메인 명을 변경하지 않거나 시스템의 정지 없이, 가능하면 서비스에 영향을 주지 않고 이전을 하고 싶어하는 경우가 많다.

 

ㅁ  해결/패턴

도메인 명을 변경하지 않고 전 시스템을 이전하려면, DNS 서버에서 웨이티드 라운드 로빈(Weighted Round Robin)이라는 기능을 이용해 도메인을 찾을 때 기존 시스템에서 새로운 시스템으로 변경하는 방법이 있다.

처음에는 새로운 시스템에 작은 비율을 할당하고, 문제가 없다면 천천히 할당 비율을 늘려갈 수 있다. 클라우드에서 제공하는 DNS 서비스를 이용하면 웨이티드 라운드 로빈 설정도 쉽게 할 수 있다. 따라서 DNS 서버 운영에 대하여 큰 문제 없이 이전 작업을 할 수 있다.

 

ㅁ  구현

AWS Route 53(DNS 서비스)로 웨이티드 라운드 로빈(Weighted Round Robing)기능을 이용해 아래와 같이 이전 할 수 있다.

-       Route 53 Hosted Zone에 기존 시스템의 Record Set을 만든다.

-       기존 시스템과 같은 구성으로 새로운 시스템을 준비한다.

-       Route 53 Hosted Zone 중에서 새로운 시스템으로의 Record Set을 만들고 웨이티드 라운드 로빈 설정을 한다.

-       처음에는 새로운 시스템으로의 비율을 정말 작게 해두고(예를 들어, 1%) 문제가 없다면 천천히 할당 비율을 늘려 최종적으로는 새로운 시스템으로 완전히 이전한다.

ㅁ  장점

-       기존 시스템을 변경하지 않고 새로운 시스템으로 이전 가능하다.

-       트래픽을 조정해가며 기존 시스템에서 이전할 수 있어 어떤 문제가 발생해도 바로 기존 시스템으로의 복원이 가능하다.

 

ㅁ  주의점

-       이전할 때 데이터베이스의 데이터 동기가 필요할 경우 그 부분에 대해서는 별도로 고려해야 한다.