AWS Cloud에서 SQL Server Always On 가용성 그룹 클러스터를 생성하려면 어떻게 해야 합니까?

7분 분량
0

AWS 클라우드에서 SQL Server Always On 가용성 그룹 클러스터를 생성하려고 합니다. 어떻게 해야 합니까?

간략한 설명

AWS 클라우드에 SQL Server Always On 가용성 그룹 클러스터를 생성하려면 먼저 각 클러스터 노드 탄력적 네트워크 인터페이스에 대해 2개의 보조 IP를 구성합니다. 그런 다음, RDP(Remote Desktop Protocol)를 사용하여 도메인 관리자 계정으로 클러스터 노드 인스턴스에 연결합니다. 마지막으로, 2개 노드 Windows 클러스터 및 SQL Server Always On 가용성 그룹을 생성합니다.

AWS Launch Wizard를 사용하여 SQL Server Always On 그룹 배포를 생성할 수도 있습니다. Launch Wizard는 사용 사례를 기반으로 SQL Server 데이터베이스를 자동으로 프로비저닝할 AWES 리소스를 식별합니다. 자세한 내용은 AWS Launch Wizard for SQL Server란 무엇입니까?를 참조하세요.

해결 방법

사전 요구 사항

  • Virtual Private Cloud(VPC) 내 가용 영역에서 2개의 Amazon Elastic Compute Cloud(Amazon EC2) Windows Server 인스턴스(버전 2012 R2 이상)를 시작합니다.
  • SQL Server 2014 64비트 Enterprise Edition 이상을 사용합니다. 테스트를 위해 SQL Server 2014 64비트 Evaluation Edition 이상을 사용합니다.
  • SQL Server 마스터 데이터 파일, 로그 데이터 파일 및 SQL 백업 파일을 호스팅하도록 보조 Amazon Elastic Block Store(EBS) 볼륨을 구성합니다. 이때 모범 사례는, 대규모 SQL Server 데이터베이스 워크로드에 대해 프로비저닝된 IOPS SSD(io1) EBS 볼륨을 선택하는 것입니다.
  • 프라이빗 서브넷에 클러스터 노드를 배포합니다. 그런 다음, RDP를 사용하여 점프 서버에서 클러스터 노드 인스턴스로 연결할 수 있습니다.
  • 제한적인 환경에서 노드가 통신할 수 있도록 보안 그룹 인바운드 규칙 및 Windows 방화벽 예외를 구성합니다. Microsoft 웹 사이트에서 SQL Server 액세스를 허용하도록 Windows 방화벽 구성을 참조하세요.
  • Active Directory(AD) 도메인 컨트롤러에서 SQL 노드에 대해 모든 필수 포트가 열려 있고, 도메인 결합과 AD에서 인증을 확인해야 합니다. Microsoft 웹 사이트의 Active Directory 및 Active Directory Domain Services 포트 요구 사항을 참조하세요.
  • Windows 장애 조치 클러스터를 생성하기 전에 도메인에 노드를 결합합니다. 클러스터를 생성 및 구성하기 전에 도메인 자격 증명을 사용하여 로그인했는지 확인합니다.
  • Active Directory 서비스 계정으로 SQL DB 인스턴스를 실행합니다.
  • Windows 도메인 인증을 사용하여 sysadmin 권한이 있는 SQL 로그인을 생성합니다. 자세한 내용은 데이터베이스 관리자에게 문의하세요. 자세한 내용은 Microsoft 웹 사이트에서 Create a login using SSMS를 참조하세요.
  • SQL 브라우저가 올바르게 구성되었는지 확인합니다. 이 단계는 SQL Server 명명된 인스턴스에만 필요합니다.

각 클러스터 노드 탄력적 네트워크 인터페이스에 대해 보조 IP 구성

각 클러스터 노드 eth0 탄력적 네트워크 인터페이스에 한 개의 보조 IP가 필요합니다. SQL 그룹 리스너를 사용하려면 세 번째 IP 주소를 추가해야 합니다. 그 결과 eth0 탄력적 네트워크 인터페이스에 총 3개의 IP가 연결됩니다.

참고: SQL 그룹 수신기를 배포하지 않으려면 클러스터 노드 탄력적 네트워크 인터페이스마다 보조 IP를 하나씩만 추가합니다.

1.    Amazon EC2 콘솔을 열고 Always On 클러스터를 호스팅할 AWS 리전을 선택합니다.

2.    탐색 창에서 [인스턴스]를 선택하고 EC2 클러스터 인스턴스를 선택합니다.

3.    네트워킹(Networking) 탭을 선택합니다.

4.    **네트워크 인터페이스(Network interfaces)**에서 인터페이스 ID(Interface ID) 탄력적 네트워크 인터페이스를 선택합니다.

5.    네트워크 인터페이스를 선택한 다음, 작업(Actions), **IP 주소 관리(Manage IP addresses)**를 선택합니다.

