Amazon Kinesis Data Firehose

2023. 6. 17. 19:40AWS (Amazon Web Services)

※ 해당 블로그는 AWS에서 제공하는 설명서와 AWS Builders Online Series 강의를 듣고 개인적으로 공부한 내용을 정리한 블로그입니다.

 

Amazon Kinesis Data Firehose

  • 실시간으로 대량의 데이터를 수집, 전송 및 저장하는 관리형 서비스
  • 데이터를 즉시 분석, 저장, 로드하거나 다른 서비스로 전달 할 수 있음
  • 데이터를 신속하게 전송하고 저장소나 분석 시스템에 효율적으로 연결하여 실시간 인사이트를 얻을 수 있다

 

주요 특징

 

  • 1. 실시간 데이터 전송 : 데이터를 실시간으로 처리하고 전송할 수 있음

 

  • 2. 데이터 전송 대상 : 다양한 대상에 데이터를 전송 할 수 있음
  • 예) Amazon S3, Amazon Redshift, Amazon Elasticsearch Service 등

 

  • 3. 데이터 변환 : 데이터를 대상으로 전송하기 전에 형식 변환, 압축, 필터링과 같은 변환 작업을 수행 할 수 있음

 

  • 4. 확장성과 내결함성 : 수집된 데이터의 크기나 처리량에 상관 없이 확장 가능한 서비스이며 데이터 전송 중단이나 유실을 최소화함

 

  • 5. 간편한 설정과 관리 : 콘솔, CLI, API를 통해 간편하게 설정하고 관리 할 수 있음

 

 

데이터 수집 단계

 

1. 전송 스트림 생성

  • Amazon Kinesis Data Firehose 콘솔 또는 AWS SDK/API를 사용하여 전송 스트림 생성
  • 전송 스트림은 데이터를 수집하고 처리하는데 사용될 설정과 구성을 정의

 

2. 데이터 소스 연결

  • 어떤 데이터 소스로부터 데이터를 수집할 지 선택하는 과정
  • AWS Lambda, Amazon S3, Amazon Redshift 등과 같은 다양한 소스로부터 데이터를 수집할 수 있음

 

3. 전송 대상 설정

  • 데이터를 수집하고 처리한 뒤 전송 대상을 설정
  • 전송 대상으로는 Amazon S3, Amaon Redshift, Amazon Elasticsearch 등이 있음

 

4. 데이터 전송 및 처리

  • 윗 단계들을 정리하자면 전송 스트림을 생성하여 원하는 데이터 소스로부터 데이터를 수집하고 처리한뒤 설정한 전송 대상으로 처리한 데이터를 전달할 수 있음
  • Kinesis Data Firehose는 대용량 실시간 데이터 처리에 특화된 서비스임

 

예시 문제

 

1. 수백 대의 에지 장치에서 1TB의 상태 알림이 생성된다. 각 경고의 파일 크기는 약 2KB이다. 솔루션 아키텍트는 추가 조사를 위해 경고를 수집하고 저장하는 시스템을 제공해야 한다. 회사는 엑세스 가능성이 매우 높은 솔루션이 필요하다. 그러나 저비용 구조를 가져야 하며 추가 인프라를 처리하기를 원하지 않는다. 또한 회사는 즉각적인 검사를 위해 14일 동안 데이터를 보유하고 오래된 데이터를 보관할 계획이다.

 

이러한 요구 사항을 충족하는 가장 최적의 방법은 무엇인가?

 

1) Amazon Kinesis Data Firehose 전송 스트림을 생성하여 알림을 수집한다. Amazon S3 버킷에 알림을 전달하도록 Kinesis Data Firehose 스트림을 구성한다. 14일 후에는 데이터를 Amazon S3 Glacier로 전환하도록 S3 수명 주기 구성을 설정한다.

 

2) 두 가용 영역에서 Amazon EC2 인스턴스를 시작하고 Elastic Load Balancer 뒤에 배치하여 알림을 수집한다. Amazon S3 버킷에 경고를 저장할 EC2 인스턴스에 대한 스크립트를 생성한다. 14일 후에 데이터를 Amazon S3 Glacier로 전환하도록 S3 수명 주기 구성을 설정한다.

 

3) Amazon Kinesis Data Firehose 전송 스트림을 생성하여 알림을 수집한다. Amazon Elasticsearch Service(Amazon ES) 클러스터에 알림을 전달하도록 Kinesis Data Firehose 스트림을 구성한다. Amazon ES 클러스터를 설정하여 매일 수동 스냅샷을 만들고 클러스터에서 14일이 지난 데이터를 삭제한다.

 

4) Amazon Simple Queue Service(Amazon SQS) 표준 대기열을 생성하여 알림을 수집하고 메시지 보존 기간을 14일로 설정한다. SQS 대기열을 폴링하고, 메시지의 수명을 확인하고, 필요에 따라 메시지의 수명을 확인하고, 필요에 따라 메시지 데이터를 분석하도록 소비자를 구성한다. 메시지가 14일이 지난 경우 소비자는 메시지를 Amazon S3 버킷에 복사하고 SQS 대기열에서 메시지를 삭제한다.

 

정답 1

우선 14일 이상이 된 데이터를 보관할 계획이기 때문에 14일 이상이 된 데이터는 Amazon S3 Glacier로 전환하도록 S3 수명 주기 구성을 설정하면 됩니다. 그러기 위해서는 수집한 경고 알람을 Amazon S3 버킷으로 전달해야 하며 이는 과정을Amazon Kinesis Data Firehose 전송 스트림으로 처리하는 것이 최적의 방법입니다.

 

 

 

'AWS (Amazon Web Services)' 카테고리의 다른 글

Amazon API Gateway  (0) 2023.06.23
Amazon SQS  (0) 2023.06.21
Amazon ECS  (0) 2023.06.16
Amazon CloudFront  (0) 2023.06.06
Elastic Network Interface  (0) 2023.05.11