본문 바로가기
AWS

[AWS] Kinesis Data Firehose

by Nhahan 2024. 12. 12.

Amazon Kinesis Data Firehose

Amazon Kinesis Data Firehose는 실시간으로 데이터를 수집하고 분석하기 위한 완전관리형 데이터 스트리밍 서비스로, 데이터를 손쉽게 로드하고 변환하여 다양한 AWS 및 서드파티 서비스로 전달할 수 있다.

Batch Writes

배치 쓰기: 다양한 목적지 지원

Kinesis Data Firehose는 데이터를 배치 단위로 작성하여 효율성을 극대화한다. 배치 쓰기는 데이터 전송 비용을 절감하고, 네트워크 부하를 줄이며, 목적지 시스템의 성능을 최적화하는 데 기여한다. Firehose는 AWS의 여러 서비스는 물론 서드파티 및 커스텀 목적지로의 배치 쓰기를 지원한다.

 

Data Destinations(Amazon Data Firehose -> Destinations)

  • AWS Destinations: S3, Redshift, Elasticsearch, ...
  • 3rd Party Destinations: DataDog, Splunk, ...
  • 그 외 커스텀 Destinations: HTTP 엔드포인트 등

 

Buffering

Kinesis Data Firehose는 데이터를 근실시간으로 처리할 수 있도록 버퍼링 메커니즘을 제공한다. 버퍼링은 데이터를 일정량 또는 일정 시간 간격으로 모아 배치 단위로 전송하는 방식으로, 실시간성과 효율성 간의 균형을 맞추는 데 중요한 역할을 한다.

사용자는 버퍼 크기와 버퍼 시간을 설정하여 데이터 전송의 빈도를 조절할 수 있다. 예를 들어, 실시간 분석이 필요한 애플리케이션의 경우 버퍼 시간을 짧게 설정하여 지연 시간을 최소화할 수 있다(실시간 성 확보). 반면, 비용 절감을 위해 배치 크기를 크게 설정하면 전송 횟수를 줄여 네트워크 비용을 절감할 수 있다.

 

 


특이사항: SNS처럼 fanout이 불가능하므로, 여러 destination이 필요할 시, 추가적인 Kinesis Data Firehose를 만들거나 다른 방법을 사용해야한다.

여러개의 Kinesis Data Firehose 예시

 

 

728x90

'AWS' 카테고리의 다른 글

[AWS] CloudFront Functions VS Lambda@Edge  (3) 2024.12.13
[AWS] App2Container  (0) 2024.12.13
[AWS] Kinesis Data Streams  (0) 2024.12.12
[AWS] S3 Object Lock & Glacier Vault Lock  (0) 2024.12.08
[AWS] ELB - Connection Draining  (0) 2024.11.22

댓글