Database > RDS for MS-SQL > DB 인스턴스

DB 인스턴스

DB 인스턴스는 가상 장비와 설치된 Microsoft SQL Server를 아우르는 개념으로, RDS for MS-SQL에서 제공하는 Microsoft SQL Server의 단위입니다. DB 인스턴스의 운영체제에 직접 접근할 수 없으며, 오직 DB 인스턴스 생성 시 입력하신 포트를 통해서 데이터베이스로만 접근 할 수 있습니다. DB 인스턴스는 고객이 부여하는 이름과 자동으로 부여되는 32바이트 아이디로 식별됩니다. DB 인스턴스 이름은 아래와 같은 제약사항이 있습니다.

  • DB 인스턴스 이름은 리전별로 고유해야 합니다.
  • DB 인스턴스 이름은 4 ~ 100 사이의 알파벳, 숫자, - _ . 만 사용 가능합니다.
  • DB 인스턴스 이름의 첫 번째 문자는 글자이어야 합니다.

DB 인스턴스는 생성 시, 사용자 계정과 비밀번호를 설정해야 하며, 아래와 같은 제약사항이 있습니다.

  • 사용자 계정은 4 ~ 16자 사이의 알파벳, 숫자만 입력 가능하며, 첫 번째 문자는 글자이어야 합니다.
  • 비밀번호는 8 ~ 128자 사이의 알파벳, 숫자, !, $, #, % 만 사용 가능합니다.
  • 비밀번호에는 사용자의 계정 이름이 포함될 수 없습니다.
  • 비밀번호는 대문자, 소문자, 숫자, 특수문자 중 세 범주의 문자를 포함해야 합니다.

가용성 영역

RDS for MS-SQL은 물리 하드웨어 문제로 생기는 장애에 대비하기 위해 전체 시스템을 여러 개의 가용성 영역으로 나누어 두었습니다. 한 가용성 영역 내에서 생기는 장애는 다른 가용성 영역에 영향을 주지 않으므로 서비스 전체의 가용성이 높아집니다. 서로 다른 가용성 영역에 흩어져서 생성된 DB 인스턴스끼리 네트워크 통신이 가능하며 이때 발생하는 네트워크 사용 비용은 부과되지 않습니다.

[주의] 이미 생성한 DB 인스턴스의 가용성 영역은 변경할 수 없습니다.

Microsoft SQL Server 버전

아래 명시된 버전을 지원합니다.

  • SQL Server 2016 Standard (13.0.5850.14)
  • SQL Server 2017 Standard (14.0.3294.2)

[주의] 버전별로 백업 파일이 호환되지 않아 백업 파일을 이용해 복원할 때, 다른 버전으로는 생성할 수 없습니다.

DB 인스턴스 타입

DB 인스턴스는 타입에 따라 서로 다른 CPU 코어 수와 메모리 용량을 가지고 있습니다. DB 인스턴스 생성 시, 데이터베이스 워크로드에 따라 알맞은 DB 인스턴스 타입을 선택해야 합니다.

타입 설명
m2 CPU와 메모리를 균형 있게 설정한 타입입니다.
c2 CPU의 성능을 높게 설정한 인스턴스 타입입니다.
r2 다른 자원에 비해 메모리의 사용량이 많은 경우 사용할 수 있습니다.
x1 고사양의 CPU와 메모리를 지원하는 타입입니다. 높은 성능이 필요한 서비스나 애플리케이션에 사용합니다.

이미 생성한 DB 인스턴스의 타입은 웹 콘솔을 통해 손쉽게 변경 가능합니다.

[주의] 이미 생성한 DB 인스턴스의 타입 변경 시, DB 인스턴스가 종료되므로 수분의 다운 타임이 발생합니다.

DB 인스턴스 상태

DB 인스턴스의 상태는 아래와 같은 값들로 구성되며, 사용자의 행위와 현재 상태에 따라 변경됩니다.

상태 설명
사용 가능 DB 인스턴스가 안정적이며, 여러 다른 행위를 할 수 있는 상태
접속 실패 데이터베이스 접속이 안되는 상태
스토리지 부족 DB 인스턴스 스토리지의 여유 공간이 모자른 상태
생성 중 DB 인스턴스가 생성 중인 상태
변경 중 DB 인스턴스가 변경 중인 상태
백업 중 DB 인스턴스가 백업 중인 상태
삭제 중 DB 인스턴스가 삭제 중인 상태
재부팅 중 DB 인스턴스가 재부팅 중인 상태
고가용성 구성 복구 중 고가용성 DB 인스턴스의 보조서버를 재구성하는 중
장애 조치 중 DB 인스턴스가 장애 조치 중인 상태
장애 조치 완료 DB 인스턴스가 자동 장애 조치가 완료되어 정지된 상태
에러 알 수 없는 이유로 DB 인스턴스를 사용할 수 없는 상태

스토리지 타입

DB 인스턴스는 HDD, SSD 2가지 스토리지 타입을 지원합니다. 스토리지 타입에 따라 성능과 가격이 다르므로, 데이터베이스 워크로드에 따라 알맞은 스토리지 타입을 선택해야 합니다. 스토리지 타입은 최소 20GB ~ 2,000GB 까지 생성 할 수 있습니다. 이미 생성한 스토리지의 크기는 웹 콘솔을 통해 손쉽게 변경 가능합니다.

[주의] 이미 생성한 스토리지의 크기 변경 시, DB 인스턴스가 종료되므로 수분의 다운 타임이 발생합니다. 이미 생성한 스토리지의 타입은 변경할 수 없습니다.

