AWS SAA 5주차

2025. 3. 24. 09:53·DevOps/AWS

1. 강의 내용

학습 범위

  • 20. 서버리스 솔루션 아키텍처 토론
  • 21. AWS의 데이터베이스
  • 22. 데이터 & 분석
  • 23. 머신 러닝
  • 24. AWS 모니터링 및 감사: CloudWatch, CloudTrail 및 Config
  • 25. Identity and Access Management (IAM) - 고급

 

 


2. 강의 정리

1) AWS 데이터베이스

: AWS에서는 다양한 데이터베이스 옵션을 제공한다.

그 중에 애플리케이션 아키텍처에 맞는 데이터베이스를 선택하기 위해서는 여러 사항들을 고려해야 한다.

 

 

1. 고려사항

  • 워크로드 유형
    • 읽기 위주인가요? 쓰기 위주인가요?
  • 처리량
    • 얼마나 많은 트래픽을 처리해야 하나요?
    • 트래픽이 변동하거나 자동 확장이 필요하나요??
  • 데이터 용량
    • 얼마나 많은 데이터를 저장해야 하나요?
    • 데이터가 지속적으로 삽입 되나요?
    • 개별 데이터의 크기는 어느 정도인가요?
  • 데이터 모델
    • 구조화 된 데이터인가요? 반구조화 된 데이터인가요?
    • 데이터를 조회할 때, Join이 필요한가요?
  • 스키마
    • 엄격한 스키마가 필요한가요? 유연한 스키마가 필요한가야?
    • 보고서(Reporting), 검색(Search) 기능이 필요한가요?
  • 비용
    • 오픈소스를 사용할 계획인가요?
    • 클라우드 네이티브(Aurora) DB로 전환할 계획이 있나요?

 

2. 데이터베이스 유형

 

유형 대표 서비스 특징
RDBMS (SQL/OLTP) RDS, Aurora Join에 강력, 관계형 데이터 처리
NoSQL DynamoDB, ElastiCache, Neptune 등 Join/SQL 불가, 유연한 데이터 모델
객체 스토리지 S3, Glacier 대용량 객체 저장, 백업/아카이브
데이터 웨어하우스 (OLAP) Redshift, Athena, EMR SQL 분석, BI 목적
검색 OpenSearch 비구조화 데이터, 텍스트 검색
그래프 Neptune 관계 중심 데이터
원장(Ledger) Amazon QLDB 변경 불가 기록
시계열 Amazon Timestream 시계열 데이터 처리

 

 

3. 데이터베이스 종류

서비스 지원 엔진 주요 특징 사용 사례
RDS MySQL, MariaDB,
PostgreSQL, Oracle,
SQL Server
인스턴스 크기 및 EBS 볼륨 설정,
Read Replicas, 다중 AZ, 자동 백업
전통적인 관계형 DB 서비스
(ERP, CRM 등)
Aurora PostgreSQL, MySQL S3 기반 분산 스토리지(자동 복구 및 확장)
스토리지와 컴퓨팅 분리,
Aurora Serverless, Aurora Global 옵션
고성능 웹 앱, 유연성 필요한 관계형 DB
ElastiCache Redis, Memcached In-Memory DB 웹사이트 세션 데이터 저장, DB 쿼리 캐싱
DynamoDB 서버리스 NoSQL 온디맨드/프로비저닝 모드,
DynamoDB Streams/Kinesis 지원
서버리스 애플리케이션, 실시간 데이터 처리
S3 객체 스토리지 (Key-Value) 다양한 스토리지 티어,
이벤트 알림, 수명주기 정책
정적 웹사이트 호스팅, 대용량 파일 저장
DocumentDB MongoDB (NoSQL) JSON 기반, 쿼리/인덱싱 지원
스토리지 자동 확장(10GB 단위), 
MongoDB 기반 서비스 마이그레이션
Neptune 그래프 DB 수십억 관계 저장, 고성능 그래프 쿼리 SNS 관계, 추천 시스템, 사기 탐지
Keyspaces Apache Cassandra 관리형 Cassandra, 높은 확장성 IoT, 시계열 데이터 저장
QLDB 불변성 원장 DB 모든 변경 사항 영구 기록,
기존 데이터 수정 불가 (새로운 버전 추가)
금융 거래 기록
Timestream 시계열 DB 시계열 데이터에 최적화, 실시간 분석 함수 내장 IoT, 시계열 데이터 저장 및 실시간 분석
더보기