6.    네트워크 인터페이스 ID 옆의 화살표를 선택하여 창을 확장한 다음 **새 IP 주소 할당(Assign new IP address)**을 선택합니다. 특정 IP를 선택하거나 필드를 자동 할당(Auto-assign)으로 둘 수 있습니다. 이 단계를 반복하여 두 번째 새 IP를 추가합니다.

7.    저장(Save), **확인(Confirm)**을 선택합니다.

8.    클러스터에 참여할 다른 EC2 인스턴스에 대해서도 1~7단계를 반복합니다.

2개 노드 Windows 클러스터 생성

1.    두 노드에 대한 로컬 관리자 권한이 있는 도메인 계정으로 RDP를 사용하여 EC2 인스턴스에 연결합니다.

2.    Windows [시작] 메뉴에서 [제어판]을 열고 [네트워크 및 공유 센터]를 선택합니다.

3.    탐색 창에서 [어댑터 설정 변경]을 선택합니다.

4.    네트워크 연결을 선택하고 [이 연결의 설정 변경]을 선택합니다.

5.    [Internet Protocol Version 4 (TCP/IPv4)]를 선택하고 [속성]을 선택합니다.

6.    [고급]을 선택합니다.

7.    [DNS] 탭에서 [주 DNS 접미사 및 연결별 DNS 접미사 추가]를 선택합니다.

8.    [확인], [확인], [닫기]를 차례로 선택합니다.

9.    클러스터에 참여할 다른 EC2 인스턴스에 대해서도 1-8단계를 반복합니다.

10.    각 인스턴스에서 서버 관리자를 통해 노드에 클러스터 기능을 설치하거나 다음 PowerShell 명령을 실행합니다.

Install-WindowsFeature –Name Failover-Clustering –IncludeManagementTools

11.    관리자로 cmd를 열고 cluadmin.msc를 입력하여 클러스터 관리자를 엽니다.

12.    [장애 조치(Failover) 클러스터 관리자]의 컨텍스트(오른쪽 클릭) 메뉴를 열고 [클러스터 만들기]를 선택합니다.

13.    [다음]을 선택하고 [찾아보기]를 선택합니다.

14.    [선택할 개체 이름을 입력하십시오]에 클러스터 노드 호스트 이름을 입력하고 [확인]을 선택합니다.

15.    [다음]을 선택합니다. 이제 클러스터 검증 여부를 선택할 수 있습니다. 클러스터 검증을 실행하는 것이 좋습니다. 클러스터가 검증을 통과하지 못하면 Microsoft에서 SQL 클러스터에 대한 기술 지원을 제공하지 못할 수 있습니다. 예(Yes) 또는 **아니요(No)**를 선택하고 **다음(Next)**을 선택합니다.

16.    [클러스터 이름]에 이름을 입력하고 [다음]을 선택합니다.

17.    [클러스터에 사용할 수 있는 모든 저장소를 추가하세요]를 선택 취소하고 [다음]을 선택합니다.

18.    클러스터 생성이 완료되면 [마침]을 선택합니다.

참고: 클러스터 로그 및 보고서는 다음 %systemroot%\cluster\reports 경로에 있습니다.

19.    클러스터 관리자의 [클러스터 코어 리소스] 섹션에서 새 클러스터 항목을 확장합니다.

20.    첫 번째 IP 주소 항목의 컨텍스트(오른쪽 클릭) 메뉴를 열고 [속성]을 선택합니다. [IP 주소]에서 [정적 IP 주소]를 선택하고 eth0 탄력적 네트워크 인터페이스에 연결된 보조 IP 중 하나를 입력합니다. **확인(Ok)**을 선택합니다. 두 번째 IP 주소 항목에 대해 이 단계를 반복합니다.

21.    클러스터 이름의 컨텍스트(오른쪽 마우스 버튼 클릭) 메뉴를 열고 **온라인 상태로 전환(Bring Online)**을 선택합니다.

참고: 또한 타이 브레이커 역할을 수행할 파일 공유 감시(FSW)도 구성하는 것이 모범 사례입니다. Microsoft SQL Server와 함께 Amazon FSx for Windows File Server를 사용할 수도 있습니다. FSW에 대한 자세한 내용은 Microsoft 웹 사이트의 장애 조치 클러스터 단계별 가이드: 장애 조치 클러스터의 쿼럼 구성을 참조하세요.

Always On 가용성 그룹 생성

1.    SQL Server 구성 관리자를 엽니다.

2.    SQL 인스턴스의 컨텍스트(오른쪽 클릭) 메뉴를 열고 [속성]을 선택합니다.

3.    [AlwaysOn High Availability(AlwaysOn 고가용성)] 탭에서 [Enable AlwaysOn Availability Groups(AlwaysOn 가용성 그룹 활성화)]을 선택하고 [적용]을 선택합니다.

4.    SQL 인스턴스의 컨텍스트(오른쪽 클릭) 메뉴를 열고 [다시 시작]을 선택합니다.

