Kinesis

은채의 성장통·2025년 2월 19일
0

AWS

목록 보기
66/79

🚀 Amazon Kinesis 기반 실시간 데이터 처리 아키텍처 (KDS, KDA, KDF, KSA)

Amazon Kinesis는 대규모 실시간 데이터 스트리밍 처리를 위해 AWS에서 제공하는 핵심 서비스로, Kinesis Data Streams(KDS), Kinesis Data Firehose(KDF), Kinesis Data Analytics(KDA), Kinesis Video Streams(KVS), Kinesis Scaling Architecture(KSA) 등을 포함하여 다양한 실시간 데이터 처리 흐름을 지원한다. 이를 통해 실시간 이벤트를 분석하고, 데이터를 자동으로 저장하거나 분석할 수 있는 환경을 구축할 수 있다.


Amazon Kinesis 서비스 개요

서비스주요 기능사용 사례
Kinesis Data Streams (KDS)실시간 데이터 스트리밍 수집 및 처리애플리케이션 로그 분석, IoT 데이터 수집, 실시간 이벤트 처리
Kinesis Data Firehose (KDF)실시간 데이터를 S3, Redshift, OpenSearch 등으로 자동 전달데이터 레이크 구축, 보안 로그 저장, 배치 분석
Kinesis Data Analytics (KDA)SQL을 활용한 스트리밍 데이터 실시간 분석실시간 대시보드, 패턴 감지, 이상 탐지
Kinesis Video Streams (KVS)실시간 비디오 데이터 스트리밍실시간 모니터링, 얼굴 인식, 비디오 분석
Kinesis Scaling Architecture (KSA)Kinesis 리소스 자동 확장 및 최적화샤드 자동 확장, 비용 절감

1. Amazon Kinesis Data Streams (KDS)

KDS는 대량의 스트리밍 데이터를 실시간으로 수집 및 처리하는 서비스로, 실시간 애플리케이션 로그, IoT 센서 데이터, 트랜잭션 모니터링 등의 다양한 용도로 사용된다.

🔹 KDS의 주요 개념

  • 샤드(Shard) 기반 아키텍처:
    • 샤드는 KDS에서 데이터의 기본 단위로, 각 샤드는 독립적으로 데이터 수집 및 처리 작업을 한다.
    • 샤드 수를 조절하여 실시간 데이터 처리량을 확장 가능하며, 샤드당 최대 1MB/sec 쓰기, 2MB/sec 읽기가 가능하다.
  • Partition Key 기반 데이터 분배:
    • 데이터를 특정 샤드에 배분하는 방법으로 Partition Key를 사용한다. 이를 통해 데이터를 균등하게 분배하고, 데이터 처리량을 최적화할 수 있다.
  • 데이터 수명 주기:
    • KDS는 기본적으로 데이터를 24시간 동안 보관하며, 최대 365일까지 연장 가능하다.

🔹 KDS의 주요 활용 사례

✔ 애플리케이션 로그 실시간 수집

✔ IoT 센서 데이터 처리

✔ 실시간 트랜잭션 모니터링


2. Amazon Kinesis Data Firehose (KDF)

KDF는 실시간 데이터를 S3, Redshift, OpenSearch, Splunk 등으로 자동 전달하는 서비스로, 주로 데이터를 저장하고 분석하는 용도로 사용된다. KDF는 서버리스로 운영되며 자동으로 확장된다.

🔹 KDF의 특징

  • 서버리스 운영 (자동 스케일링):
    • KDF는 서버 관리 없이 자동으로 확장되며, 실시간 데이터 스트리밍 처리량을 자동으로 조절한다.
  • 데이터 변환 지원:
    • Lambda와 통합하여 실시간 데이터 변환(예: JSON을 Parquet로 변환)을 지원한다.
  • 배치 크기 조정 가능:
    • 초당 수십만 개 이벤트를 처리할 수 있으며, 배치 크기를 조정하여 성능을 최적화한다.
  • 압축 및 암호화 지원:
    • Gzip, Snappy와 같은 압축 방식과 KMS를 사용하여 데이터를 암호화할 수 있다.

🔹 KDF의 주요 활용 사례

✔ 실시간 데이터 레이크 구축 (S3, Redshift 등으로 저장)

✔ 보안 로그 수집 (SIEM 시스템 연계)

✔ 애플리케이션 데이터 백업


3. Amazon Kinesis Data Analytics (KDA)

KDA는 SQL 기반 스트리밍 데이터 분석 서비스로, 실시간으로 데이터를 분석하고 변환하는 데 사용된다. Apache Flink를 사용하여 고급 스트림 처리를 지원하며, KDS와 Kafka에서 데이터를 직접 입력받을 수 있다.