고가용성 DB 인스턴스

고가용성 DB 인스턴스는 가용성과 데이터 내구성을 증가시키고, 장애 허용이 가능한 데이터베이스를 제공합니다. RDS for MS-SQL은 주 서버, 보조 서버, 감시 서버로 구성된 Microsoft SQL Server의 데이터베이스 미러링 기능을 이용하여 고가용성을 제공합니다. 주 서버와 보조 서버는 서로 다른 가용성 영역에 생성됩니다.

자동 장애 조치

계획되지 않은 장애로 인하여 주 서버가 서비스를 제공하지 못하게 되면, 자동으로 장애 조치를 수행합니다. 장애가 발생한 주 서버는 스플릿 브레인 방지를 위해 정지되며, 보조 서버가 주 서버의 역할을 대신하게 됩니다. 접속을 위한 내부 및 외부 도메인의 A record는 장애가 발생한 주 서버에서 보조 서버로 변경되므로, 응용 프로그램의 변경은 필요하지 않습니다. 장애 조치가 완료되면, 고가용성 DB 인스턴스는 없어지고, 장애가 발생한 DB 인스턴스와 장애로 인하여 승격된 DB 인스턴스로 분리됩니다. 승격된 DB 인스턴스는 기존 DB 인스턴스의 모든 설정을 승계하지만, 백업은 승계하지 않습니다. 승격된 DB 인스턴스는 장애 조치 작업으로 인한 부하를 방지하기 위해 승격 직후 바로 자동 백업을 수행하지 않습니다. 장애 조치가 완료된 DB 인스턴스는 [재시작] 버튼을 통해 다시 구동시킬 수 있습니다.

수동 장애 조치

고가용성 DB 인스턴스는 장애 조치를 이용한 재시작을 통해 수동으로 장애 조치를 할 수 있습니다. 장애 조치를 이용한 재시작 시, 수동 장애 조치가 수행되며 주 서버와 보조 서버의 역할이 변경됩니다. 장애 조치 과정에서 주 서버와 보조 서버 모두 Microsoft SQL Server 프로세스의 재시작이 수행되며, 내부 및 외부 도메인의 IP 변경이 발생합니다. 도메인 변경이 완료되기 까지 수초에서 수분까지 접속이 실패할 수 있습니다. 장애 조치가 완료되면 자동으로 백업을 수행합니다.

주의 및 제약 사항

  • 백업 보관 기간이 1일 이상이어야 고가용성 DB 인스턴스를 사용할 수 있습니다.
  • 서로 다른 리전의 고가용성 구성은 지원하지 않습니다.
  • 고가용성을 위한 보조 서버를 읽기 부하 분산용으로 사용할 수 없습니다.
  • 고가용성 DB 인스턴스의 데이터베이스의 이름을 변경하면, 미러링 구성을 새로 진행하게 되며 구성이 완료되기까지 일정 시간이 소요됩니다. 미러링 구성이 진행되는 동안에는 성능 저하를 겪을 수 있으며, 장애 발생 시 장애 조치가 제대로 수행되지 않습니다.
  • 고가용성 DB 인스턴스의 데이터베이스는 오직 전체 복구 모델(Full Recovery Model)만을 지원하며, 복구 모델 변경이 감지되면 강제로 전체 복구 모델로 다시 변경합니다.
  • 장애 조치가 완료된 DB 인스턴스는 장애로 인한 데이터 손실 등의 이유로 다시 구동할 수 없거나, 정상적으로 동작하지 않을 수 있습니다.
  • 고가용성 기능은 도메인을 기반으로 하고 있기 때문에 사용자 Compute & Network 서비스의 인스턴스가 DNS 서버에 접속할 수 없는 네트워크 환경일 경우 해당 인스턴스는 도메인을 통해 DB 인스턴스에 접속할 수 없고, 장애 조치 발생 시 정상적인 접속이 불가능합니다.
  • 고가용성 DB 인스턴스에 신규 데이터베이스를 생성하면, 해당 데이터베이스가 미러링되기 까지 최소 5분에서 수십분까지 소요됩니다.
    • 미러링 구성이 완료 되기전에 장애가 발생하면 해당 데이터베이스는 올바르게 장애 조치가 되지 않습니다.
  • 고가용성 DB 인스턴스의 모든 데이터베이스는 같은 서버에서 동작합니다. 특정 데이터베이스에 장애 발생 시 모든 데이터베이스가 장애 조치 됩니다.
  • 미러링 구성된 데이터베이스가 없으면 장애 조치를 수행하지 않습니다.
  • 주 서버의 user, login, permission은 모두 자동으로 보조 서버로 복제됩니다.
    • 복제에 걸리는 시간은 최소 10초에서 수십분까지 소요됩니다.
    • 복제가 완료되기 전에 장애가 발생하면 해당 수정 사항은 유실됩니다.
  • SQL Server Agent job은 복제가 되지 않습니다. 장애 조치가 되면, 승격된 DB 인스턴스에 다시 만들어야 합니다.
  • 장애 조치 완료 시간은 복구 프로세스에 영향을 받기 때문에, 큰 트랜잭션이 있을 경우 시간이 오래 소요됩니다.
  • DB 인스턴스 변경 작업 중에는 자동 장애 조치가 잠시 정지됩니다.
  • 메모리가 8GB 미만인 인스턴스는 고가용성 기능을 사용할 수 없습니다.
TOP