DNS 서비스를 이용한 네트워크 서비스의 부드러운 전환
Categories:
서비스 도메인이 example.domain이고, 원 서버 IP 주소가 A이며 서버 마이그레이션이나 IP 변경으로 인해 새 서버 IP 주소가 B라고 가정합니다. 사용자가 인지하지 못하도록 DNS 서비스를 이용해 네트워크 서비스를 부드럽게 전환할 수 있습니다.
- 원래 서비스 상태:
example.domain이 IP 주소A로 해결됩니다. - 전이 상태:
example.domain이 IP 주소A와B로 해결됩니다. - 새로운 서비스 상태:
example.domain이 IP 주소B로 해결되고, IP 주소A가 제거됩니다.
설명: 사용자가 두 개의 해결 주소를 받을 때, 클라이언트는 하나를 선택하여 연결하고, 연결이 실패하면 다른 주소를 시도하여 서비스의 가용성을 보장합니다.
DNS 해결에는 캐시가 존재하므로 부드러운 전환을 보장하기 위해 전이 상태를 일정 기간 유지하여 모든 캐시가 만료되도록 해야 합니다.
여기서는 DNS 서비스를 마이그레이션해야 하므로 전이 상태에서 DNS 재작성을 설정하여 마이그레이션 과정을 가속화할 수 있습니다.
A 서비스 재작성 규칙:

B 서비스 재작성 규칙:

원래 마이그레이션 절차가 확장됩니다:
- 원래 서비스 상태:
example.domain이 IP 주소A로 해결됩니다. - 전이 상태:
example.domain이dns A서비스에서A와B로 재작성되고,dns B서비스에서B로 재작성됩니다. - 새로운 서비스 상태:
example.domain이 IP 주소B로 해결되고, IP 주소A가 제거됩니다.
사용자가 여전히 dns A 서비스를 사용하는 경우 두 주소를 받을 수 있으며, 절반의 확률로 dns A 서비스를 선택합니다.
다른 절반의 확률로 dns B 서비스로 전환되며, dns B 서비스에 장애가 발생하면 dns A로 전환됩니다. dns B 서비스에 장애가 없으면 하나의 주소만 받게 되어 사용자는 dns B 서비스에 머무르게 됩니다.
이를 통해 리소스 소비를 직접 중단하는 대신 점차적으로 dns A 서비스의 리소스 소비를 줄여 더 부드러운 마이그레이션을 구현할 수 있습니다.