섹션 21: AWS의 데이터베이스

2024. 1. 12. 20:58· 스터디/AWS SAA
목차
  1. RDS
  2. Aurora
  3. ElastiCache
  4. DynamoDB
  5. S3
  6. DocumentDB
  7. Netptune
  8. Keyspacces (for Apache Cassandra)
  9. QLDB
  10. Timestream

RDS

  • 관리형 PostgreSQL, MySQL, Oracle SQL 서버, MariaDB 용 및 사용자 지정 RDS가 있음
  • Amazon RDS를 사용 할 때는 RDS 인스턴스 크기와 EBS 볼륨 유형 및 크기를 프로비저닝 해야함
  • 스토리지 계층에 오토 스케일링 기능이 있어도 프로비저닝 해야함
  • RDS 데이터베이스 보안은 IAM을 통해 설정이 가능
    • 사용자 이름, 비밀번호로 DB 연결
    • 일부 사용자에게 IAM 인증 부여하여 연결
  • 네트워크 보안을 위해 보안 그룹 설정이 가능
    • 저장 데이터 암호화에는 KMS 사용
    • 저장 데이터 암호화는 SSL, TLS 사용
  • 자동 백업 옵션 최대 35일까지 지원
  • 장기 보존 백업은 수동 DB 스냅샷 사용
  • RDS 프록시를 강제하여 RDS에 IAM 인증 추가하는 기능이 있음

Aurora

  • PostgreSQL, MySQL 호환되는 API
  • 컴퓨팅과 스토리지가 분리된 특별한 서비스
  • 기본 스토리지가 세 가용 영역에 걸쳐 여섯 개의 복제본 저장
  • 스토리지 문제 발생 시 백그라운드에서 자가 복구 처리 
  • 읽기 전용 복제본이 있으면 오토 스케일링을 통해 용량 늘릴 수 있음
  • 데이터베이스 인스턴스 클러스터가 있으므로 사용자 지정 엔드 포인트 지정
    • 사용자 지정 엔드 포인트 읽기, 쓰기를 위한 라이터 엔드 포인트, 리더 엔트 포인트 필요
  • Aurora는 RDS와 동일하게 보안, 모니터링, 유지 관리 기능 있다.
  • 추가 기능
    • Aurora Serverless
      • 워크로드가 간헐적일 때
      • 예측 할 수 없을 때
      • 용량 계획을 할 수 없을때
    • Aurora Multi-Master
      • DB 인스턴스 여러 개가 스토리지에 쓰기를 할 수 있도록 설정 가능
    • Aurora Global
      • 글로벌 데이터베이스를 사용 할때 사용
      • 복제된 리전마다 최대 16개 데이터베이스 읽기 전용 인스턴스 제공
      • 리전 간 스토리지 복제는 1초 미만으로 걸림
    • Aurora Machine Learning
      • SegeMaker와 Comprehend를 사용하여 머신 러닝 수행 가능
    • Aurora Database Cloning
      • 프로덕션 데이터베이스, 테스트 데이터베이스, 스테이징 데이터베이스 만들 때 사용
      • 기존 클러스터에서 새 Aurora 클러스터를 만들면 됨
      • 스냅샷 사용해서 복구하는거 보다 빠름

ElastiCache

  • 관리형 Rdis/Memcached
  • RDS와 비슷한 기능을 제공하지만 캐싱 작업에 활용을 한다.
  • 인 메모리 데이터 스토어다.
    • 데이터 읽을 때 1밀리초 미만의 지연 시간 제공
  • 캐시를 위한 EC2 인스턴스 유형을 프로비저닝 해야지 계속 진행이 가능
  • 클러스터 생성, 다중 AZ와 샤딩을 위한 읽기 전용 복제본 사용 가능
  • IAM을 통해 프로비저닝한 보안, 보안 그룹 사용 가능
  • 저장 데이터 암호화 KMS과 Redis 인증을 사용 할 수 있음
  • 지정 시간 복구 기능 가능
  • Amazon ElastiCache를 사용해 RDS가 결합된 DB에서 캐싱 작업을 수행할려면?
    • 애플리케이션 코드가 ElastiCache를 활용하도록 코드 수정 필요
  • 웹사이트 세션 데이터 저장도 가능
  • SQL 사용 할 수 없음

