Amazon RDS Custom for SQL Server의 DB 문제 해결
RDS Custom의 공동 책임 모델은 OS 셸 수준 액세스 권한과 데이터베이스 관리자 액세스 권한을 제공합니다. RDS Custom은 시스템 계정에서 리소스를 실행하는 Amazon RDS와 달리 계정에서 리소스를 실행합니다. 접근 권한이 높을수록 책임도 커집니다. 다음 섹션에서는 Amazon RDS Custom for SQL Server DB 인스턴스의 문제를 해결하는 방법을 알아볼 수 있습니다.
참고
이 섹션에서는 RDS Custom for SQL Server의 문제를 해결하는 방법을 설명합니다. RDS Custom for Oracle 관련 문제 해결을 보려면 Amazon RDS Custom for Oracle의 DB 문제 해결 섹션을 참조하세요.
주제
RDS Custom 이벤트 보기
RDS Custom 및 Amazon RDS DB 인스턴스의 이벤트 보기 절차는 동일합니다. 자세한 내용은 Amazon RDS 이벤트 보기 섹션을 참조하세요.
describe-events
명령을 사용하여 AWS CLI를 통해 RDS Custom 이벤트 알림을 볼 수 있습니다. RDS Custom에서는 몇 가지 새로운 이벤트가 도입되었습니다. 이벤트 카테고리는 Amazon RDS와 동일합니다. 이벤트 목록은 Amazon RDS 이벤트 카테고리 및 이벤트 메시지 섹션을 참조하세요.
다음 예제에서는 지정된 RDS Custom DB 인스턴스에 대해 발생한 이벤트의 세부 정보를 검색합니다.
aws rds describe-events \ --source-identifier my-custom-instance \ --source-type db-instance
RDS Custom 이벤트 구독
RDS Custom 및 Amazon RDS DB 인스턴스의 이벤트 구독 절차는 동일합니다. 자세한 내용은 Amazon RDS 이벤트 알림 구독 단원을 참조하십시오.
CLI를 사용하여 RDS Custom 이벤트 알림을 구독하려면 create-event-subscription
명령을 사용하면 되며, 다음 필수 파라미터를 포함합니다.
-
--subscription-name
-
--sns-topic-arn
다음 예제에서는 현재 AWS 계정에서 RDS Custom DB 인스턴스의 백업 및 복구 이벤트에 대한 구독을 생성합니다. 알림은 --sns-topic-arn
에서 지정한 Amazon Simple Notification Service(Amazon SNS) 주제로 전송됩니다.
aws rds create-event-subscription \ --subscription-name my-instance-events \ --source-type db-instance \ --event-categories '["backup","recovery"]' \ --sns-topic-arn arn:aws:sns:us-east-1:123456789012:interesting-events
RDS Custom for SQL Server의 CEV 오류 문제 해결
CEV 생성이 실패할 수 있습니다. 이 경우 RDS Custom이 RDS-EVENT-0198
이벤트 메시지를 표시합니다. RDS 이벤트 보기에 대한 자세한 내용은 Amazon RDS 이벤트 카테고리 및 이벤트 메시지 단원을 참조하세요.
다음 정보를 사용하면 가능한 원인을 해결하는 데 도움이 됩니다.
메시지 | 문제 해결 제안 |
---|---|
|
AMI에서 생성한 EC2 인스턴스에서 Sysprep을 실행합니다. Sysprep을 사용한 AMI 준비에 대한 자세한 내용은 Sysprep을 사용하여 표준화된 Amazon Machine Image(AMI) 생성을 참조하세요. |
|
생성에 사용한 계정 및 프로필에 선택한 AMI의 |
|
|
|
AMI가 동일한 고객 계정에 있는지 확인합니다. |
|
AMI 이름이 잘못되었습니다. 올바른 AMI ID가 제공되었는지 확인합니다. |
|
SQL Server Enterprise, Standard 또는 Web Edition을 포함하는 Windows Server가 있는 지원되는 AMI를 선택하세요. EC2 Marketplace에서 다음 사용 작업 코드 중 하나를 사용하여 AMI를 선택합니다.
|
|
지원되는 에디션의 SQL Server가 포함된 AMI를 사용하세요. 자세한 내용은 RDS Custom for SQL Server CEV에 대한 버전 지원 단원을 참조하십시오. |
|
클래식 RDS Custom for SQL Server 엔진 버전은 지원되지 않습니다. 예를 들어 15.00.4073.23.v1 버전은 지원되지 않습니다. 지원되는 버전 번호를 사용하세요. |
|
작업을 완료하려면 CEV가 |
|
대상 CEV가 유효하지 않습니다. 유효한 업그레이드 경로에 대한 요구 사항을 확인하세요. |
|
필수 CEV 명명 규칙에 따르세요. 자세한 내용은 RDS Custom for SQL Server CEV 요구 사항 단원을 참조하십시오. |
|
지원되지 않는 DB 엔진 버전이 제공되었습니다. 지원되는 DB 엔진 버전을 사용하세요. |
|
x86_64 아키텍처를 기반으로 구축된 AMI를 사용하세요. |
|
권한이 있는 AMI에서 EC2 인스턴스를 생성하세요. EC2 인스턴스에서 Sysprep을 실행하여 기본 이미지를 생성하고 저장하세요. |
|
Windows 플랫폼으로 구축된 AMI를 사용하세요. |
|
EBS 디바이스 유형을 사용하여 AMI를 생성하세요. |
|
SQL Server Enterprise, Standard 또는 Web Edition을 포함하는 Windows Server가 있는 지원되는 AMI를 선택하세요. EC2 Marketplace에서 다음 사용 작업 코드 중 하나를 사용하여 AMI를 선택합니다.
|
|
AMI가 |
|
지원되는 Windows OS를 사용하세요. |
|
|
|
최소 OS 빌드 버전이 14393인 AMI를 사용하세요. |
|
최소 OS 메이저 버전이 10.0 이상인 AMI를 사용하세요. |
RDS Custom for SQL Server에서 지원되지 않는 구성 문제 해결
공유 책임 모델이므로 RDS Custom for SQL Server DB 인스턴스를 unsupported-configuration
상태로 전환시키는 구성 문제는 사용자가 해결해야 합니다. AWS 인프라와 관련된 문제인 경우 콘솔 또는 AWS CLI를 사용하여 해결할 수 있습니다. 운영 체제 또는 데이터베이스 구성에 문제가 있는 경우 호스트에 로그인하여 해결하면 됩니다.
참고
이 섹션에서는 RDS Custom for SQL Server에서 지원되지 않는 구성 문제를 해결하는 방법을 알아봅니다. RDS Custom for Oracle에 대한 자세한 내용은 RDS Custom for Oracle에서 지원되지 않는 구성 문제 해결 섹션을 참조하세요.
다음 테이블에는 지원 경계에서 보내는 알림 이벤트와 이를 해결하는 방법에 대한 설명이 나와 있습니다. 이러한 알림과 지원 경계는 변경될 수 있습니다. 지원 경계의 배경은 RDS Custom 지원 범위 섹션을 참조하세요. 이벤트 설명은 Amazon RDS 이벤트 카테고리 및 이벤트 메시지 섹션을 참조하세요.
이벤트 코드 | 구성 영역 | RDS 이벤트 메시지 | 검증 프로세스 |
---|---|---|---|
|
지원되지 않는 수동 구성 |
|
이 문제를 해결하려면 지원 사례를 생성하세요. |
AWS 리소스(인프라) | |||
|
EC2 인스턴스 상태 |
|
DB 인스턴스의 상태를 확인하려면 콘솔을 사용하거나 다음 AWS CLI 명령을 실행합니다.
|
|
EC2 인스턴스 상태 |
|
다음 AWS CLI 명령을 사용하여 DB 인스턴스의 상태를 확인합니다.
EC2 콘솔을 사용하여 EC2 인스턴스의 상태를 확인할 수도 있습니다. DB 인스턴스를 시작하려면 콘솔을 사용하거나 다음 AWS CLI 명령을 실행합니다.
|
|
EC2 인스턴스 클래스 |
|
다음 CLI 명령을 사용하여 예상 DB 인스턴스 클래스를 확인합니다.
|
|
EBS 스토리지 볼륨에 액세스할 수 없음 |
|
|
|
EBS 스토리지 볼륨이 분리됨 |
|
EBS 볼륨을 다시 연결한 후 다음 CLI 명령을 사용하여 EBS 볼륨 'volume-id'가 RDS 인스턴스에 제대로 연결되어 있는지 확인합니다.
|
|
EBS 스토리지 볼륨 크기 |
|
다음 CLI 명령을 사용하여 EBS 볼륨 'volume-id' 세부 정보와 RDS 인스턴스 세부 정보의 볼륨 크기를 비교합니다.
다음 CLI 명령을 사용하여 실제 할당된 볼륨 크기를 확인합니다.
|
|
EBS 스토리지 볼륨 구성 |
|
다음 CLI 명령을 사용하여 EBS 볼륨 'volume-id' 세부 정보의 볼륨 유형과 RDS 인스턴스 세부 정보를 비교합니다. EBS 수준의 값이 RDS 수준의 값과 일치하는지 확인하세요.
RDS 수준에서 스토리지 처리량의 예상 값을 구하는 방법:
RDS 수준에서 볼륨 IOPS의 예상 값을 구하는 방법:
EC2 수준에서 현재 스토리지 유형을 가져오는 방법:
EC2 수준에서 스토리지 처리량의 현재 값을 구하는 방법:
EC2 수준에서 볼륨 IOPS의 현재 값을 구하는 방법:
|
|
EBS 스토리지 볼륨 크기 및 구성 |
|
다음 CLI 명령을 사용하여 EBS 볼륨 'volume-id' 세부 정보의 볼륨 유형과 RDS 인스턴스 세부 정보를 비교합니다. EBS 수준의 값이 RDS 수준의 값과 일치하는지 확인하세요.
RDS 수준에서 스토리지 처리량의 예상 값을 구하는 방법:
RDS 수준에서 볼륨 IOPS의 예상 값을 구하는 방법:
EC2 수준에서 현재 스토리지 유형을 가져오는 방법:
EC2 수준에서 스토리지 처리량의 현재 값을 구하는 방법:
EC2 수준에서 볼륨 IOPS의 현재 값을 구하는 방법:
예상 할당된 볼륨 크기를 구하는 방법:
실제 할당된 볼륨 크기를 구하는 방법:
|
|
SQS 권한 |
|
|
|
SQS VPC 엔드포인트 |
|
|
운영 체제 | |||
|
SQL 서비스 상태 |
|
|
|
RDS Custom 에이전트 상태 |
|
|
|
SQS 권한 |
|
|
|
SQS VPC 엔드포인트 |
|
|
운영 체제 | |||
|
SQL 서비스 상태 |
|
|
|
RDS Custom 에이전트 상태 |
|
호스트에 로그인하고 RDS Custom 에이전트가 실행 중인지 확인합니다. 다음 명령을 사용하여 에이전트 상태를 볼 수 있습니다.
상태가
에이전트를 시작할 수 없는 경우 Windows 이벤트를 확인하여 에이전트를 시작할 수 없는 이유를 확인합니다. 에이전트를 사용하려면 Windows 사용자가 서비스를 시작해야 합니다. Windows 사용자가 존재하고 서비스를 실행할 권한이 있는지 확인하세요. |
|
SSM 에이전트 상태 |
|
자세한 내용은 SSM Agent 문제 해결을 참조하세요. SSM 엔드포인트 문제를 해결하려면 SSM 엔드포인트에 연결할 수 없음 및 ssm-cli를 사용하여 관리형 노드 가용성 문제 해결을 참조하세요. |
|
RDS Custom 에이전트 로그인 |
|
|
|
Timezone |
|
자세한 내용은 RDS Custom for SQL Server DB 인스턴스의 현지 시간대 단원을 참조하십시오. |
|
고가용성 소프트웨어 솔루션 버전 |
|
|
|
고가용성 소프트웨어 솔루션 구성 |
|
|
데이터베이스 | |||
|
SQL Server 공유 메모리 프로토콜 |
|
SQL Server Configuration Manager > SQL Server 네트워크 구성 > MSSQLSERVER용 프로토콜 > 공유 메모리에서 활성화됨 상태를 확인하면 됩니다. 프로토콜을 활성화한 후 SQL Server 프로세스를 다시 시작합니다. |
|
Service Master Key |
|
|
|
Service Master Key |
|
|
|
DB 엔진 버전 및 에디션 |
|
다음 쿼리를 실행하여 SQL 버전을 가져옵니다.
다음 AWS CLI 명령을 실행하여 RDS SQL 엔진 버전 및 에디션을 가져옵니다.
자세한 내용은 RDS Custom for SQL Server DB 인스턴스 수정 및 DB 인스턴스 엔진 버전 업그레이드 단원을 참조하세요. |
|
DB 엔진 에디션 |
|
다음 쿼리를 실행하여 SQL 에디션을 가져옵니다.
다음 AWS CLI 명령을 실행하여 RDS SQL 엔진 에디션을 가져옵니다.
|
|
DB 엔진 버전 |
|
다음 쿼리를 실행하여 SQL 버전을 가져옵니다.
다음 AWS CLI 명령을 실행하여 RDS SQL 엔진 버전을 가져옵니다.
자세한 내용은 RDS Custom for SQL Server DB 인스턴스 수정 및 DB 인스턴스 엔진 버전 업그레이드 단원을 참조하세요. |
|
데이터베이스 파일 위치 |
|
다음 쿼리를 실행하여 기본 경로에 없는 데이터베이스 파일의 위치를 나열합니다.
|
RDS Custom for SQL Server에서 Storage-Full
문제 해결
RDS Custom은 RDS Custom for SQL Server DB 인스턴스의 루트(C:) 및 데이터(D:) 볼륨 모두에서 사용 가능한 공간을 모니터링합니다. RDS Custom은 두 볼륨 중 하나의 볼륨에 사용 가능한 디스크 공간이 500MiB 미만일 때 인스턴스 상태를 Storage-Full
상태로 전환합니다. 인스턴스 스토리지를 확장하려면 RDS Custom for SQL Server DB 인스턴스 스토리지 수정 섹션을 참조하세요.
참고
스토리지를 확장한 후 Storage-Full
에서 인스턴스가 해결되는 데 최대 30분이 소요될 수 있습니다.
RDS Custom for SQL Server에서 TDE 지원 데이터베이스의 PENDING_RECOVERY 상태 문제 해결
자동 암호 해독에 문제가 발생해도 투명한 데이터 암호화(TDE)가 활성화된 SQL Server 데이터베이스는 PENDING_RECOVERY
상태를 유지할 수 있습니다. 이는 일반적으로 계정의 RDS Custom 관리형 S3 버킷에 저장된 소스 DB 인스턴스 Service Master Key(SMK) 백업 파일이 복원 완료 전에 삭제된 경우 DB 인스턴스 복원 후에 발생합니다.
자동 암호 해독을 활성화하고 TDE 지원 데이터베이스를 온라인으로 가져오려면 Database Master Key(DMK)를 암호로 열고 SMK를 사용하여 DMK를 암호화해야 합니다.
다음 SQL Server 명령을 참조용으로 사용하세요.
-- Identify PENDING_RECOVERY TDE databases USE MASTER; GO SELECT name, is_encrypted, state_desc FROM sys.databases; GO -- Open DMK using password OPEN MASTER KEY DECRYPTION BY PASSWORD = '<password>'; GO -- Encrypt DMK using SMK ALTER MASTER KEY ADD ENCRYPTION BY SERVICE MASTER KEY; GO -- Close SMK CLOSE MASTER KEY; GO -- Bring the TDE databases online ALTER DATABASE <database_name> SET ONLINE; GO -- Verify TDE databases are now in ONLINE state SELECT name, is_encrypted, state_desc FROM sys.databases; GO