Kinesis Data Firehose
- 생산자로부터 데이터를 읽어와 특정 데이터에 대해 Lambda를 통해 데이터 변환 후 도착지에 배치성 쓰기 실행
- 도착지 1 - AWS 도착지
- S3 / RedShift / ElasticSearch
- 도착지 2 - 써드파티 도착지
- Datadog / Splunk / NewRelic / MongoDB 등
- 도착지 3 - 커스텀 도착지
- HTTP EndPoint
- 데이터를 모든 도착지에 보내면 2개 옵션 존재
- 모든 데이터를 S3 버킷에 보내 백업
- 도착지에서 쓰기 실패한 데이터를 실패 버킷에 보관
- 완전 관리형 서비스 (관리기능 X, 오토스케일링, 서버리스)
- Firehose를 통하는 데이터에 대해서만 비용 지불
- 실시간에 가까운 서비스
- 다양한 데이터 형식, 변환, 압축 지원
- 람다를 통해 자체 데이터 변환 생성 가능
Kinesis Data Streams vs Firehose
- KDS
- 데이터를 대규모로 수집하는 스트리밍 서비스
- 생산자 / 소비자 관련 자체 사용자 정의 코드 작성
- 실시간 (200ms or 70ms)
- 샤드 분할/병합 등 스케일링 자체적으로 관리
- 데이터 저장은 1 ~ 365일
- 같은 스트림에서 여러 소비자 읽기 가능
- 리플레이 기능 제공
- KDF
- 데이터를 S3, RedShift, ES, 써드파티, custom HTTP에 스트리밍 하기 위한 수집 서비스
- 완전 관리형으로 관리할 서비스가 없음
- 실시간에 근접
- 오토 스케일링 지원
- 리플레이 기능 미제공
Kinesis Data Analytics
- for SQL Applications
- 완전 관리형 서비스
- KDS or KDF로부터 데이터를 받아옴
- S3에서 참조데이터를 가져오거나 분석을 위한 SQL 구문 실행
- 데이터를 두가지 방식으로 다양한 목적지로 보냄
- KDS에 보냄 / KDF에 보냄
- 시분할 분석 / 실시간 대시보드 / 실시간 측정 등에 사용
- for Apache Flink
- Flink 어플리케이션은 KDA 전용 클러스터에서 백그라운드로 실행
- Apache Flink를 통해 KDS or AWS MSK로부터 데이터 얻어옴
- 해당 서비스를 통해 AWS의 클러스터에서 아파치 Flink 어플리케이션 구동 가능
- 고급쿼리 처리 / 다른 KDS, MSK로부터 데이터 읽어들이는 작업에 사용
- 자원 계산에 대한 프로비저닝 가능 / 병렬 계산 / 자동 스케일링
- Firehose에서 데이터를 읽어오려면 for SQL을 사용해야함
Reference
'Programming' 카테고리의 다른 글
[AWS, Certified Developer Associate] X-Ray, CloudTrail (0) | 2024.05.29 |
---|---|
[AWS, Certified Developer Associate] CloudWatch, EventBridge (0) | 2024.05.27 |
[AWS, Certified Developer Associate] Kinesis Data Streams, Kinesis Client Library (KCL) (0) | 2024.05.24 |
[AWS, Certified Developer Associate] SQS, SNS (0) | 2024.05.18 |
[AWS, Certified Developer Associate] CloudFormation (0) | 2024.05.15 |