1. RDS

  • PostgreSQL / MySQL / Oracle / SQL Server / MariaDB / DB2 / RDS Custom
  • 인스턴스 크기 및 EBS 볼륨 설정 가능
  • 스토리지 자동 확장 가능
  • Read Replicas 및 다중 AZ 지원
  • IAM, KMS, SSL 전송 보안
  • 자동 백업(최대 35일), 수동 스냅샷 가능
  • 사용 사례
    • 전통적인 관계형 DB 서비스

 

2. Aurora

  • PostgreSQL / MySQL
  • 스토리지와 컴퓨팅 분리 
    • 스토리지
      • 데이터를 S3 기반의 분산 스토리지에 저장
      • 자동 복구, 자동 확장
    • 컴퓨팅
      • SQL 쿼리 처리, 트랜잭션 처리 수행
      • Writer 1개 + Reader N개 인스턴스로 구성 가능 (스케일 유연성)
  • 사용 사례
    • RDS와 유사하지만, 성능 및 유연성이 뛰어남

 

3. ElastiCache

  • Redis / Memcached
  • In-Memory DB
  • 사용 사례
    • 웹사이트 세션 데이터 저장, DB 쿼리 캐싱

 

4. DynamoDB

  • 서버리스 NoSQL
  • 온디맨드 / 프로비저닝 모드, 자동 확장
  • ElastiCache 대체 가능
  • 이벤트 처리 지원 (DynamoDB Streams, Kinesis Data Streams)
  • 사용 사례
    • 서버리스 애플리케이션

 

5. S3

  • Key-Value 기반 객체 스토리지
  • 최대 5TB, 무한 확장, 다양한 스토리지 티어 제공
  • 이벤트 알림, 수명주기 정책 지원
  • 사용 사례
    • 정적 웹사이트 호스팅, 대용량 파일 저장

 

6. Document DB

  • MongoDB (NoSQL)
  • JSON 저장, 쿼리 및 인덱싱
  • 스토리지 자동 증가 (10GB 단위)
  • 사용 사례
    • MongoDB 기반 애플리케이션을 AWS로 마이그레이션 시 유용

 

7. Neptune

  • 그래프 DB
  • 사용 사례
    • SNS 친구 관계, 게시글, 댓글, 좋아요, 지식 그래프, 추천 시스템, 사기 탐지(이상한 패턴, 수상한 관계 탐지)

 

8. Keyspaces

  • Apache Cassandra
  • 사용 사례
    • IoT, 시계열 데이터 저장


9. QLDB

  • 불변성 원장 DB
  • 데이터의 모든 변경 사항을 영구히 기록하고 추적 관리
    • 데이터 삽입, 수정, 삭제 시 기존 데이터를 변경하는 것이 아닌 새로운 버전을 추가함
    • 기존 기록은 절대 수정, 삭제 불가
  • 사용 사례
    • 금융 거래 기록

 

10. Timestream

  • 시계열 데이터베이스
  • 실시간 분석 함수 내장
  • 사용 사례
    • IoT, 시계열 데이터 저장, 실시간 분석

 


 

2) Athena

: S3에 저장된 데이터를 SQL 쿼리로 조회하여, 분석할 수 있게 하는 서버리스 서비스이다.

S3에 파일 형태로 저장된 데이터(CSV, JSON, Parquet 등)를 별도의 DB로 옮기지 않고, SQL로 바로 분석할 수 있게한다.

 

 

1. 특징

  • Presto 엔진 기반의 표준 SQL 사용한다.
  • S3에 저장된 각종 로그를 분석한다.
    • VPC Flow Log, ELB Log 등
  • 분석 시 스캔된 데이터를 기준으로 요금이 청구된다.
    • 1TB당 약 $5
  • AWS Quicksight와 연동하여 분석 대시보드, 리포트 생성이 가능하다.

 

 

2. Athena Federated Query

  • 내부적으로 Lambda 데이터 소스 커넥터를 사용해서 S3뿐만 아니라, 외부 데이터 소스에도 SQL 쿼리를 할 수 있다.
    • RDS, Oracle, DynamoDB, DocumentDB, Redshift, CloudWatch Logs, ElasticSearch ..

 


 