DynamoDB

  • 밀리 초 단위의 레이턴시를 제공하는 관리형 서버리스 NoSQL 데이터베이스
  • 두 가지 용량 모드가 있음
    • 프로비저닝 용량
      • 옵션으로 오토 스케일링이 제공됨
      • 점진적으로 증가하거나 감소하는 매끄러운 유형의 워크로드에 적합함
    • 온디맨드 용량
      • 자동으로 스케일링이 됨
      • 워크로드 예측하기 어렵거나 DB 수요가 갑자기 상승할때 적합
  • 키 값 저장소로 ElastiCache 대체 가능
  • TTL이 있어서 세션 데이터 저장 시 유용
  • 읽기와 쓰기가 완전히 분리되어 있음
  • DynamoDB와 완벽히 호환되는 완성품 형태의 읽기 캐시 만들 수 있음
    • DAX 클러스터 (DynamoDB 액셀러레이터) 사용 시 완벽히 호환됨
    • 마이크로초 단위의 읽기 레이턴시를 얻을 수 있음
  • DynamoDB Stream
    • 모든 변경사항을 스트리밍 할 수 있음
    • 람다 호출할 수 있도록 통합도 가능
  • Kinesis Data Stream
    • DynamoDB Stream말고 Kinesis Data Stream에도 보낼 수 있음
    • 그러면 Kinesis Data Firehose 기능을 활용하거나 Kinesis Data Stream 활용 가능
      • active-active
        • DynamoDB 이외에 글로벌 테이블 기능을 갖게됨
        • 사용하면 다수의 리전에 걸쳐 active-active 복제를 할 수 있음
        • 그럼 누구나 어느 리전에서 읽기, 쓰기가 가능
  • 백업 옵션
    • 자동 백업
      • PITR을 활성화 하면 최장 35일까지 자동 백업됨
      • 새로운 테이블로 복구 가능
    • 온디맨드
      • 장기간 보관할때 사용
      • 새로운 테이블로 복구 가능
    • S3
      • PITR 기간 안에 최장 35일 안에 S3 내보내기 가능, 읽기 용량 전혀 사용하지 않음
      • S3로 내보내도 쓰기 용량 전혀 사용하지 않음
      • S3에서 새로운 테이블 가져오기 가능
  • 빠르게 스키마를 변경, 유연한 타입의 DB 스키마가 필요할때 DynamoDB를 사용
  • 활용 사례
    • DB가 필요 할 때 
    • 서버리스 애플리케이션 개발
    • 데이터가 작은 문서들 분산형 서버리스 캐시가 필요할 때

S3

  • 객체를 키-값으로 저장, 큰 객체를 저장 할때 유용
  • 여러 개의 작은 객체를 저장할 때는 유용하지 않음
  • 서버리스로 확장성이 무한
  • 객체 최대 크기 5TB
  • 계층 전환을 할려면 수명 주기 정책 사용
  • 꼭 알아야 할 중요한 기능
    • 버저닝
    • 암호화
    • 복제
    • 멀티 팩터 인증(MFA) 삭제
    • 액세스 로그
    • 보안 기능
      • IAM 보안
      • 버킷 정책 생성
      • ACL
      • S3에 액세스 포인트 생성
    • 람다를 통해 애플리케이션에 객체를 전송 전에 수정 가능
    • CORS 정책
    • Glacier 객체 잠금 또는 볼트 잠금 개념 활용
  • S3 Batch
    • 버킷에 있는 모든 파일을 한 번에 작업할 때 사용함
  • 파일 목록은 S3 인벤토리를 사용해 생성 할 수 있음
  • 파일을 병렬식으로 업로드 할 수 있음, 멀티파트 업로드
  • S3 전송 가속화
    • S3 파일을 한 리전에서 다른 리전으로 더 빠르게 전송 가능
  • S3 Select
    • S3에서 필요한 데이터만 검색
  • S3 Event Notifications
    • 자동화 관련
      • SNS
      • SQS
      • Lambda
      • EventBridge
    • 새로운 객체 생성되는 이벤트에 반응

DocumentDB

  • 몽고DB용 Aurora
    • NoSQL 데이터베이스
  •  몽고DB 기술을 기반으로 한 데이터베이스
    • 그래서 Mongo DB와 호환이 됨
  • 몽고DB는 JSON 데이터를 저장, 쿼리, 인덱스 하는데 사용을 함

Netptune

  • 완전 관리형 그래프 데이터베이스
  • 그래프 데이터베이스 예시
    • 소셜 네트워크
    • 지식 그래프

