본문 바로가기

네임서버

DNS를 사용하여 Round Robin 방식으로 로드 밸런싱하는 방법

반응형

DNS를 사용하여 Round Robin 방식으로 로드 밸런싱하는 방법

Round Robin은 여러 서버 중에서 각각 차례로 요청을 분산시키는 방식입니다.

1. 여러 서버의 IP 주소 획득

로드 밸런싱하려는 여러 서버의 IP 주소를 얻습니다.

2. DNS 레코드 구성

DNS 레코드를 구성하여 각 서버의 IP 주소를 하나의 도메인에 대해 여러 레코드로 등록합니다.

이때, 같은 도메인에 대해 여러 IP 주소를 등록하면 됩니다.

vim scbyun.com.zone
$TTL 60
@ IN SOA scbyun.com. root.scbyun.com. (
                                   2010020501 ; Serial
                                   28800 ; Refresh
                                   14400 ; Retry
                                   3600000 ; Expire
                                   86400 ) ; Minimum

                IN NS ns.scbyun.com.
ns              IN A 10.0.10.124

www             IN A 10.0.10.124
                IN A 10.0.10.125
                IN A 10.0.10.126

3. TTL(Time-To-Live) 설정

TTL은 DNS 레코드가 캐시될 시간을 나타냅니다. 캐시 시간 동안 동일한 IP 주소가 반환됩니다. 적절한 TTL 값을 선택하여 설정합니다.

4. 로드 밸런싱 확인

DNS 쿼리를 통해 도메인에 대한 IP 주소를 확인할 때마다 다른 순서로 IP 주소가 반환되는지 확인합니다.

ping www.scbyun.com
$ ping www.scbyun.com
PING www.scbyun.com (10.0.10.126) 56(84) bytes of data.

--- www.scbyun.com ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 1000ms
$ ping www.scbyun.com
PING www.scbyun.com (10.0.10.125) 56(84) bytes of data.

--- www.scbyun.com ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms
$ ping www.scbyun.com
PING www.scbyun.com (10.0.10.124) 56(84) bytes of data.

--- www.scbyun.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms

 

DNS Round Robin 로드 밸런싱의 주요 한계는 모든 클라이언트가 DNS 캐시를 무시하고 매번 새로운 DNS 쿼리를 수행한다는 점입니다. 또한, 각각의 서버가 동일한 부하를 갖고 있다고 가정하므로 서버 간의 실제 로드를 고려하지 않습니다. 더 고급화된 로드 밸런싱을 위해서는 전용 로드 밸런서 솔루션을 사용하거나 클라이언트 측 로드 밸런싱을 고려할 수 있습니다.

 

728x90
반응형