AWS - CloudWatch, Lambda, DynamoDB, API Gateway

thumbzzero·2023년 7월 9일

CloudWatch

  • AWS 리소스 사용의 실시간 모니터링 기능 지원
  • 다양한 이벤트들을 수집하여 로그파일로 저장
  • 이벤트&알람 설정을 통해 SNS, AWS Lambda로 전송 가능
  • 모니터링 종류
    • Basic Monitoring : 무료, 5분 간격으로 최소의 Metrics 제공 (ex. CPU 사용량, 디스크 사용량, 네트워크 I/O)
    • Detailed Monitoring : 유료, 1분 간격으로 자세한 Metrics 제공

Alarm

  • 임의로 정해놓은 값에 도달할 시 알람을 울림
  • 알람이 울릴 시 특정 이벤트들을 작동시킬 수 있음

Lambda

  • Serverless를 구현할 때 중추적인 역할
  • Events가 발생될 때 실행
  • Lambda Function이 실행될 때만 비용 지불

DynamoDB

  • NoSQL(Not Only SQL) 데이터베이스
    • 매우 빠른 쿼리 속도
    • key-value 데이터 모델
    • 테이블 생성 시 스키마 생성 필요 X (알아서 생성)
    • Auto-Scaling 기능 탑재
    • SSD 스토리지 사용
    • 모바일, 웹, IoT 데이터 사용 시 추천
  • 두 가지 PK 유형 : Partition Key(실제 데이터가 들어가는 위치 결정), Composite Key(Partition Key + Sort Key)
  • IAM으로 DynamoDB 데이터 접근 권한 관리

Index

특정 컬럼만을 사용하여 쿼리하기 위함
테이블 전체가 아닌 기준점(pivot)을 사용해 쿼리가 이루어지므로 매우 큰 쿼리 성능 효과

  • 두 가지 Index 유형
    • Local Secondary Index(LSI) : 테이블 생성 시에만 정의 가능, 똑같은 파티션키 + 다른 정렬키 사용
    • Global Secondary Index(GSI) : 테이블 생성 후에도 추가/변경/삭제 가능, 다른 파티션키/정렬키 사용

데이터를 불러오는 방법

  • Query : PK를 사용해서 데이터 검색, 모든 데이터(컬럼) 반환
  • Scan : PK 사용하지 않고 모든 데이터를 불러옴

DAX(DynamoDB Accelerator)

  • 클러스터 In-memory 캐시 -> 읽기 요청에 대해 속도 향상

DynamoDB Streams

DynamoDB 테이블에서 일어나는 삽입/수정/삭제 등의 이벤트 발생 시 시간적 순서에 맞게 기록되는 장소
log는 즉각 암호화가 일어나며 24시간동안 보관됨
주로 이벤트를 기록하고 이벤트 발생을 외부로 알리는 용도 - Lambda Function과 자주 함께 쓰임

API Gateway

  • 뛰어난 확장성 제공 및 API를 만들고 운영하고 모니터링 가능
  • 백엔드 서비스(웹 어플리케이션, EC2)에 들어있는 데이터 접근 허용

0개의 댓글