본문 바로가기

AWS

RDS DB Instance Class

DB instance class는 다음과 같음.
  • 마이크로 인스턴스
    가격이 가장 싼 인스턴스임. 낮은 vCPU 성능과 적은 메모리를 제공함.
    프리티어에서는 이 인스턴스 유형을 무료로 사용할 수 있음. db.t1.micro, db.t2.micro 등이 있음
  • 스탠다드
    vCPU, 메모리, 네트워크 등이 평균적인 사양으로 제공됨.
    db.m3.medium, db.m3.2xlarge, db.m1.small 등이 있음.
  • 메모리 최적화
    다른 인스턴스 클래스보다 메모리 용량이 훨씬 큼.
    db.m2.xlarge, db.m2.4xlarge 등이 있음.
  • http://aws.amazon.com/ko/rds/details/
RDS 예약 인스턴드
일정한 예약금을 선불로 내면 인스턴스를 1년 또는 3년 동안 예약할 수 있으며 시간당 사용 요금이 대폭 할인됨.
  • Light 사용률 예약 인스턴스
    모든 인스턴스 중에서 선결제 금액이 가장 저렴함.
    이 인스턴스 유형은 사용 시간이 많이 않을 때 유용. 즉 하루 종일 사용하지 않고, 1년 중 몇 달 사용하지 않는 개발이나 테스트, 또는 단기 프로젝트에 적합
  • Medium 사용률 예약 인스턴스
    Light 보다 선결제 금액은 비싸지만 시간당 요금이 저렴
    이 인스턴스 유형은 거의 항상 실행하지만 사용량에 약간의 변화가 있을 때 유용
  • Heavy 사용률 예약 인스턴스
    Medium 보다 선결제 금액은 비싸지만 모든 예약 인스턴스 중에서 시간당 요금이 가장 저렴
    이 유형은 24시간 사싱 가동되어야 하는 출시된 제품에 유용
  • http://aws.amazon.com/ko/rds/reserved-instances/
RDS 에서 지원하는 데이터베이스 엔진 및 라이선스 모델
  • MySQL
    - MySQL Community Edition
    - General Public License 이며 추가 요금이 발생하지 않음
  • PostgreSQL
    - PostgreSQL License이며 추가 요금이 발생하지 않음. 단 사용요금은 MySQL 보다 조금 높음.
  • Orlacle
    - Oracle Database Standard Edition One
    - Oracle Database Standard Edition
    - Oracle Database Enterprise Edition
    - License Included: AWS에서 미리 구매한 라이선스를 사용하는 방식. 라이선스 요금이 추가로 발생. Oracle Standard Edition One 사용가능
    - Bring-Your-Own-License(BYOL): 이미 Oracle 라이선스 보유하고 있을 때 사용 가능. 프리 티어에서 매 월 750시간 무료로 사용할 수 있지만 BYOL만 지원하기 때문에 Oracle 라이선스를 따로 구매해야 함.
  • Microsoft SQL Server
    - Microsoft SQL Server Express Edition
    - Microsoft SQL Server Web Edition
    - Microsoft SQL Server Standard Edition
    - Microsoft SQL Server Enterprise Edition
    - 프리 티어: 마이크로 인스턴스에 단일 가용 영역(Single-AZ)으로 SQL Server Express Edition 버전을 실행하면 매 월 750시간 무료로 사용 가능.
    - License Included: AWS에서 미리 구매한 라이선스를 사용하는 방식. 라이선스 요금이 추가로 발생, Express Edition, Web Edition, Standard Edition 사용 가능.
    - Bring-Your-Own-License(BYOL): 이미 SQL Server 라이선스를 보유하고 있을 때 사용 가능한 방식. Standard Edition, Enterprise Edition 사용 가능.
  • 참고 사이트
    - MySQL: http://aws.amazon.com/ko/rds/mysql/
    - PostgreSQL: http://aws.amazon.com/ko/rds/postgresql/
    - Oracle: http://aws.amazon.com/ko/rds/oracle/
    - SQL Server: http://aws.amazon.com/ko/rds/sqlserver/
