다음을 통해 공유


부하 분산 구성하기

LBS(부하 분산 서버) 서비스 역할을 하는 각 RPC 프록시 컴퓨터는 서버 팜의 서버에 대한 지식이 있는 LBS 서비스로 구성되어야 합니다. 필요에 따라 기본 리소스를 설정할 수 있으며 LBS에 대한 프록시 및 LBS에서 LBS RPC 호출로의 보안을 설정할 수 있습니다. 이러한 설정은 아래에 설명된 대로 필수 레지스트리 키선택적 레지스트리 키 집합에 의해 구성됩니다.

필수 레지스트리 키

LBS 서버를 구성하려면 여러 레지스트리 키와 값이 필요합니다. 키가 없거나 오류가 발생하면 Windows 이벤트가 기록됩니다. 기록된 이벤트에 대한 자세한 내용은 각 키 및 값에 대한 설명을 참조하세요.

서버 팜을 구성하려면 LBSConfiguration이라는 HKLM\SOFTWARE\Microsoft\Rpc\RpcProxy 레지스트리 키를 만들어야 합니다. LBSConfiguration 키 아래에는 서버 팜의 각 리소스에 대한 키가 만들어집니다. 키 이름은 리소스에 대한 GUID의 문자열 표현입니다. 하나 이상의 리소스 키가 있어야 하며, 이 리소스는 RPC/HTTP 바인딩을 만들 때 RPC_BINDING_HANDLE 바인딩 핸들에서 클라이언트가 설정한 UUID와 동일합니다(자세한 내용은 RpcBindingSetObject 참조). 각 리소스 UUID 키 아래에 사용된 구성을 설명하는 ConfigurationType이라는 DWORD 값이 있어야 합니다. 또한 ServerFarm이라는 세미콜론으로 구분된 서버 식별자의 REG_SZ 있어야 합니다. ServerFarm 키에서 식별되는 서버는 부하 분산 서버 팜의 멤버인 서버입니다.

다음은 필요한 레지스트리 키 및 값에 대한 자세한 분석입니다.

HKLM\SOFTWARE\Microsoft\Rpc\RpcProxy\LBSConfiguration

레지스트리 키입니다. LBSConfiguration 키는 LBS 구성을 보유하는 레지스트리 키입니다. 여기에는 부하 분산할 리소스 UUID , 각 리소스에 대한 구성 유형 및 부하 분산에 참여하는 서버 팜의 서버가 포함됩니다. 이 키가 없거나 잘못된 경우 LBS는 구성된 것으로 간주되지 않으며 LBS 서비스가 실행되지 않습니다.

-

HKLM\SOFTWARE\Microsoft\Rpc\RpcProxy\LBSConfiguration\XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

레지스트리 키입니다. 리소스 UUID 키는 부하가 분산될 리소스 UUID를 식별합니다. 이 리소스 UUID는 클라이언트가 바인딩 핸들에 설정한 UUID와 동일하며 RPC_BINDING_HANDLE. 부하를 분산하려면 하나 이상의 리소스 UUID가 있어야 하며 여러 리소스 UUID가 있을 수 있습니다. 서버 팜은 하나만 있을 수 있으며 모든 엔드포인트는 서버 팜 내의 모든 서버에 있어야 합니다. 이 키를 유효한 UUID로 구문 분석할 수 없는 경우 이벤트 RPCPROXY_EVENTLOG_LB_INVALID_KEY(0xC0000006) 가 Windows 이벤트 로그에 기록됩니다.

-

HKLM\SOFTWARE\Microsoft\Rpc\RpcProxy\LBSConfiguration\XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\ConfigurationType

DWORD. ConfigurationType DWORD는 리소스 UUID 키 아래에 저장됩니다. 허용되는 값은 1뿐입니다. 이 값이 1이 아닌 경우 이벤트 RPCPROXY_EVENTLOG_LB_UNKNOWN_CFG_TYPE(0xC0000007) 가 Windows 이벤트 로그에 기록됩니다.

-