3) Redshift

: PB 규모의 대용량 데이터를 빠르게 분석할 수 있도록 설계된, 클라우드 데이터 웨어하우스 서비스이다.

(데이터 웨어하우스: 대용량 데이터를 빠르고 효율적으로 조회, 집계, 분석할 수 있는 시스템)

 

 

1. 특징

  • PostgreSQL 기반이지만, 일반적인 OLTP 용도가 아닌 OLAP 용도로 설계됨
    • OLTP(Online Transaction Processing)
      • 실시간 서비스의 '거래/업무' 중심의 트랜잭션을 처리하는 시스템 (Insert, Update, Delete 중심)
    • OLAP(Online Analytical Processing)
      • 대용량 데이터의 '집계/분석' 중심의 트랜잭션을 처리하는 시스템 (Select, Group by, Aggregate 중심)
  • 컬럼 기반 저장 방식으로, 행 단위가 아니라 컬럼 단위로 데이터를 저장한다.
    • 분석 쿼리에서 필요한 컬럼만 읽어와 I/O 성능이 매우 뛰어남
  • MPP(Massively Parallel Processiong), 여러 노드에서 쿼리를 병렬로 처리한다.
    • 리더 노드: 쿼리를 파싱하여 실행 계획 수립
    • 컴퓨터 노드: 실제 데이터 조회 및 분석 수행
  • Athena는 비정기적으로 빠르게 데이터 분석이 필요할 때, Redshift는 정기적으로 대규모 데이터 분석이 필요할 때 사용할 수 있다.

 

 

2. Redshift Spectrum

  • Redshift 클러스터로 데이터를 로드하지 않고, S3에 있는 상태로 바로 SQL 쿼리를 할 수 있다.

 


 

4) CloudWatch Metrics

: AWS 서비스에 대한 Metric 지표를 수집하는 서비스이다.

 

 

1. 주요 기능

  • AWS 서비스에서 자동으로 Metric을 수집하거나, ClundWatch Agent / API를 통해 사용자 정의 데이터를 수집한다.
    • 기본 메트릭: AWS 서비스에서 자동으로 제공되는 메트릭
      ex. EC2 - UUtilization, S3 - NumberOfObjects

    • 커스텀 메트릭: 사용자가 직접 정의하고 업로드하는 메트릭
  • CloudWatch 대시보드를 통해 Metric을 그래프나 차트로 시각화할 수 있다.
  • 특정 Metric이 임계값을 초과하거나 특정 조건을 충족할 때 알림(Amazon SNS) 또는 자동 작업(Auto Scaling)을 트리거 시킬 수 있다.
  • Metric 데이터는 기본적으로 15개월 저장된다.
    • 1초 단위 고해상도 데이터는 3시간, 10초 단위 고해상도 데이터는 15일로 제한
  • 다양한 통계 분석 데이터를 제공한다.

 

 

2. Metric 구성 요소

  • Metric: 모니터링하고자 하는 데이터
  • Namespace: Metric을 그룹화 하는 논리적 컨테이너
  • Dimesions: Metric의 속성
    • Metric을 세부적으로 식별할 수 있도록 함
    • 1개의 Metric는 최대 30개의 Dimeesions을 지정할 수 있음
  • Timestamp: Metric이 기록된 시간

 

 

2-1) CloudWatch Metric Stream

: CloudWatch Metric을 실시간에 가까운 속도로 지정된 대상으로 스트리밍 하는 서비스이다.

 

1. 주요 기능

  • CloudWatch가 Metric을 Kinesis Data Firehose를 통해 전송한다.
    • AWS 내부 서비스(S3, Redshift) 또는 서드파티 서비스(Datadog, New Relic)로 전송이 가능하다.
  • 필터링을 사용해 특정 Metric만 선택하여 스트리밍 할 수 있다.

 

2. Metric Streams와 기본 Metrics의 차이

 

  CloudWatch Metrics CloudWatch Metric Streams
데이터 접근 API 폴링(GetMetricData 등) 실시간 스트리밍(Kinesis Firehose)
지연 시간 5~10분 2~3분
저장 기간 15개월 스트림 대상에 따라 다름
사용 목적 기본 모니터링, 알람 실시간 분석, 외부 통합
비용 무료 티어 포함 사용량 기반 과금

 

 