RDS DB 자동 백업과 DB Snapshot 의 차이점
  • DB 자동 백업
    RDS  DB instance를 삭제하면 DB  자동 백업도 함께 삭제됨
  • DB Snapshot
    RDS DB instance를 삭제하더라도, DB Snapshot은 계속 유지됨. 그리고 다른 리전으로 복사할 수 있음
Multi-AZ 복제와 Read Replica
  • Multi-AZ 복제
    쓰기 작업을 실시한 즉시 예비 인스턴스에 복제됨. 따라서 데이터가 항상 일치한다는 것을 보장.
    Multi-AZ 복제는 서비스가 항상 가동해야 하는 가용성(Availability)을 위한 것이지 부하 분산을 통한 성능 향상을 위한 것은 아님.
    또한, 예비 인스턴스에서는 읽기 작업을 할 수 없음.
  • Read Replica
    쓰기 작업을 실시하면 약간의 시간차를 가지고 복제됨. 따라서 데이터가 일치하지 않을 수 있음.
    Read Replica는 읽기 부하 분산을 통해 성능 향상을 위한 기능.
<Warning!>
  • Apply Immediately를 체크해서 설정 변경 내용을 즉시 적용하면 DB instance의 실행이 재기동 됨.
  • Read Replica가 있는 Master DB instance의 스토리지 용량을 늘릴 때는 Read Replica instance의 스토리지 용량도 동일한 값으로 늘려줘야 함.
  • RDS DB instance 는 EC2 instance와 달리 정지 개념이 없음. 따라서
<Note>
  • Provisioned IOPS는 스토리지 용량이 100GB 이상일 때 사용할 수 있음.
  • Multi-AZ 복제를 사용했을 때는 예비 인스턴스(standby)에서 스냅샷을 생성하게 되므로 메인 인스턴스의 I/O 성능에 영향을 주지 않음.
  • Promote Read Replica
    Read replica instance를 새로운 마스트 DB instance로 승격(promote) 시키는 기능임.
    이 기능을 사용하면 이전 마스터(소스) DB instance와의 복제 관계는 끊어지고, 별개의 DB instance가 됨.
    이 기능을 사용하려면 먼저 자동백업(Enable Automatic Backups), 백업 유지 기간(Backup Retention Period), 백업 시간(Backup Window)을 설정해야 함.
RDS 기타 설정 및 기능
  • Parameter Groups
    DB 세부 설정을 한 곳에 모아 놓은 것입니다. 현재 사용하고 있는 Parameter Group은 수정할 수 없으며, Parameter Group을 새로 생성한 뒤 DB instance에서 교체하는 방식으로 사용함.
    http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html
  • Option Groups
    DB 실행 옵션을 한 곳에 모아 놓은 것. 현재 사용하고 있는 Option Group은 수정할 수 없으며 Option Group을 새로 생성한 뒤 DB instance에서 교체하는 방식으로 사용함. MySQL의 경우 Memcached 설정을 할 수 있음
    http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithOptionGroups.html
  • Subnet Groups
    Subnet Group에 AZ에 속한 여러 개의 Subnet을 추가할 수 있음. VPC를 생성하고 EC2 instance와 내부 네크워크를 구성할 때 사용함.
    http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.CreateDBSubnetGroup.html
  • Events
    DB instance의 동작 상태, 스냅샷 생성, Read Replica 생성, 에러 발생등 RDS에서 발생한 모든 상황을 조회할 수 있음.
  • Event Subscriptions: DB instance의 다양한 상태를 이메일 등(SNS)을 통해 알림을 받을 수 있음.
    - DB instance: 백업, 설정 변경, 생성, 삭제, Failover, 용량 부족, 유지 관리, 복구 등
    - Security Group: 설정 변경, 실패 등
    - Parameter Group: 설정 변경
    - Snapshot: 생성, 삭제, 실패, 복구 등