다음을 통해 공유


애플리케이션 부하 분산에 대 한 DNS 정책을 사용 하 여

애플리케이션 부하 분산을 수행 하는 DNS 정책을 구성 하는 방법에 알아보려면이 항목을 사용할 수 있습니다.

이전 버전의 Windows Server DNS 라운드 로빈 응답;를 사용 하 여 부하 분산만 제공 됩니다. 하지만 Windows Server 2016, dns 애플리케이션 부하 분산에 대 한 DNS 정책을 구성할 수 있습니다.

애플리케이션의 여러 인스턴스를 배포한 경우 애플리케이션에 대 한 트래픽 부하를 할당 하 여 동적으로, 다른 애플리케이션 인스턴스 간에 트래픽 부하를 분산 DNS 정책을 사용할 수 있습니다.

애플리케이션 부하 분산의 예

다음은 애플리케이션 부하 분산에 대 한 DNS 정책 사용 방법의 예입니다.

This example uses one fictional company - Contoso Gift Services - which provides online gifting services, and which has a Web site named contosogiftservices.com.

Contosogiftservices.com 웹 사이트는 각각 서로 다른 IP 주소를 갖고 있는 여러 데이터 센터에서 호스팅됩니다.

Contoso Gift Services의 주요 시장인 북아메리카에서는 일리노이주 시카고, 텍사스주 댈러스, 워싱턴주 시애틀 등 세 개의 데이터 센터에서 웹 사이트가 호스팅됩니다.

시애틀 웹 서버에 가장 적합 한 하드웨어 구성을 두 개의 다른 사이트와 두 배 많은 부하를 처리할 수 있습니다. Contoso 선물 서비스는 다음과 같은 방식에서 보낸 애플리케이션 소통량을 하려고 합니다.

  • 시애틀 웹 서버에서 더 많은 리소스를 포함 하기 때문에이 서버에 전달 되는 애플리케이션의 클라이언트의 절반
  • 애플리케이션의 클라이언트의 1/4 Dallas 텍사스 데이터 센터에 매핑됩니다.
  • 애플리케이션의 클라이언트의 1/4 주 시카고 데이터 센터에 매핑됩니다.

다음 그림에서는이 시나리오를 보여 줍니다.

DNS 정책을 사용하여 DNS 애플리케이션 부하 분산

애플리케이션 부하를 분산 작동

구성한 후 애플리케이션에 대 한 DNS 정책 사용 하 여 DNS 서버 로드이 예제 시나리오를 사용 하 여 분산 DNS 서버가 응답 하는 50%의 시간 Dallas 웹 서버 주소를 사용 하 여 시간의 25%에서 25% 시카고 웹 서버 주소를 사용 하 여 시간의 시애틀 웹 서버 주소를 사용 합니다.

따라서 DNS 서버가 받으면 마다 4 개의 쿼리에 대 한 응답을 보냅니다 두 응답 시애틀과 마다 하나씩 댈러스와 시카고에 대 한 합니다.

부하 분산 DNS 정책을 사용 하 여 가능한 한 가지 문제는 DNS 클라이언트와 클라이언트 또는 확인자를 전송 하지 마십시오 쿼리 DNS 서버에 때문에 부하 분산이 방해할 수 있는 확인자/LDNS, DNS 레코드를 캐시.

부하 분산이 필요한 DNS 레코드에 낮은 TTL(Time To Live) 값을 사용하여 이 동작의 영향을 줄일 수 있습니다.

애플리케이션 부하 분산을 구성 하는 방법

다음 섹션에서는 애플리케이션 부하 분산에 대 한 DNS 정책을 구성 하는 방법을 보여 줍니다.

영역 범위를 만듭니다

범위 영역 contosogiftservices.com에 대 한 데이터 센터에서 호스팅되는 위치를 먼저 만들어야 합니다.

