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

최종 업데이트 날짜: 2019년 5월 16일

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

간략한 설명

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

​해결 방법

사전 조건:

  • Virtual Private Cloud(VPC) 내 가용 영역에서 2개의 Amazon Elastic Compute Cloud(Amazon EC2) Windows Server 인스턴스(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 방화벽 예외를 구성합니다.
  • AD(Active Directory) 도메인 컨트롤러에서 SQL 노드에 대해 모든 필수 포트가 열려 있고, 도메인 결합과 AD에서 인증을 확인해야 합니다.
  • Windows 장애 조치 클러스터를 생성하기 전에 도메인에 노드를 결합합니다. 클러스터를 생성 및 구성하기 전에 도메인 자격 증명을 사용하여 로그인했는지 확인합니다.
  • AD 서비스 계정으로 SQL DB 인스턴스를 실행합니다.
  • Windows 도메인 인증을 사용하여 sysadmin 권한이 있는 SQL 로그인을 생성합니다. 자세한 내용은 데이터베이스 관리자에게 문의하십시오.
  • SQL 브라우저에 올바르게 구성되었는지 확인합니다. 이 단계는 SQL Server 명명된 인스턴스에 대해서만 필요합니다.

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

각 클러스터 노드 eth0 탄력적 네트워크 인터페이스에 대해 2개의 보조 IP가 필요합니다.
참고: SQL 그룹 수신기를 배포하지 않으려면 각 클러스터 노드 탄력적 네트워크 인터페이스에 대해 하나의 보조 IP만 추가합니다.

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

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

3.    [설명] 탭에서 eth0을 선택합니다.

4.    [인터페이스 ID] 탄력적 네트워크 인터페이스를 선택합니다.

5.    [작업]에서 [IP 주소 관리]를 선택합니다.

6.    [새 IP 할당]을 선택합니다. 특정 IP를 선택하거나 필드를 자동 할당으로 둘 수 있습니다. 이 단계를 반복하여 두 번째 새 IP를 추가합니다.

7.    [예, 업데이트]를 선택합니다.

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 클러스터가 검증에 통과하지 않으면 지원하지 않을 수 있으므로, 클러스터 검증을 실행하는 것이 모범 사례입니다. [] 또는 [아니요]를 선택하고 [다음]을 선택합니다.

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

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

18.    클러스터 생성이 완료되면 [마침]을 선택합니다.
참고: 클러스터 로그 및 보고서는 다음 경로에 있습니다.
%systemroot%\cluster\reports

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

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

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

참고: 또한 타이 브레이크 역할을 수행할 파일 공유 감시(FSW)도 구성하는 것이 모범 사례입니다.

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.    테스트 데이터베이스를 생성합니다. [데이터베이스]의 컨텍스트(오른쪽 마우스 버튼 클릭) 메뉴를 열고 [새 데이터베이스]를 선택합니다.
참고: 옵션 페이지에서 완전복구 모델을 사용해야 합니다.

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

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

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

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

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

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

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

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

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

18.    [가용성 모드]에서 원하는 가용성 모드를 결정하고, 각 복제본에 대해 [동기 커밋] 또는 [비동기 커밋]을 선택합니다.

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

20.    데이터 동기화 기본 설정을 선택하고 [다음]을 선택합니다.

21.    검증이 성공되면 [다음]을 선택합니다.
참고: 수신기 구성은 나중에 추가할 것이므로 수신기 구성 확인은 무시해도 좋습니다.

22.    [마침]을 선택하고 [닫기]를 선택합니다.

SQL 그룹 수신기 추가

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

2.    [가용성 그룹 수신기]의 컨텍스트(오른쪽 클릭) 메뉴를 열고 [Add Listener(수신기 추가)]를 선택합니다.
[Listener DNS Name(수신기 DNS 이름)]에 이름을 입력합니다.
[포트]에 1433을 입력합니다.
[네트워크 모드]에서 [정적 IP]를 선택합니다.

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

4.    [확인]을 선택합니다.

장애 조치 테스트

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

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

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

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


이 문서가 도움이 되었습니까?

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?