5.    클러스터에 속하는 다른 클러스터 노드에서 1-4단계를 반복합니다.

6.    Microsoft SSMS(SQL Server Management Studio)를 엽니다.

7.    SQL 인스턴스에 대한 액세스 권한을 보유한 Windows 인증 로그인으로 SQL 인스턴스 중 하나에 로그인합니다.

참고: SQL 인스턴스에서 동일한 MDF 및 LDF 디렉터리 파일 경로를 사용하는 것이 좋습니다.

8.    테스트 데이터베이스를 생성합니다. **데이터베이스(Databases)**의 컨텍스트(오른쪽 마우스 버튼 클릭) 메뉴를 열고 **새 데이터베이스(New Database)**를 선택합니다.

참고: 옵션(Options) 페이지에서 완전(Full) 복구 모델을 사용해야 합니다. 자세한 내용은 Microsoft 웹 사이트에서 복구 모델(SQL Server)을 참조하세용.

9.    [데이터베이스 이름]에 이름을 입력하고 [확인]을 선택합니다.

10.    새 데이터베이스 이름의 컨텍스트(오른쪽 클릭) 메뉴를 열고 [작업]을 선택하고 [백업]을 선택합니다. [백업 유형]에서 [전체]를 선택합니다.

11.    [확인]을 선택하고 [확인]을 선택합니다.

12.    [Always On High Availability(Always On 고가용성)]의 컨텍스트(오른쪽 클릭) 메뉴를 열고 [새 가용성 그룹 마법사]를 선택합니다.

13.    [다음]을 선택합니다.

14.    [가용성 그룹 이름]에 이름을 입력하고 [다음]을 선택합니다.

15.    데이터베이스를 선택하고 [다음]을 선택합니다.

16.    가용성 복제본 창에 기본 복제본이 이미 존재합니다. [복제본 추가]를 선택하여 보조 복제본을 생성합니다.

17.    [서버 이름]에 보조 복제본 이름을 입력하고 [연결]을 선택합니다.

18.    [가용성 모드]에서 원하는 가용성 모드를 결정하고, 각 복제본에 대해 [동기 커밋] 또는 [비동기 커밋]을 선택합니다. 자세한 내용은 Microsoft 웹 사이트에서 Always On 가용성 그룹에 대한 가용성 모드 간의 차이점을 참조하세요.

19.    [다음]을 선택합니다.

20.    데이터 동기화 기본 설정을 선택하고 [다음]을 선택합니다. 자세한 내용은 Microsoft 웹 사이트에서 초기 데이터 동기화 페이지 선택(Always On 가용성 그룹 마법사)을 참조하세요.

21.    검증이 성공하면 [다음] 를 선택합니다.

참고: 수신기 구성은 나중에 추가할 것이므로 수신기 구성 확인은 무시해도 좋습니다.

22.    **마침(Finish)**을 선택하고 **닫기(Close)**를 선택합니다.

SQL 그룹 수신기 추가

1.    SSMS를 열고 [Always On High Availability(Always On 고가용성)], [가용성 그룹], [[primary replica name]]을 확장합니다.

2.    [가용성 그룹 수신기]의 컨텍스트(오른쪽 클릭) 메뉴를 열고 [Add Listener(수신기 추가)]를 선택합니다.

[Listener DNS Name(수신기 DNS 이름)]에 이름을 입력합니다.

[포트]에 1433을 입력합니다.

[네트워크 모드]에서 [정적 IP]를 선택합니다.

3.    Add(추가)를 선택합니다.

[IPv4 주소]에 클러스터 노드 인스턴스 중 하나의 세 번째 보조 IP 주소를 입력하고 [확인]을 선택합니다. 다른 클러스터 노드 인스턴스의 세 번째 보조 IP 주소를 사용하여 이 단계를 반복합니다.

4.    확인을 선택합니다.

참고: SQL 그룹 수신기를 추가할 때 수신된 오류는 권한이 없음을 나타냅니다. 문제 해결 단계는 Microsoft 웹 사이트의 다음 리소스를 참조하세요.

장애 조치 테스트

1.    SSMS를 사용하여 탐색 메뉴에서 기본 복제본의 컨텍스트(오른쪽 클릭) 메뉴를 열고 [장애 조치]를 선택합니다.

2.    [다음]을 선택하고 [다음]을 선택합니다.

3.    [연결]을 선택하고 [연결]을 선택합니다.

4.    [다음]을 선택하고 [마침]을 선택합니다. 장애 조치 후 기본 복제본이 보조 복제본이 됩니다.


관련 정보

EC2 기반 SQL Server 클러스터링에 대한 모범 사례 및 권장 사항

SQL Server with Always On Replication on AWS

AWS Launch Wizard

Always On 가용성 그룹에 대한 수신기 구성(Microsoft 웹 사이트)

AWS 공식
AWS 공식업데이트됨 3달 전