Keyspacces (for Apache Cassandra)

  • AWS 관리형이고, Apache Cassandra를 보조함
  • Cassandra는 오픈 소스 NoSQL 분산 데이터베이스
  • Keyspacces는 Cassandra를 직접 관리 해준다.
  • 서버리스
  • 오토 스케일링 기능 적용
  • Cassandra 쿼리 언어 (CQL)을 사용하면 어떤 규모에서도 지연 시간이 10밀리초 미만
    초당 수천 건 요청 처리
  • 두 가지 용량 모드 (DynamoDB의 모드와 동일)
    • 온디맨드 모드
    • 프로비저닝 모드
  • 최대 35일 지정 시간 복구 가능
  • 사용 사례
    • IoT 장치 정보
    • 시계열 데이터 저장
  • Apache Cassandra는 Amazon Keyspaces 사용

QLDB

  • 퀀텀 레저 데이터베이스
  • 원장은 금융 트랜잭션을 기록하는 장부다.
  • 따라서 QLDB는 금융 트랜잭션 원장을 갖게 됨
  • 완전 관리형 데이터베이스
  • 서버리스
  • 애플리케이션 데이터의 시간에 따른 모든 변경 내역 검토하는데 사용 (장부)
  • 불변 시스템
    • 데이터베이스에 무언가를 쓰면 삭제, 수정 안됨
  • SQL 사용하여 데이터 관리 가능
  • 블록체인과의 차이점은 탈중앙화 개념이 없음
    • Amazon 소유의 중앙 데이터베이스에서만 저널 작성이 가능
    • 많은 금융 규제 규칙들을 따르는 것

Timestream

  • 시계열 데이터베이스
  • 시계열이란?
    • 시간 정보를 포함하는 포인트의 모음
  • 데이터베이스 용량 자동 확장, 축소 가능
  • 매일 수조 건의 이벤트를 저장 및 분석
  • 시계열 데이터가 있을 때는 RDS보다 Timestream 사용
  • 쿼리를 예약하고 다중 척도 레코드 얻을 수 있음
  • SQL 완벽히 호환
  • 최신 데이터는 메모리에 저장
  • 과거 데이터는 비용 효율적인 스토리지 계층에 저장
  • 시계열 분석 기능
    • 실시간으로 데이터 분석, 패턴 파악 가능
  • 사용 사례
    • IoT 애플리케이션 
    • 운영 애플리케이션
    • 실시간 분석
    • 시계열 데이터베이스와 관련된 모든 곳
    • 데이터 받을 수 있는 서비스
      • Kinesis Data Stream -> Lambda를 통해 데이터 받을 수 있음
      • Kinesis Data Streams -> Kinesis Data Analytics를 통해 데이터 받을 수 있음
      • 이 외에도 AWS IoT.. 등 가능
    • 받은 후
      • 대시 보드를 빌드 할 수 있는 Amazon QuickSight 사용
      • 기계 학습을 할 수 있는 Amazon SageMaker 사용
저작자표시 (새창열림)

'스터디 > AWS SAA' 카테고리의 다른 글

섹션 23: 머신 러닝  (0) 2024.01.15
섹션 22: 데이터 & 분석  (0) 2024.01.13
섹션 20: 서버리스 솔루션 아키텍처 토론  (0) 2024.01.11
섹션 19: 솔루션 설계자 관점의 서버리스 개요  (0) 2024.01.10
섹션 18: AWS의 컨테이너: ECS, Fargate, ECR 및 EKS  (1) 2024.01.09
  1. RDS
  2. Aurora
  3. ElastiCache
  4. DynamoDB
  5. S3
  6. DocumentDB
  7. Netptune
  8. Keyspacces (for Apache Cassandra)
  9. QLDB
  10. Timestream
'스터디/AWS SAA' 카테고리의 다른 글
  • 섹션 23: 머신 러닝
  • 섹션 22: 데이터 & 분석
  • 섹션 20: 서버리스 솔루션 아키텍처 토론
  • 섹션 19: 솔루션 설계자 관점의 서버리스 개요
blablax5
blablax5
웹 백엔드취준생 입니다.
blablax5
blablax5
blablax5
전체
오늘
어제
  • 분류 전체보기 (141)
    • 개발 (39)
      • 트러블 슈팅 (25)
      • 서버 & DB (5)
      • 스프링 & 자바 (3)
      • 알고리즘 (6)
    • 스터디 (27)
      • AWS SAA (23)
      • 쉽게 배우는 운영체제 (3)
      • AWS Builders 온라인 시리즈 (1)
    • 학습부채 (0)
    • 항해99 (70)
    • 횡설수설 (3)

블로그 메뉴

  • 홈

공지사항

인기 글

태그

  • SAA
  • AWS

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
blablax5
섹션 21: AWS의 데이터베이스
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.