Cloud Infra Architecture (AWS)/AWS SAA-C03

AWS Kinesis란?

seongduck 2023. 1. 12. 09:13

AWS Kinesis란?

  • 실시간 스트리밍 데이터를 수집, 분석, 처리하는 서비스이다. (실시간이 핵심)
  • 비디오, 오디오, 로그, 웹사이트 등 실시간 데이터를 수집한다.
  • 데이터가 수집 후에 처리하는 것이 아닌 실시간으로 수집되는 순간 바로 처리 및 분석한다.
  • Kinesis 서비스 유형
    • 1) Kinesis Data Streams : 데이터 스트림을 수집, 저장 및 처리
    • 2) Kinesis Data Firehose : 데이터 스트림을 AWS 데이터 스토어에 로드 (저장기능은 없음)
    • 3) Kinesis Data Analytics : SQL 또는 Apache Flink로 데이터 스트림 분석
    • 4) Kinesis Video Streams : 비디오 스트림을 수집, 저장 및 처리

1) Kinesis Data Streams

  • 데이터 스트림을 캡처, 처리 및 저장할 수 있는 스트리밍 데이터서비스
  • 실시간 서비스이며 Amazon DynamoDB, Amazon Aurora, Amazon Cloudwatch 및 AWS IoT Core와 같은 AWS 서비스의 기존 리소스에서 데이터를 보낼 수 있음
  • 실시간 스트리밍 데이터를 AWS Lambda, Amazon Kinesis Data Analytics, Amazon Kinesis Data Firehose 등으로 전송
  • 데이터 스토리지가 있음 (1일 ~ 365일 사이의 기간으로 데이터 보관)

왼쪽부터 기존 리소스에서 나오는, 나오고있는 (실시간) 데이터를 가운데 Kinesis Data Streams으로 보낸다.
이렇게 받은 스트리밍 (실시간) 데이터를 AWS Lambda(오른쪽) 등등 으로 전송한다.
이 뒤에 데이터 스토리지가 있어 데이터를 보관할 수 있다.

2) Kinesis Data Firehose

  • 주 목적은 ETL (extract, transform, and load)솔루션이다.
  • 스트리밍 데이터를 데이터 스토어와 분석 도구에 로드한다.
  • 스트리밍 데이터를 캡처하고 변환한 후 Amazon S3, Amazon Redshift, Amazon OpenSearch Service 및 Splunk로 로드하여 비즈니스 인텔리전스 도구 및 대시보드를 통해 거의 실시간으로 분석
  • Kinesis Data Streams처럼 별도의 스토리지가 존재하지 않는다.

데이터가 왼쪽에서 Input되어 들어오고 Kinesis Data Firehose를 통해 (변환 및 작업) Amazon S3, Splunk등등으로 로드한다.
이렇게 로드된 데이터들은 대시보드 (OutPut)를 통해 거의 실시간으로 분석한다.

3) Kinesis Data Analytics

  • SQL Apache Flink를 사용하여 실시간으로 스트리밍 데이터를 변환하고 분석한다.
  • Apache Filink는 데이터 스트림 처리를 위한 오픈소스 프레임워크 및 엔진이다.
  • Amazon kinesis Data Streams 및 Amazon Kinesis Data Firehose 스트리밍 소스로부터의 데이터 수집 가능

왼쪽의 경로로부터 데이터를 수집하여 데이터를 분석, 변환한다.
이후 Amazon S3등으로 보낸다.