Amazon Relational Database Service

Amazon RDS

  • 비용 효율적이고 조절 가능한 용량
  • 시간 소모적인 데이터 베이스 관리 작업을 지원
  • Aurora, MySQL, MariaDB, Microsoft SQL Server, Oracle 및 PostgreSQL 데이터베이서의 전체 기능에 대한 액세스
  • VMware에 배포 가능

RDS 정보

  • 간편하고 빠른 배포
  • 일반적인 데이터 베이스 관리 작업을 관리
  • 애플리케이션과 호환됨
  • 빠르고 예상 가능한 성능
  • 간편하고 빠른 확장
  • 보안
  • 비용 효율적

DB 인스턴스

  • DB 인스턴스는 RDS 의 기본 빌딩 블록
  • DB 인스턴스는 클라우드에 있는 격리된 데이터베이스 환경
  • DB 인스턴스에는 사용자가 생성한 여러 데이터베이스가 포함

RDS 백업 작동 방식

  • 자동 백업

    • 데이터베이스를 특정시점으로 복원
    • 기본적으로 활성화 되어있음
    • 최대 35일까지 보존 기간을 선택
  • 수동 스냅샷

    • 스냅샷에 새 데이터베이스 인스턴스를 구축
    • 사용자가 시작해야함
    • 사용자가 삭제할 때까지 유지
    • S3 에 저장됨

DB 인스턴스의 자동 백업을 활성화 하면 RDS가 매일 자동으로 데이터에 대한 완전한 스냅샷을 만들고, 트랜잭션 로그를 캡처함.

RDS 보안

  • VPC 에서 DB 인스턴스 실행
  • IAM 정책을 사용하여 RDS 리소스에 대한 액세스 권한을 부여
  • 보안 그룹을 사용
  • DB 인스턴스에 Secure Socket Layer(SSL) 연결 사용
  • RDS 암호화를 사용하여 저장된 RDS 인스턴스와 스냅샷을 보호
  • Oracle DB and Microsoft SQL Server 인스턴스에 네트워크 암호화와 Transparent Data Encryption(TDE) 사용
  • DB 엔진의 보안 기능을 사용하여 DB 인스턴스에 대한 액세스를 제어

DB 인스턴스에서 RDS 리소스 및 데이터베이스에 대한 액세스를 관리할 수 있다.

간단한 아키텍처

스크린샷, 2019-11-07 01-40-21.png

RDS 사례

  • 메모리, CPU 및 스토리지 사용을 모니터링
  • 다중 AZ 배포를 사용하여 다른 가용 영역에 동기식 대기 인스턴스를 자동으로 프로비저닝하고 유지
  • 자동 백업을 활성화
  • 일일 쓰기 IOPS 가 낮을 때가 백업 기간이 되도록 설정
  • DB 인스턴스의 I/O 용량을 늘리는 방법
    • I/O 용량이 높은 DB 인스턴스 클래스로 마이그레이션
    • 표준 스토리지에서 프로비저닝된 IOPS 스토리지로 변환하고, 프로비저닝된 IOPS에 최적화된 DB 인스턴스 클래스를 사용
    • 처리량 용량을 추가로 프로비저닝함
  • 클라이언트 애플리케이션이 DB 인스턴스의 DNS 데이터를 캐시하는 경우 TTL 을 30초 미만으로 설정
  • DB 인스턴스에 대한 장애 조치를 테스트

Amazon DynamoDB

Amazon-DynamoDB@4x.png

  • 어떤 양의 데이터든 제한 없이 저장할 수 있다.
  • SSD를 사용해 빠르고 예측 가능한 성능을 제공
  • 테이블별로 필요한 요청 용량을 쉽게 프로비저닝하고 변경할 수 있다.
  • 완전 관리형 NoSQL 데이터 베이스 서비스
  • 온디맨드 모드로 변화하는 워크로드 수용

스크린샷, 2019-11-07 01-47-03.png

테이블은 항목의 모음이고, 각 항목은 속성의 모음이다.
항목의 각 속성은 이름 값 페어이고, 속성은 스칼라(단일값), JSON 문서 또는 집합이 될수 있다.

DynamoDB 기본 키

스크린샷, 2019-11-07 01-48-14.png

DynamoDB는2가지종류의기본키를지원합니다.

  1. 파티션키

    • 파티션키라고알려진하나의속성으로구성된간단한기본키입니다.
    • DynamoDB는파티션키값을내부해시함수에대한입력으로사용하고, 해시 함수의출력이항목이저장되는파티션을결정합니다.
    • 테이블에서2개의항목이 같은파티션키값을가질수는없습니다.
  2. 파티션키및정렬키

    • 2개의속성으로구성된복합기본키입니다.
    • 첫번째속성은 파티션키이고, 두번째속성은정렬키입니다.
    • DynamoDB는파티션키값을내부 해시함수에대한입력으로사용하고, 해시함수의출력이항목이저장되는 파티션을결정합니다. 같은파티션키를갖는모든항목은정렬키값에따라 정렬된상태로함께저장됩니다.
    • 2개의항목이같은파티션키값을가질수있으나, 이 2개의항목은다른정력키값을가져야합니다.

지원되는 작업

  • 쿼리

    • 파티션 키와 정렬 키 필터를 사용하여 테이블을 쿼리합니다.
    • 테이블에 보조 인덱스가 있는 경우, 보조 인덱스의 키를 사용하여 쿼리합니다.
    • 쿼리는 테이블 또는 보조 인덱스에서 항목을 검색하는 가장 효율적인 방법입니다.
  • 스캔

    • 테이블이나 보조 인덱스를 스캔할 수 있다.
    • 스캔은 각 항목을 읽으므로 쿼리보다 속도가 느립니다.
  • 쿼리와 스캔 작업 모두에 조건식을 사용할 수 있다.

간단한 아키텍처

스크린샷, 2019-11-07 01-52-52.png

RDS 및 DynamoDB 비교

스크린샷, 2019-11-07 01-53-32.png

데이터베이스 고려사항

스크린샷, 2019-11-07 01-54-20.png