HKLM\SOFTWARE\Microsoft\Rpc\RpcProxy\LBSConfiguration\XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX\ServerFarm

REG_SZ. ServerFarm 레지스트리 값에는 서버 식별자의 세미콜론으로 구분된 목록이 포함됩니다. 서버 식별자의 형식은 다음과 같습니다.

"ServerID1,ServerPort1,LBSPort1,[LBSPort2, ... LBSPortN];"

여러 서버 식별자가 ServerFarm 레지스트리 키에 나열되어야 합니다. 세미콜론으로 구분해야 합니다. 서버 식별자의 일부인 필드는 다음 표에 설명되어 있습니다. 이 필드를 올바르게 구문 분석할 수 없으면 이벤트 RPCPROXY_EVENTLOG_LB_BAD_CONFIG_ENTRY(0xC0000008) 가 Windows 이벤트 로그에 기록됩니다.

식별자 필드 요구 사항 설명
ServerID Required 서버의 확인 가능한 네트워크 이름입니다. DNS 이름, netbios 이름 또는 IP 주소일 수 있습니다.
ServerPort 선택 사항 지정된 경우 서버가 RPC/HTTP 연결을 수신 대기하는 포트입니다. 지정하지 않으면 서버 컴퓨터의 끝점 매퍼를 사용하여 서버 포트를 찾습니다.
LBSPort 선택 사항 지정된 경우 서버가 LBS를 수신 대기하는 포트입니다. 이 키를 사용하려면 netsh RPC 방화벽 명령을 사용하여 LBS 인터페이스를 정적 엔드포인트로 설정해야 합니다. netsh 명령의 예제는 부하 분산 모범 사례를 참조하세요.

 

선택적 레지스트리 키

LBS 서버를 구성하는 세 가지 선택적 레지스트리 값이 있습니다. 키는 주로 LBS 서비스에 대한 호출에 대한 보안 수준을 제어하고 사용할 기본 리소스 UUID도 제어합니다. 선택적 값은 다음과 같습니다.

다음은 필요한 레지스트리 키 및 값에 대한 자세한 분석입니다.

HKLM\SOFTWARE\Microsoft\Rpc\RpcProxy\LBSConfiguration\NoSecurity

DWORD. NoSecurity DWORD가 없거나 0으로 설정되면 LBS 서비스에 들어오는 비보안 호출이 거부됩니다. 0이 아닌 경우 LBS 서비스에 대한 수신 비보안 호출은 거부되지 않습니다. 이 키는 LBS 서비스를 시작할 때 한 번 읽습니다.

-

HKLM\SOFTWARE\Microsoft\Rpc\RpcProxy\LBSConfiguration\AssumeResourceUUID

DWORD. AssumeResourceUUID DWORD가 없는 경우 LBS 서비스가 변경되지 않습니다. 있는 경우 유효한 UUID로 설정해야 합니다. 이 UUID 는 리소스 UUID를 지정하지 않는 모든 연결에 대한 리소스 UUID로 사용됩니다. 이는 클라이언트가 RPC/HTTP 바인딩을 만들 때 리소스 UUID를 지정하지 않지만 관리자가 RPC/HTTP 트래픽을 서버 팜으로 부하 분산하려는 경우에 일반적으로 사용됩니다. 이 키를 UUID로 구문 분석할 수 없는 경우 내부 RPC 오류가 발생하여 활성화된 경우 RPC_EXTENDED_ERROR_INFO 생성됩니다.

-

HKLM\Software\Microsoft\Rpc\RPCHTTPLBSServer\NoSecurity

DWORD. NoSecurity DWORD가 표시되지 않거나 0으로 설정되면 LBS 서비스에 대한 모든 발신 호출에 보안이 적용됩니다. 0으로 설정되지 않은 경우 LBS 서비스에 대한 모든 발신 호출에는 보안이 적용되지 않습니다. 이 설정이 HKLM\SOFTWARE\Microsoft\Rpc\RpcProxy\LBSConfiguration\NoSecurity 설정과 일치하는 지 확인 합니다.