영역 범위는 영역의 고유 인스턴스입니다. DNS 영역은 자체 DNS 레코드 집합이 포함 된 각 영역 범위를 갖는 여러 영역 범위를 가질 수 있습니다. 동일한 레코드는 동일한 IP 주소 또는 IP 주소가 다른 여러 범위에 있을 수 있습니다.

Note

기본적으로 영역 범위 DNS 영역에 있습니다. 영역을 같은 이름의이 영역 범위 및 레거시 DNS 작업은이 범위에서 작동 합니다.

다음 Windows PowerShell 명령을 사용 하 여 영역 범위를 만들 수 있습니다.

Add-DnsServerZoneScope -ZoneName "contosogiftservices.com" -Name "SeattleZoneScope"
Add-DnsServerZoneScope -ZoneName "contosogiftservices.com" -Name "DallasZoneScope"
Add-DnsServerZoneScope -ZoneName "contosogiftservices.com" -Name "ChicagoZoneScope"

For more information, see Add-DnsServerZoneScope

영역 범위에 레코드를 추가 합니다.

이제 영역 범위에는 웹 서버 호스트를 나타내는 레코드를 추가 해야 합니다.

In SeattleZoneScope, you can add the record www.contosogiftservices.com with IP address 192.0.0.1, which is located in the Seattle datacenter.

In ChicagoZoneScope, you can add the same record (www.contosogiftservices.com) with IP address 182.0.0.1 in the Chicago datacenter.

Similarly in DallasZoneScope, you can add a record (www.contosogiftservices.com) with IP address 162.0.0.1 in the Chicago datacenter.

레코드를 추가 하려면 영역 범위에는 다음 Windows PowerShell 명령을 사용할 수 있습니다.

Add-DnsServerResourceRecord -ZoneName "contosogiftservices.com" -A -Name "www" -IPv4Address "192.0.0.1" -ZoneScope "SeattleZoneScope"
Add-DnsServerResourceRecord -ZoneName "contosogiftservices.com" -A -Name "www" -IPv4Address "182.0.0.1" -ZoneScope "ChicagoZoneScope"
Add-DnsServerResourceRecord -ZoneName "contosogiftservices.com" -A -Name "www" -IPv4Address "162.0.0.1" -ZoneScope "DallasZoneScope"

For more information, see Add-DnsServerResourceRecord.

DNS 정책 만들기

파티션 (영역 범위)를 만든 후 레코드를 추가한 후 contosogiftservices.com에 대 한 쿼리의 50% 시애틀 데이터 센터의 웹 서버에 대 한 IP 주소를 가진 응답 하 고 나머지 시카고 및 Dallas 데이터 센터 간에 동일 하 게 배포 되도록 이러한 범위 간에 들어오는 쿼리를 분산 하는 DNS 정책을 만들어야 합니다.

이러한 세 개의 데이터 센터에서 애플리케이션 트래픽을 분산 하는 DNS 정책을 만들려면 다음 Windows PowerShell 명령을 사용할 수 있습니다.

Note

아래 예제 명령에서 –ZoneScope "SeattleZoneScope,2, ChicagoZoneScope,1, DallasZoneScope,1"은 <ZoneScope>,<weight> 매개 변수 조합을 포함하는 배열로 DNS 서버를 구성합니다.

Add-DnsServerQueryResolutionPolicy -Name "AmericaPolicy" -Action ALLOW -ZoneScope "SeattleZoneScope,2;ChicagoZoneScope,1;DallasZoneScope,1" -ZoneName "contosogiftservices.com"

For more information, see Add-DnsServerQueryResolutionPolicy.

이제 성공적으로 만든 세 가지 다른 데이터 센터의 웹 서버에 걸쳐 분산 애플리케이션 부하를 제공 하는 DNS 정책을 합니다.

관리 요구 사항을 트래픽이 따라 DNS 정책의 수천을 만들 수 있습니다 하 고 들어오는 쿼리-DNS 서버를 다시 시작 하지 않고 모든 새 정책-동적으로 적용 됩니다.