본문 바로가기
CLOUD/AWS

AWS kinesis data firehose 개념 및 간단한 샘플,실습

by Rainbound-IT 2022. 11. 1.
반응형

목차

     

    개념

     

    AWS kinesis data firehose 줄여서 kdf firhose,delivery streaming 이라고도 합니다.

     

    s3에서 받아서 변환후 s3로 전송. 출발지와 목적지 서비스가 다를수 있음

     

    공식 홈페이지 가보니 뭔지 살펴보니

    1. 안정적으로 실시간 스트림을 데이터 스토어, 웨어하우스, 분석 서비스에 로드
    2. 스트리밍 데이터를 쉽게 캡처하고 변환하며 로드합니다.
    3. Amazon Kinesis Data Firehose Firehose는 실시간 전송을 위한 완전관리형 서비스입니다

    제 생각엔 2번이 가장 나은 설명인것 같습니다.

    개인적으로는 스트리밍 데이터를 전송받아 보기 쉽게 원하는 형태로 변환하여 저장해주는 서비스라고 생각합니다.

     

     

    샘플

    aws sdk 에서 put 하여 firehose를 이용하여 변환후 s3로 저장하는 방식을 만들어보겟습니다.

     

     

     

    서비스 검색에서 firehose 검색하면 kinesis 나오는데 그걸 클릭하면 위와 같이 나옵니다. 

    AWS kinesis data firehose 를 사용 할건데 한글로 보면 전송스트림이므로 왼쪽에 전송스트림을 누르시고 생성하거나

    대시보드에서 전송 스트림 생성을 클릭하시면 됩니다.

     

    소스에는 direct put.

    대상은 s3

     

     

    레코드를 변환할수 있는데

    lambda는 소스 데이터를, 아래는 output 데이터를 변환 합니다.

    변환하시고 싶으시면 활성화후 선택하시면됩니다.

    저는 그냥 json 형태로 보내고 싶어 비활성화 선택했습니다.

     

    여기서 필수는 S3 버킷 하나입니다. 

    create로 만들거나 Browser를 이용하여 이미 있는 s3중에 선택합니다.

    동적파티셔닝은 받은 데이터를 자동으로 파티셔닝 해주는 기능입니다.

    S3 버킷접두사는 저장하고 싶은 폴더 지정하는것입니다.

    기본값은 YYYY/MM/dd/HH 로 날짜별로 저장이됩니다.

    힌트 압축 및 버퍼는 설정을 안할것입니다. 

     

    고급설정도 기본값으로 할건데

    IAM의 경우 따로 만드신게 있으면 선택하시고 나머지는 그대로 둡니다.

     

    그리고 전송 스트림을 생성합니다.

    그러면 몇초 후 만들어 집니다.

     

     

    테스트

    해당 aws kdf 에 가보면 데모데이터로 테스트라는게 있습니다.

    단계1에 "데모데이터 전송 시작 을 클릭하면

    해당 데이터를 변환하여 목적지(S3)로 전송합니다.(약 5분정도 걸립니다.)

    계속 실행되니 창을 닫거나 아래 단계2의 전송중지를 클릭하셔야합니다.

     

    S3 버킷에 이런식으로 저장이 됩니다.

     

    파일을 다운 받은후 확장자로 .json을 추가 시킨뒤 열면 

    테스트 코드가 나오는것을 볼수있습니다.

     

     

     

     

     

    Reference

    AWS kinesis data firehose

    https://docs.aws.amazon.com/ko_kr/firehose/latest/dev/what-is-this-service.html

     

    Amazon Kinesis Data Firehose Firehose란 무엇입니까? - Amazon Kinesis Data Firehose

    기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다. Amazon Kinesis Data Firehose Firehose란 무엇입니까? Amazon Kinesis Data Firehose Firehose는

    docs.aws.amazon.com

     

     

     

    aws firehose spring 연동

    https://www.baeldung.com/spring-aws-kinesis

     

    Integrating Spring with AWS Kinesis | Baeldung

    Learn how to integrate Spring with two AWS libraries for interacting with Kinesis Data Streams

    www.baeldung.com

     

     

     

    반응형

    댓글