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)에 들어있는 데이터 접근 허용