2-2) CloudWatch Logs

: AWS 서비스 또는 온프레미스 서버에서 생성되는 로그 데이터를 수집, 저장, 분석을 제공하는 서비스이다.

 

 

1. 주요 기능

  • CloudWatch Logs Insights을 사용해 로그 분석이 가능하다.
  • 특정 패턴이 발생하면 CloudWatch Metrics로 변환 후 알림을 트리거 할 수 있다.
  • 기본적으로 로그가 암호화되며, KMS 기반 암호화를 지원한다.

 

 

2. CloudWatch Logs - Sources

  • AWS SDK: 커스텀 로그
  • CloudWatch Logs Agent: 기본 에이전트
  • CloudWatch Unified Agent: CPU, RAM, 디스크
    • EC2, 온프레미스 서버 내부 자원 상태 모니터링 시 유용
  • Elastic Beanstalk: 애플리케이션 로그 자동 수집
  • ECS: 컨테이너 로그 수집
  • AWS Lambda: 함수 로그 자동 수집
  • VPC Flow Logs: 네트워크 트래픽 로그
    • 네트워크 보안 모니터링 시 유용
  • API Gateway: 요청 및 응답 로그
  • CloudTrail: 필터 조건에 따라 로깅
  • Route53: DNS 쿼리 로그

 

 

3. CloudWatch Logs Insights

  • CloudWatch Logs에 저장된 로그 데이터를 검색하고 분석한다.
    • S3나 OpenSearch로 로그를 옮기기 전, CloudWatch 내에서 로그를 빠르게 분석할 수 있는 도구로 사용된다.
  • 전용 쿼리 언어를 제공한다.
    • 쿼리를 저장해 CloudWatch 대시보드에 추가 가능
    • 서로 다른 AWS 계정의 여러 Log Group 쿼리 가능
  • AWS 서비스 및 JSON 로그에서 필드를 자동으로 인식한다.
저작자표시 (새창열림)

'DevOps > AWS' 카테고리의 다른 글

AWS SAA 6주차  (0) 2025.03.29
AWS SAA 4주차 (2)  (0) 2025.03.15
AWS SAA 4주차 (1)  (0) 2025.03.14
AWS SAA 3주차  (0) 2025.03.08
AWS SAA 2주차  (0) 2025.03.01
'DevOps/AWS' 카테고리의 다른 글
  • AWS SAA 6주차
  • AWS SAA 4주차 (2)
  • AWS SAA 4주차 (1)
  • AWS SAA 3주차
wch_t
wch_t
  • wch_t
    끄적끄적(TIL)
    wch_t
  • 글쓰기 관리
  • 전체
    오늘
    어제
    • 분류 전체보기 (171)
      • Architecture (0)
      • Algorithm (67)
        • Math (5)
        • Simulation (1)
        • Data Structure (4)
        • DP (7)
        • Brute Fource (10)
        • Binary Search (6)
        • Greedy (2)
        • Graph (11)
        • Mst (1)
        • Shortest path (10)
        • Two Pointer (1)
        • Tsp (3)
        • Union Find (2)
        • Mitm (1)
      • CS (2)
        • 데이터베이스 (5)
        • 네트워크 (5)
      • DB (6)
      • DevOps (17)
        • AWS (9)
        • Docker (1)
        • CI-CD (5)
      • Error (1)
      • Project (0)
        • kotrip (0)
      • Spring (59)
        • 끄적끄적 (5)
        • 기본 (9)
        • MVC 1 (7)
        • MVC 2 (11)
        • ORM (8)
        • JPA 1 (7)
        • JPA 2 (5)
        • Spring Data Jpa (7)
      • Test (2)
      • TIL (6)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    백준 17289 파이썬
    Jenkins
    scope
    애플
    TempTable
    spring-cloud-starter-aws-secrets-manager-config
    view algorithm
    Sxssf
    백준 17299 파이썬
    백준 3015 파이썬
    apache poi
    response_mode
    docker
    aws secrets manager
    Merge
    form_post
    spring-cloud-starter-bootstrap
    docker: not found
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
wch_t
AWS SAA 5주차
상단으로

티스토리툴바