목차
개념
AWS kinesis data firehose 줄여서 kdf firhose,delivery streaming 이라고도 합니다.
공식 홈페이지 가보니 뭔지 살펴보니
- 안정적으로 실시간 스트림을 데이터 스토어, 웨어하우스, 분석 서비스에 로드
- 스트리밍 데이터를 쉽게 캡처하고 변환하며 로드합니다.
- 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
aws firehose spring 연동
https://www.baeldung.com/spring-aws-kinesis
'CLOUD > AWS' 카테고리의 다른 글
vpc 2개를 vpn과 연결 할때 STS vpn, transit gateway 둘중 어떤 걸 선택해야할까? (0) | 2022.11.22 |
---|---|
AWS EC2 autoscaling 시작구성과 시작템플릿차이 (0) | 2022.11.03 |
AWS S3를 route 53으로 도메인 연결하기 (0) | 2022.10.28 |
aws s3 sdk acl 지정 (0) | 2022.10.27 |
AWS ECR 400 Bad Request 에러, 인증에러 (windows,powershell) (0) | 2022.10.20 |
댓글