먼저 Kinesis Data Firehose를 생성하기 앞서 Kinesis Data stream을 하나 생성해줍니다.
온디맨드 같은 경우에는 써있는 것처럼 자동으로 확정되다 보니 과금될 우려도 있고 저는 단순 실습이라 프로비저닝으로 샤드는 한개를 만들어서 실습을 진행했어요. 샤드는 스트림에서 고유하게 식별되는 데이터 레코드 시퀀스이고 스트림은 보통 하나 이상의 샤드로 구성되어 있어요. 갹 샤드는 고정된 용량 단위를 제공해 주며 읽기에 대해 초당 최대 5개의 트랜잭션, 초당 최대 2MB의 데이터 읽기 속동, 초당 최대 1000개의 레코드까지 그리고 초당 최대 1MB의 총 데이터 쓰기 속도를 지원한다고 합니다!
샤드 계산기를 누르면 아래처럼 초당 최대 레코드 수나 레코드 크기를 지정할 수 있어요! 여기서 소비자는 수는 consumer를 얘기하는겁니다!
producer는 스트림 data를 input를 넣는 개념이고 스트림에 로그 데이터를 보내는 웹서버가 producer가 될 수 있고 consumer는 그걸 처리하는 kinesis data stream 어플리케이션이 될 수 있습니다!
AWS kinesis 콘솔에서 생산자로는 Amazon Kinesis 에이전트, AWS SDK,Amazon Kinesis Producer Library(KPL)가 있고 consumer로는 Amazon Kinesis Data Analytics,Amazon Kinesis Data Firehose, Amazon Kinesis Client Library(KCL)가 있어요
그 다음 Data Firehose 콘솔을 열어서 전송 스트림을 생성하면 되고 내가 만든 stream을 등록해주면 돼요
이제 만들어놨던 s3 버킷을 입력하고 동적 파티셔닝의 경우엔 default된 값을 그냥 썼고 접두사도 딱히 필요가 없을것 같아서 사용하지 않았어요!
고급 설정에서 만들어놓은 IAM을 쓰거나 새로 생성해서 쓰면 돼요(Kinesis가 스트림 및 S3 버킷에 액세스할 수 있는 정책이 필요)
그 다음 만들어진 전송 스트림 콘솔을 들가면 아래처럼 테스트가 가능해요
아래처럼 s3에 스트림 데이터가 온걸 확인할 수 있습니다!(추가적으로 퍼블릭 액세스 차단을 풀어주는게 필요해요 아마 ACL 관련 차단만 풀어주면 될거에요!)
'Cloud > AWS' 카테고리의 다른 글
AWS Lambda 내용 정리 (0) | 2023.05.28 |
---|---|
AWS Cloudtrail & EventBridge를 이용해서 s3 작업에 대한 컨테이너 작업 (0) | 2023.04.05 |
AWS CodeDeploy에 대해 알아보기 (0) | 2023.04.02 |
AWS ALB에서 경로에 대한 람다 함수 호출 (0) | 2023.03.19 |
springboot + Mysql with AWS Lightsail (0) | 2022.11.04 |