SQL Server/SQL Server Tip

Windows Server 2012 R2 그룹 관리 서비스 계정 및 SQL 서버

SungWookKang 2015. 7. 23. 09:24
반응형

Windows Server 2012 R2 그룹 관리 서비스 계정 및 SQL 서버

 

  • Version : SQL Server 2005, 2008, 2008R2, 2012
  • Windows Server 2012 R2

 

SQL Server 계정을 변경할 때 서비스 다운타임이 고민된다면 Windows Server 2012 R2의 그룹 관리 서비스 계정을 사용하면 어떨까?

 

이번 포스트는 SQL Server Premier Field Engineer Blog에 게시된 내용으로 필자가 읽고 이해한 내용을 정리하였으며 번역의 오류나 기술적 오류가 있음을 미리 알려둔다. 자세한 내용은 원문을 참고 하길 바란다.

 

윈도우 서버 2008R2에 도입된 독립 관리 서비스 계정은 도메인 계정을 관리하고 자동 암호 관리 및 간소화된 SPN 관리, 관리가 권한 위임 등을 포함한다.

 

도메인 관리 서비스 계정은 그룹 관리 서비스 계정 또는 gMSA의 동일한 기능을 제공하고 여러 서버에 기능을 확장 한다. gMSA는 하나의 서비스 계정에 서버 그룹을 연결 할 수 있다. 본질적으로 gMSA는 MSA와 다르다. MSA는 하나의 도메인 서버에 사용될 수 있다.

 

gMSA는 다중 SQL Server 인스턴스, SQL Server AlwaysOn 다중 노드 그리고 SQL Server서비스가 요구하는 도메인 계정을 필요로하는 곳에 사용된다.

 

서비스 계정 관리 그룹이 서비스 주체로 사용하는 경우 Windows 운영 체제 대신 암호를 관리하는 관리자에 의존하는 계정의 암호를 관리한다. 이것은 더 이상 암호 관리, 다운 타임 최소화 및 SQL 환경에 대한 총 소유 비용을 의미한다.

 

윈도우 서버 2012 그룹 관리 서비스 계정을 사용하는 두 노드의 SQL Server AlwaysOn 데이터베이스 가용성 그룹을 적용하는 단계를 알아보자.

 

[gMSA에 대한 요구 사항]

  • 적어도 하나 이상의 도메인 컨트롤러 필요
  • Active Directory의 파워쉘 모듈 포함하는 AD 도메인 컨트롤러
  • Windows Server 2012 R2 호스트에서 gMSA 서비스 실행

 

 

[gMSA를 만들 때 네 가지 기본 단계]

  • AD 도메인 컨트롤러에 KDS 루트키 만들기
  • 컴퓨터 그룹을 만들고 컴퓨터 개체를 추가
  • 그룹 관리 서비스 계정 만들기
  • gMSA를 사용하도록 호스트 구성

 

 

[SQL Server AlwaysOn 에서 gMSA 사용하기]

Windows Server 2012 R2 AD 도메인 컨트롤러 와 윈도우 클러스터에 가입한 두 개의 Windows Server 2012 R2 노드가 있다. 각 클러스터 노드에 독립 SQL 서버 인스턴스를 설치하기 위해 계획하고 그룹 관리자 서비스를 사용하여 각 인스턴스에 대한 암호를 관리할 필요가 없어졌다.

 

Active Directory 도메인 컨트롤러에 AD의 파워쉘 모듈을 가져 오려면 다음 명령을 실행 한다.

 

 

AD에서 도메인 컨트롤러 KDS 루트키를 만들려면 다음 명령을 실행 한다.

 

 

AD에서 도메인 컨트롤러 SQLSVC라는 도메인 서비스 계정을 만들려면 다음 명령을 실행 한다.

 

 

위의 명령을 실행 한 후 AD에서 관리 서비스 계정 컨테이너의 표준 권한이 낮은 도메인 계정을 볼 수 있다. 참고적으로 서비스 계정 암호는 기본적으로 240자 임의의 암호로 작성한다.

 

컴퓨터 그룹에서 클러스터 노드를 추가한다.

 

AlwaysOn MSA 그룹섭에서 사용하기 위해 gMSA를 구성한다. 다음 파워쉘 명령을 실행 한다.

 

 

SQL 서버를 설치할 때 SQLSVC 계정을 사용하도록 설정하였다. 단순히 AD 서비스 계정 이름 끝에 $를 추가하여 서비스 계정과 암호관리가 자동으로 이루어 진다.

 

구성원을 추가

Set-ADServiceAccount [-Name] SQLsvc-PrincipalsAllowedToRetrieveManagedPassword Host1 Host2 Host3

 

구성원 제거

Remove-ADPrincipalGroupMembership -Identity "SQLsvc" -MemberOf "AlwaysOn_MSA"

 

그룹 관리 서비스 계정 제거

 

 

SQL Server가 시작 될 때 호스트 이름 대신 SQL Server 서비스 계정(SQLSVC)로 사용되는 것을 알 수 있다.

 

SQL Server가 gMSA로 시작하도록 설정하면 계정이 자신의 SPN을 등록하는데 필요한 권한을 갖게 된다. 그러나 도메인 기능 수준이 최소 Windows Server 2012 이상이어야 한다. 다른 경우에는 수동으로 SPN을 등록하거나 서비스 계정에 대한 쓰기 SPN 권한을 부여할 필요가 있다.

 

 

[참고자료]

http://blogs.msdn.com/b/sql_pfe_blog/archive/2013/11/15/windows-server-2012-r2-group-managed-service-accounts-and-sql-server-2014-ctp2.aspx

 

 

2013-11-27 / 강성욱 / http://sqlmvp.kr

 

 

 

반응형