Date: 6월 15, 2018
태그: SQL Server 장애 조치 (failover) 클러스터
AZURE Powershell 1.0을 사용하는 SQL Server 장애 조치 (failover) 클러스터 인스턴스 또는 AG의 경우 ARM에서 #AZURE ILB 구성
이전 게시물에서는 SQL Server 장애 조치 (failover) 클러스터 또는 AG 리소스에 대해 ARM에서 Azure ILB를 구성하는 방법에 대해 자세히 설명했습니다. 이 기사의 지침은 Azure PowerShell 1.0의 GA 이전에 작성되었습니다. Azure PowerShell 1.0을 사용하면 ILB를 만드는 기본 스크립트가 약간 다를 필요가 있습니다. 나머지 기사는 여전히 정확합니다. 그러나 Azure PowerShell 1.0 이상을 사용하는 경우 해당 기사에서 설명하는 ILB를 작성하는 스크립트는 다음과 같아야합니다.
# 아래 나열된 변수의 값을 바꾸십시오. $ ResourceGroupName = 'SIOS-EAST'# SQL 노드가 배포되는 리소스 그룹 이름 $ FrontEndConfigurationName = 'FEEAST'#이 매개 변수에 이름을 지정할 수 있습니다. $ BackendConfiguratioName = 'BEEAST'#이 매개 변수에는 이름을 지정할 수 있습니다. $ LoadBalancerName = 'ILBEAST'# 내부 로컬 잔액 개체의 이름 지정 $ Location = 'eastus2'# SQL 배치의 데이터 센터 위치 입력 $ subname = 'public'# SQL 노드가있는 서브넷 이름을 제공하십시오 $ ILBIP = '10 .0.0.201 '# 리스너 또는로드 밸런서의 IP 주소 제공 $ subnet = Get-AzureRMVirtualNetwork -ResourceGroupName $ ResourceGroupName | Get-AzureRMVirtualNetworkSubnetConfig -name $ subname $ FEConfig = New-AzureRMLoadBalancerFrontendIpConfig -Name $ FrontEndConfigurationName -PrivateIpAddress $ ILBIP -SubnetId $ subnet.Id $ BackendConfig = New-AzureRMLoadBalancerBackendAddressPoolConfig -Name $ BackendConfiguratioName New-AzureRMLoadBalancer -Name $ LoadBalancerName -ResourceGroupName $ ResourceGroupName -Location $ Location -FrontendIpConfiguration $ FEConfig -BackendAddressPool $ BackendConfig
원래 기사의 나머지 부분은 동일하지만 사용하기 쉽도록 여기에 복사했습니다 …
GUI 사용
이제 ILB가 생성되었으므로 ILB가 Resource Group의 Azure Portal에서 표시되어야합니다. 아래 그림을 참조하십시오.
PowerShell을 통해 나머지 구성을 완료 할 수도 있지만 필자의 예에서는 GUI를 사용할 것입니다.
PowerShell을 사용하려면이 기사를보고 스크립트를 작성하십시오. 불행히도이 기사는 나를 혼란스럽게합니다. 나는 언젠가 그것을 알아낼 것이고 그것을 사용자 친화적 인 형식으로 문서화하려고 노력할 것이다. 지금은 GUI가 다음 단계에서 유용하다고 생각합니다.
시작하자
아래의 스크린 샷을 따르십시오. 길을 잃은 경우 Azure Portal 상단의 탐색 힌트를 따라 현재 위치를 파악하십시오.
첫 번째 단계
- 백엔드 풀 설정 탭을 클릭하십시오. 백엔드 풀을 선택하여 가용성 세트 및 가상 시스템을 업데이트합니다. 변경 사항을 저장하십시오.
- 프로브 탭에서 추가를 눌러로드 밸 랜서의 프로브를 구성하십시오. 프로브 이름을 지정하고 TCP 포트 59999를 사용하도록 구성하십시오. 검사 간격과 비정상적인 임계 값을 기본 설정으로 유지했습니다. 즉 ILB가 장애 조치 후 활성 노드 목록에서 수동 노드를 제거하기까지 10 초가 걸립니다. 클라이언트가 새 활성 노드로 리디렉션되는 데 최대 10 초가 걸릴 수 있습니다. 변경 사항을 저장하십시오.
다음 단계
- 로드 균형 조정 규칙 탭으로 이동하여 새 규칙을 추가하십시오. 규칙에 적절한 이름을 지정하십시오 (SQL1433 또는 기타). TCP 프로토콜 포트 1433을 선택합니다 (SQL Server의 기본 인스턴스를 사용한다고 가정). 백엔드 포트로 1433을 선택하십시오. 백엔드 풀의 경우 이전에 만든 백엔드 풀을 선택합니다 (BE). 프로브의 경우 이전에 생성 한 프로브도 선택합니다.
세션 지속성은 사용하지 않으려하지만 플로팅 IP (직접 서버 리턴)를 사용하고자합니다. 유휴 시간 제한을 기본 설정으로 두었습니다. 이 값을 최대 값으로 늘리는 것이 좋습니다. 이유는 연결이 끊어지고 다시 설정되어야 할 때마다 SAP 로그 오류 메시지와 같은 일부 응용 프로그램을 보았다는 것입니다.
- 이 시점에서 ILB가 구성됩니다. SQL Server 장애 조치 (Failover) 클러스터에 필요한 마지막 단계는 단 하나입니다. Classic IP 배포 모델에서 SQL IP 클러스터 리소스를 업데이트해야합니다. 이를 수행하려면 클러스터 노드 중 하나에서만 다음 PowerShell 스크립트를 실행해야합니다. 참고, SubnetMask = "255.255.255.255"는 실수가 아닙니다. 실제 서브넷 마스크와 상관없이 32 비트 마스크를 사용하십시오.
최종 노트 1 개
초기 테스트에서 위의 모든 단계를 완료 한 후에도 여전히 SQL 리소스 이름에 연결할 수 없었습니다. 몇 시간 동안 벽에 머리를 꽂고 나면 SQL 클러스터 이름 리소스가 DNS에 등록되지 않은 것을 발견했습니다. 내가 어떻게되었는지 확실하지 않거나 일관되게 일어날 지 모르겠지만 연결에 문제가 있다면 확실하게 DNS를 확인하고 SQL 클러스터 이름과 IP 주소를 새 A 레코드로 추가합니다 (아직없는 경우).
그리고 물론 좋은 Windows 방화벽을 잊지 마세요. 당신은 1433과 59999에 대한 예외를 만들거나 내가했던 것처럼 모든 것이 올바르게 설정 될 때까지 그냥 꺼야합니다. 어쨌든 로컬 Windows 방화벽 대신 Azure Network Security Groups를 활용하여 모든 Azure 리소스에 대해보다 통일 된 경험을 얻고 싶을 것입니다.
행운을 빌어 어떻게 만들어 지는지 알려주세요.
SIOS가 SQL Server 장애 조치 (Failover) 클러스터를 만드는 방법에 대해 전 세계 기업들에게 어떻게 도움이되는지 확인하려면 여기로 이동하십시오.
Mere Mortals를위한 클러스터링 (Clustering for Mere Mortals)의 허락을 받아 복제했습니다.