운영 지침
이 절에서는 Microsoft SQL 전개 패턴의 초기 전개 전후에 IBM Cloud VPC 에서 MS SQL을 실행하는 방법에 대한 지침을 제공합니다.
자세한 정보는 가상 사설 클라우드를 사용할 때의 책임 이해를 참조하십시오.
Identity and Access Management
ID및 액세스 관리 (IAM) 를 통해 IBM Cloud 계정에서 자원을 제어할 수 있습니다. 자원은 자원 그룹으로 구성되며 IAM 액세스 정책을 통해 계정 사용자 및 서비스 ID에 액세스할 수 있다. 의무 분리 원칙을 채택하면 IBM Cloud ID에 해당 역할을 수행하는 데 필요한 액세스 권한만 있을 수 있습니다. IBM Cloud IAM에 대한 초기 이해를 확인하고 업무 분리를 가능하게 하는 IBM Cloud 계정을 구성하려면 다음을 참조하십시오.
Activity Tracker
IBM Cloud Activity Tracker 는 UI/CLI/API를 통해 IBM Cloud 의 서비스 상태를 변경하는 활동을 기록합니다. Activity Tracker 서비스를 사용하여 비정상 활동 및 중요 조치를 조사하고 규정 감사 요구사항을 준수할 수 있습니다. 또한 발생하는 조치에 대해 경고를 받을 수 있습니다. 수집되는 이벤트는 CADF(Cloud Auditing Data Federation) 표준을 준수합니다. VPC에서 추적되는 이벤트 및 Activity Tracker시작하기에 대한 정보는 Activity Tracker 를 참조하십시오.
플로우 로그
IBM Cloud VPC (Virtual Private Cloud) 의 플로우 로그를 사용하면 VPC내의 네트워크 인터페이스로 이동하는 Internet Protocol (IP) 트래픽에 대한 정보의 콜렉션, 스토리지 및 프리젠테이션을 사용할 수 있습니다. 플로우 로그는 특정 트래픽이 가상 서버 인스턴스에 도달하지 않는 이유를 해결하여 보안 그룹 규칙을 진단하고 준수 규정을 준수할 수 있도록 하는 등 여러 태스크에 도움이 될 수 있습니다. 자세한 정보는 플로우 로그 정보 를 참조하십시오.
플로우 로그는 시간 창 내에서 두 가상 네트워크 인터페이스 카드 (vNIC) 사이의 네트워크 트래픽에 대한 요약입니다. 플로우 로그는 보안 그룹 또는 네트워크 ACL이 승인하거나 거부하는 트래픽을 설명합니다. 플로우 로그에는 TCP (Transmission Control Protocol) 및 UDP (User Datagram Protocol) 트래픽에 대한 헤더 정보 및 페이로드 통계가 포함되지만 ICMP (Internet Control Message Protocol) 트래픽은 포함되지 않습니다. 핵심 구성요소는 다음과 같습니다.
- 콜렉션-플로우 로그 콜렉터는 플로우 데이터를 수집하도록 구성되고 콜렉터는 다른 범위로 구성될 수 있습니다.
- VPC-특정 VPC의 모든 네트워크 인터페이스에 대한 데이터를 수집합니다.
- 서브넷-특정 서브넷의 모든 네트워크 인터페이스에 대한 데이터를 수집합니다.
- 인스턴스-특정 가상 서버의 모든 네트워크 인터페이스에 대한 데이터를 수집합니다.
- 인터페이스-특정 가상 서버의 특정 네트워크 인터페이스에 대한 데이터를 수집합니다.
- 스토리지-플로우 로그는 IBM Cloud Object Storage (COS) 버킷에 저장됩니다. 이 버켓은 플로우 로그 콜렉터를 설정하는 동안 구성됩니다.
- 프리젠테이션- IBM Cloud SQL Query 은 COS의 데이터에 대한 IBM의 서버가 없는 SQL 서비스이며 COS에 저장된 플로우 로그에 대한 쿼리를 작성하는 데 사용됩니다. 자세한 정보는 플로우 로그 오브젝트 보기 및 IBM Cloud SQL Query사용 을 참조하십시오.
모니터링
IBM Cloud Monitoring 은 서버의 성능 및 상태에 대한 운영 가시성을 확보하기 위해 IBM Cloud 아키텍처의 일부로 포함할 수 있는 클라우드 기반 모니터링 시스템입니다. IBM Cloud Monitoring 서비스의 인스턴스가 프로비저닝되면 모니터하려는 각 호스트에 모니터링 에이전트가 설치됩니다. 웹 UI를 통해 자원을 모니터하고 경보를 구성하고 이벤트를 탐색할 수 있다.
IBM Cloud Monitoring을 사용하여 Windows 시스템을 모니터하려면 Prometheus WMI Exporter를 사용하여 시스템에서 메트릭 콜렉션을 수행합니다. 메트릭을 공개하기 위한 두 가지 옵션이 있습니다.
- Linux 시스템에서 모니터링 에이전트를 실행하고 Windows 엔드포인트를 원격으로 스크랩핑하십시오.
- Windows에서 Prometheus를 클라이언트 콜렉터로 실행하여 Prometheus 원격 쓰기 기능을 통해 Windows 시스템에서 메트릭을 푸시하십시오.
단계별 설치 및 구성 단계를 보려면 Windows 환경 모니터링을 참조하십시오.
로그 분석
IBM Log Analysis 서비스를 사용하면 IBM Cloud의 자원에서 이벤트 로그를 관리할 수 있습니다. IBM Log Analysis 은 로그를 모니터하고, 검색하고, 정의하며, 사용자 정의 보기를 디자인하여 로그를 모니터하는 기능을 제공합니다. 서비스 개요는 개요 를 참조하십시오. Log Analysis 은 기본적으로 Windows 로깅을 지원하지 않습니다. 따라서 중앙 집중식 로깅 서비스를 사용해야 합니다.
백업
SQL Server 의 백업 및 복원은 기본 또는 써드파티 통합으로 분류될 수 있습니다.
- 원시-자세한 정보는 SQL Server 관리 스튜디오 (SSMS) 를 사용하여 전체 데이터베이스 백업 작성 및 백업 복원 프로세스에 대해 설명하는 빠른 시작: SQL Server 데이터베이스 백업 및 복원 를 참조하십시오. 백업은 SQL Server 설치 중에 구성된 백업 위치 또는 파일 공유와 같은 사용자 정의 위치에 저장됩니다. SQL Server 에이전트 작업을 사용하여 백업을 스케줄할 수 있습니다. SQL Server 개념에 대한 전체 설명은 백업 개요 (SQL Server)를 참조하십시오.
- 써드파티 통합-사용할 수 있는 써드파티 통합의 수가 있으며 여기서는 세 개의 통합만을 설명합니다. IBM Spectrum Protect, Veeam및 IBM Spectrum Protect Plus는 다음과 같습니다.
- IBM Spectrum Protect -Data Protection for SQL을 사용하여 Microsoft SQL Server 데이터베이스의 온라인 백업 및 복원을 IBM Spectrum Protect Storage Manager 서버로 수행할 수 있습니다. IBM Spectrum Protect Storage Manager 서버 구현에 대한 설명은 IBM Spectrum Protect 클라우드 Blueprints를 참조하십시오. Data Protection for SQL의 설치는 다운로드 정보: 버전 8.1.9 IBM Spectrum Protect for Databases에서 다룹니다.
- Microsoft Windows 용 Veeam-Veeam 에이전트는 IBM Cloud VPC 가상 서버 인스턴스에 배치할 수 있는 데이터 보호 및 장애 복구 솔루션입니다. 자세한 정보는 Veeam 에이전트 사용을 참조하십시오. Veeam 백업 및 복제와 함께 Microsoft Windows 용 Veeam Agent를 사용할 수도 있습니다. 여기서 Veeam 백업 및 복제는 모든 Veaam 에이전트에 대한 중앙 백업 솔루션을 제공합니다. 자세한 정보는 Veeam 백업 및 복제 소프트웨어 사용을 참조하십시오. SQL Server백업에 대한 자세한 정보는 백업 Microsoft SQL Server 를 참조하십시오.
- IBM Spectrum Protect Plus - IBM Spectrum Protect Plus 는 가상 환경, vSphere 또는 Hyper-V에 대한 데이터 보호 솔루션이며, IBM Cloud VPC에 포함된 SQL Server 가상 서버를 선택하십시오. IBM Spectrum Protect Plus 는 독립형 솔루션으로 구현될 수 있으며, 장기간 저장 및 관리를 위해 사본을 오프로드하기 위해 IBM Spectrum Protect 환경과 통합할 수 있습니다. IBM Spectrum Protect Plus 는 IBM Cloud 에서 기존 VMware 환경에 자동으로 설치할 수 있습니다. 자세한 정보는 Spectrum Protect Plus Server 를 참조하십시오. IBM Spectrum Protect Plus및 SQL Server에 대한 특정 정보는 SQL Server 데이터 백업 및 복원을 참조하십시오.
IBM Cloud Security and Compliance Center
IBM Cloud Security and Compliance Center 를 사용하면 보안 취약점을 식별할 수 있으므로 영향을 완화하고 취약성 문제를 해결할 수 있습니다. Red Hat Enterprise Linux, CentOS또는 Ubuntu 가상 서버 cx2-2x4 프로파일 (2vCPU, 4GB RAM및 4Gbps) 을 VPC에 배치하여 콜렉터 호스트 역할을 수행해야 합니다. 콜렉터는 Docker 이미지로 패키지된 소프트웨어 모듈입니다.
프로파일은 내부 및 외부 규정에 대해 자원을 유효성 검증하는 데 사용되는 관련 목표 또는 보안 검사의 콜렉션입니다. VPC에서 보안 및 준수 자세 모니터링 을 참조하십시오.
범위는 특정 환경, 영역 또는 자원으로 스캔의 초점을 좁히는 데 사용됩니다. 그런 다음 스캔은 자원을 발견하고 구성을 평가하며 사전 정의된 프로파일에 대한 준수 유효성을 검증하도록 스케줄됩니다. Security and Compliance Center 시작하기 을 참조하십시오.
데이터 암호화
1차 부트 볼륨 및 보조 데이터 볼륨은 IBM를 사용하여 자동으로 암호화되지만, 고객 관리 암호화를 사용하여 자체 암호화를 관리하도록 선택할 수도 있습니다. 지원되는 키 관리 서비스는 Key Protect 및 Hyper Protect Crypto Services(HPCS) 입니다. 자세한 정보는 VPC에 대한 데이터 암호화 정보를 참조하십시오.
보안 그룹
VPC용 IBM Cloud Security Groups 을 사용하면 IP 주소를 기반으로 가상 서버 인스턴스의 각 네트워크 인터페이스에 대한 필터링을 가능하게 하는 규칙을 적용할 수 있습니다.
- 기본적으로 보안 그룹은 모든 트래픽을 거부합니다.
- 규칙이 추가되면 허용되는 트래픽을 정의합니다.
- 규칙은 상태 저장이므로 허용된 트래픽에 응답하여 역방향 트래픽이 자동으로 허용됩니다.
- 보안 그룹은 단일 VPC로 범위가 지정됩니다.
- 보안 그룹에 여러 개의 가상 서버가 있는 경우, 서버 간 트래픽을 허용해야 합니다.
자세한 정보는 보안 그룹 정보를 참조하십시오.
액세스 제어 목록
액세스 제어 목록 (ACL) 은 가상 서버 인스턴스로 (부터) 트래픽을 제어하는 보안 그룹이 아니라 VPC 서브넷까지의 모든 수신 및 전송 트래픽을 제어한다.
- ACL은 상태가 없으므로, 인바운드 및 아웃바운드 규칙이 별도로 그리고 명시적으로 지정되어야 합니다.
- 각 ACL은 소스 IP, 소스 포트, 목적지 IP, 목적지 포트 및 프로토콜을 기반으로 하는 규칙으로 구성된다.
- 서브넷에는 한 번에 하나의 ACL만 연결되지만, 하나의 ACL은 여러 서브넷에 연결될 수 있습니다.
- 규칙이 순서대로 처리됨
- 모든 VPC에는 모든 인바운드 및 아웃바운드 트래픽을 허용하는 기본 ACL이 포함되어 있습니다.
Microsoft Windows
인터넷 보안 센터 (CIS) 벤치마크는 시스템을 안전하게 구성하고 하나 이상의 CIS 제어를 참조하기 위한 구성 기준선 및 우수 사례입니다. CIS 는 NIST Cybersecurity Framework (CSF) 및 NIST SP 800-53, ISO 27000시리즈 표준, PCI DSS, HIPAA및 기타를 포함하여 많은 설정된 표준 및 규제 프레임워크에 대한 맵을 제어합니다. MS SQL 2019 (hardening MS SQL 2019) 에 대한 정보는 Microsoft Windows 서버 보안 OS 강화에 대한 정보와 Microsoft SQL Server 보안 를 참조하십시오.
Windows 서버 패치
IBM Cloud VPC 네트워크에 Microsoft 업데이트 서버가 없으므로 인터넷을 통해 Microsoft 저장소에 액세스해야 합니다. 이는 다음과 같이 달성할 수 있습니다.
- 가상 서버에 유동 IP를 첨부하려면 자세한 정보는 가상 서버 인스턴스의 외부 연결에 부동 IP 주소 사용 을 참조하십시오.
- 서브넷에 공용 게이트웨이를 첨부하십시오. 자세한 정보는 서브넷의 외부 연결에 공용 게이트웨이 사용 을 참조하십시오.
- 기본 서브넷의 가상 서버 인스턴스에 Windows Server Update Services (WSUS) 를 배치하고 Microsoft에 대한 외부 액세스를 위해 공용 게이트웨이를 사용한다. WSUS를 배치하는 방법과 WSUS 서버를 사용하도록 서버를 구성하는 방법을 이해하려면 Windows Server 업데이트 서비스 배치 를 참조하십시오.
이 업데이트 트래픽을 허용하려면 보안 그룹 및 액세스 제어 목록을 업데이트해야 합니다.
SQL 서버 패치
마이크로소프트는 두 달에 한 번씩 SQL 서버용 누적 팩 (Cumulative pack, CU) 을 출시한다. 모든 CU에는 이전 누적 팩이 포함되어 있습니다. SQL Server 2019의 경우 Microsoft SQL Server의 최신 업데이트에서 CU에 액세스할 수 있습니다. 또한 SQL Server 2019빌드 버전을 참조하십시오.
다음은 항상 사용 가능한 가용성 그룹의 패치 프로세스에 대한 간단한 요약입니다.
- 준비:
- 현재 패치 레벨을 결정한다.
- 대상 패치 레벨 즉, N 또는 N-1을 정의하십시오.
- 패치 릴리스 정보를 읽으십시오.
- 우수 사례는 프로덕션 환경을 패치하기 전에 테스트 환경에서 패치를 테스트하는 것입니다.
- 기본 복제본에서 시스템 데이터베이스 및 사용자 데이터베이스에 대한 최신 백업이 있는지 확인하십시오. 이상적으로는 전체 백업이 있습니다. 그러나 대형 데이터베이스의 경우, 차등분 백업 또는 트랜잭션 로그 백업을 사용할 수 있어야 합니다.
- 2차 복제본에서 최신 시스템 데이터베이스 백업을 사용할 수 있습니다.
- SQL Server Management Studio에서 가용성 대시보드를 사용하여 가용성 그룹 상태를 확인하십시오. 가용성 그룹 데이터베이스는 비동기 커미트 모드에 대해 동기 커미트 및 동기화 상태에 대해 동기화됨 상태여야 합니다.
- 패칭:
- 다음과 같이 기본 MZR즉, AZ2의 SQL 서버에 있는 2차 복제본에 패치를 적용하십시오.
- SSMS를 사용하여 장애 복구 모드를 자동에서 수동으로 변경하여 패치가 설치되는 동안 자동 장애 복구가 발생하지 않도록 합니다.
- SSMS를 사용하여 1차 복제본이 특정 2차 복제본에 트랜잭션 블록을 보내지 않도록 2차 복제본 데이터베이스에 대한 데이터 이동을 일시중단하십시오.
- 2차 복제본을 호스트하는 서버에 대한 Via RDP는 CU를 적용한다.
- 서버를 다시 시작하십시오.
- 2차 복제본이 온라인이 되면 SSMS를 사용하여 이 복제본에 연결하고 다음과 같은 유효성 검증을 수행합니다.
- SQL 서비스가 온라인 상태인지 확인한다.
- SQL Server 버전 유효성 검증.
- 오류, 경고에 대해 SQL Server 오류 로그를 검토하십시오.
- 또한 패치를 적용한 후 데이터베이스 일관성 체크 프로그램 (DBCC CHECKDB) 을 수행하는 것이 좋다.
- SSMS를 사용하여 2차 복제본 데이터베이스로 데이터 이동을 재개하고 가용성 그룹 대시보드가 정상적으로 표시될 때까지 대기합니다.
- 복구 MZR (해당되는 경우) 의 2차 복제본에 패치를 적용하십시오.
- SSMS를 사용하여 1차 복제본이 특정 2차 복제본에 트랜잭션 블록을 보내지 않도록 2차 복제본 데이터베이스에 대한 데이터 이동을 일시중단하십시오.
- 2차 복제본을 호스트하는 서버에 대한 Via RDP는 CU를 적용한다.
- 서버를 다시 시작하십시오.
- 2차 복제본이 온라인이 되면 SSMS를 사용하여 이 복제본에 연결하고 다음과 같은 유효성 검증을 수행합니다.
- SQL 서비스가 온라인 상태인지 확인한다.
- SQL Server 버전 유효성 검증.
- 오류, 경고에 대해 SQL Server 오류 로그를 검토하십시오.
- 또한 패치를 적용한 후 데이터베이스 일관성 체크 프로그램 (DBCC CHECKDB) 을 수행하는 것이 좋다.
- SSMS를 사용하여 2차 복제본 데이터베이스로 데이터 이동을 재개하고 가용성 그룹 대시보드가 정상적으로 표시될 때까지 대기합니다.
- 다음과 같이 1차 복제본에 패치를 적용하십시오.
- SSMS를 사용하여 1차 복제본에서 기본 MZR의 2차 복제본으로 수동 장애 복구를 수행한다. 장애 복구 후 1차 복제본은 해당 상태를 2차 복제본으로 변경합니다.
- SSMS를 사용하여 1차 복제본이 특정 2차 복제본에 트랜잭션 블록을 보내지 않도록 2차 복제본 데이터베이스에 대한 데이터 이동을 일시중단하십시오.
- 2차 복제본을 호스트하는 서버에 대한 Via RDP는 CU를 적용한다.
- 서버를 다시 시작하십시오.
- 2차 복제본이 온라인이 되면 SSMS를 사용하여 이 복제본에 연결하고 다음과 같은 유효성 검증을 수행합니다.
- SQL 서비스가 온라인 상태인지 확인한다.
- SQL Server 버전 유효성 검증.
- 오류, 경고에 대해 SQL Server 오류 로그를 검토하십시오.
- 또한 패치를 적용한 후 데이터베이스 일관성 체크 프로그램 (DBCC CHECKDB) 을 수행하는 것이 좋다.
- SSMS를 사용하여 가용성 장애 복구를 수행합니다. 장애 복구 후 가용성 그룹 1차 복제본이 1차 노드입니다.
- 동기 데이터 확약 모드로 구성된 1차 및 2차 복제본에 대해 페일오버 모드를 자동으로 변경하십시오.
- 다음과 같이 기본 MZR즉, AZ2의 SQL 서버에 있는 2차 복제본에 패치를 적용하십시오.
- 사후 패치:
- SSMS를 사용하여 가용성 그룹 페일오버 및 페일백을 수행하고 SSMS 가용성 대시보드가 정상인지 검증하십시오.
- 모든 복제본에서 오류 로그를 검토하십시오.
- 애플리케이션 액세스를 유효성 검증하십시오.