지난 글 Kinesis Data Stream에 이어 이번에는 Kinesis Data Firehose에 대해 알아보겠습니다.
'hose'라는 이름에서 연상할 수 있듯이, 데이터를 이동시키는 서비스입니다. 굉장히 적은 데이터라면 상관 없겠지만, 커머스 기업과 같은 경우 실시간으로 고객의 데이터가 파도처럼 밀려들어옵니다. 좋아요, 장바구니, 주문, 배송지와 고객정보 등의 데이터를 회사는 지연시간을 최소화하며 저장해야 합니다. S3에 데이터를 그냥 연결해서 보내는 것은 많은 리소스를 사용할 뿐 아니라 보안에도 취약합니다.
그럴때 사용하는 것이 Kinesis Data Firehose 입니다.
데이터를 전송하면 Kinesis Data Firehose는 람다 기능을 활용해 데이터를 변경할 것인지 선택할 수 있습니다.
여러 데이터 형식과 데이터 전환, 변환, 압축을 지원하며, 필요하면 람다를 사용해 자체적인 데이터 변환도 쓸 수 있습니다.
Kinesis Data Firehose는 소스에서 데이터를 가지고 오는데 대부분의 경우 Kinesis Data Stream입니다.
Kinesis Data Firehose로부터 데이터를 받는 AWS 수신처는 Amazon S3, Amazon Redshift, Amazon Elasticsearch Service 셋 중 하나이고, 그외 다양한 써드파티나 custom HTTP가 될 수도 있습니다.
완전 관리(Fully managed)되고, 서버리스(serverless)이며, 근 실시간(near real-time)으로 이뤄집니다.
Automatic scaling되며, 데이터 스토리지는 없습니다.