🔹 KDA의 주요 기능

  • SQL 기반 데이터 스트리밍 분석:
    • 스트리밍 데이터를 SQL 쿼리를 이용해 실시간으로 분석할 수 있다. 예를 들어, KafkaKDS에서 데이터를 입력받아 실시간 분석을 수행한다.
  • 고급 분석 지원:
    • Apache Flink를 이용한 복잡한 스트림 처리가 가능하며, 고급 실시간 분석을 지원한다.
  • 실시간 데이터 변환 및 필터링:
    • 데이터의 실시간 변환, 집계 및 필터링을 통해 비즈니스 인사이트를 도출할 수 있다.

🔹 KDA의 주요 활용 사례

✔ 실시간 대시보드 업데이트

✔ 금융 사기 탐지 (이상 거래 감지)

✔ IoT 데이터 분석

📌 예제: 실시간 트렌드 분석

SELECT
    category,
    COUNT(*) AS event_count,
    AVG(score) AS avg_score
FROM STREAM
GROUP BY category, TUMBLE(INTERVAL '1' MINUTE);

4. Kinesis Video Streams (KVS)

KVS는 실시간 및 온디맨드 비디오 스트리밍을 지원하는 서비스로, 비디오 데이터를 실시간으로 분석하고 저장하는 데 유용하다. 이를 통해 CCTV 모니터링, 얼굴 인식 시스템, 드론 분석 등을 실시간으로 처리할 수 있다.

🔹 KVS의 특징

  • 실시간 비디오 분석:
    • Rekognition, SageMaker와 연계하여 실시간 얼굴 인식 및 비디오 분석을 수행할 수 있다.
  • 엔드-투-엔드 암호화:
    • 비디오 데이터를 완전 암호화하고, 접근 제어를 통해 보안을 강화할 수 있다.
  • 온디맨드 및 실시간 스트리밍:
    • 실시간 스트리밍 뿐만 아니라 온디맨드 비디오 재생도 지원한다.

🔹 KVS의 주요 활용 사례

✔ CCTV 실시간 모니터링

✔ 얼굴 인식 시스템

✔ 드론 데이터 분석


5. Kinesis Scaling Architecture (KSA)

KSA는 Kinesis의 리소스를 자동으로 확장하고 최적화하는 아키텍처로, 트래픽 변화에 동적으로 대응할 수 있다. KSA는 샤드의 개수를 자동으로 조절하고, Lambda 기반의 이벤트 기반 확장을 통해 성능을 최적화한다.

🔹 KSA의 핵심 요소

  1. Auto Scaling for KDS:
    • CloudWatch를 이용하여 트래픽에 따라 샤드 개수를 자동으로 조절할 수 있다.
  2. Enhanced Fan-Out:
    • 여러 소비자가 동일한 스트림을 독립적으로 처리할 수 있게 해주는 기능이다.
  3. AWS Lambda 기반 이벤트 기반 확장:
    • 트래픽 급증 시 Lambda를 트리거하여 샤드를 자동으로 추가하는 기능을 제공한다.

🔹 KSA의 주요 활용 사례

✔ 동적 트래픽 변화 대응

✔ 실시간 이벤트 처리 속도 최적화

✔ 운영 비용 절감


6. Kinesis 기반 실시간 데이터 처리 아키텍처

📌 실시간 애플리케이션 로그 분석 아키텍처

1️⃣ 애플리케이션 로그 발생 (EC2, ECS, IoT)

→ 2️⃣ Kinesis Data Streams (KDS)로 데이터 전송

→ 3️⃣ Kinesis Data Analytics (KDA)로 실시간 분석

→ 4️⃣ 이상 감지 이벤트 발생 시 Lambda 트리거

→ 5️⃣ Kinesis Data Firehose (KDF)로 로그 저장 (S3, Redshift)

→ 6️⃣ Athena 또는 OpenSearch로 데이터 조회

→ 7️⃣ 실시간 대시보드 및 알람 전송 (SNS, CloudWatch)


결론

Kinesis는 AWS에서 실시간 데이터 스트리밍 및 분석을 위한 핵심 서비스로,

  • KDS: 실시간 데이터 수집
  • KDF: 데이터 저장
  • KDA: SQL 기반 실시간 분석
  • KVS: 비디오 스트리밍
  • KSA: 자동 확장 및 최적화

이러한 서비스들을 활용하여 고성능 실시간 데이터 파이프라인을 구축할 수 있으며, IoT, 금융, 보안, AI 기반 분석 등 다양한 산업에 적용 가능하다. 🚀

시험 출제 대비

특징KDS (Kinesis Data Streams)KDF (Kinesis Data Firehose)
사용 목적실시간 데이터 스트리밍 및 처리데이터 수집 및 적재
지연 시간약 200ms약 1분
데이터 저장1~365일저장하지 않음 (목적지로 바로 전송)
확장성샤드 분할 및 병합으로 확장 가능자동 확장
소비자EC2, Lambda, KDF, KDA, KCLS3, Redshift, Elasticsearch, Splunk 등
데이터 처리사용자 정의 코드 작성 필요자동 처리 (선택적 변환 가능)
실시간성높음중간
데이터 재처리가능불가능
profile
인생 별거 없어

0개의 댓글