[AWS SAA] 51. Kinesis

이지IT
|2023. 9. 11. 12:43
반응형

데이터 수집과 분석에 사용되는 Kinesis

Kinesis를 사용하면 다음과 같은 작업을 수행할 수 있습니다.

  • 실시간으로 데이터 스트림을 수집 처리 분석할 수 있습니다. Kinesis는 어떤 규모에서든 스트리밍 데이터를 처리할 수 있는 용량을 제공합니다. 그러므로 애플리케이션의 요구 사항을 비용 효율적인 방식으로 가장 적절하게 충족하는 도구를 유동적으로 선택할 수 있습니다.
  • 비디오, 오디오, 애플리케이션 로그, 웹 사이트 클릭스트림, 사물 인터넷(IoT) 원격 측정 데이터와 같은 실시간 데이터를 수집할 수 있습니다. 수집된 데이터는 기계 학습, 분석 및 기타 애플리케이션에 사용할 수 있습니다.
  • 정형 쿼리 언어(SQL) 또는 Apache Fink를 사용하여 수신되는 데이터를 처리 및 분석한 후 응답을 즉시 제공할 수 있습니다. 모든 데이터가 수집될 때까지 기다렸다가 처리를 시작할 필요가 없습니다.

 

Kinesis Data Streams

Kinesis Data Streams 사용을 시작하려면 스트림을 생성하고 샤드 수를 지정합니다. 각 샤드는 스트림에서 고유하게 식별되는 데이터 레코드 시퀸스입니다. 스트림은 각 샤드에서 초당 1MB를 수신할 수 있습니다. 각 샤드에는 2MBs 애플리케이션 읽기 제한이 있습니다. 스트림의 총 용량은 해당 샤드 용량의 합계입니다. 리샤딩을 사용하여 필요에 따라 스트림의 샤드 수를 늘리거나 줄입니다.

 

생산자는 스트림에 데이터를 씁니다. 생산자는 EC2 인스턴스, 모바일 클라이언트, 온프레미스 서버 또는 IoT 디바이스일 수 있습니다. 인프라 로그, 애플리케이션 로그, 시장 데이터 피드, 웹 클릭스트림 데이터 등의 데이터를 전송할 수 있습니다.

 

소비자는 생산자가 생성하는 스트리밍 데이터를 읽습니다. 소비자는 EC2 인스턴스 또는 AWS Lambda에서 실행 중인 애플리케이션일 수 있습니다. EC2 인스턴스에 있는 애플리케이션은 스트리밍 데이터 증가에 따라 확장되어야 합니다. 이러한 경우 Auto Scaling 그룹에서 애플리케이션을 실행할 수 있습니다. 소비자 애플리케이션을 쓰는 또 한 가지 방법은 Lambda 함수를 사용하는 것으로, 서버를 프로비저닝하거나 관리하지 않고도 코드를 실행할 수 있습니다. 스트림의 동일한 데이터를 처리하는 애플리케이션이 두 개 이상 있을 수 있습니다.

 

소비자 애플리케이션의 결과를 저장하기 위해 S3, DynamoDB, Redshift 등의 AWS 서비스를 사용할 수 있습니다.

 

샤드(Shard)
샤드란 데이터베이스를 물리적으로 분할하는 기법 중 수평분할(수평 파티셔닝)을 했을 때 그 분할된 파티셔닝을 가리키는 말입니다. 샤드로 분리하는 이유는 데이터의 양이 많아지면 그 만큼 성능이나 퍼포먼스가 떨어지기 때문에 이를 케어하기 위해 사용됩니다.

 

 

Kinesis Data Firehose

이는 데이터를 거의 실시간으로 처리하는 역할을 합니다. Kinesis Data Firehose는 레코드를 S3, Redshift, OpenSearch service 및 사용자가 소유한 임의의 HTTP 엔드포인트로 전송할 수 있습니다. 또한 레코드를 Datadog, New Relic, Splunk 등 모든 서드 파티 서비스 공급자로 전송할 수 있습니다.

 

Kinesis Data Firehose는 전송 스트림의 버퍼링 구성을 기반으로 여러 수신 레코드를 연결합니다. 그런 다음 연결된 레코드를 S3에 S3 객체로 전달합니다.

 

Redshift에 데이털르 전송하기 위해, Kinesis Data Firehose는 다음 작업을 수행합니다.

  1. 수신 데이터를 앞서 설명한 형식으로 S3 버킷에 전송합니다.
  2. Redshift COPY 명령을 실행하여 S3 버킷에서 Redshift 클러스터로 데이터를 로드합니다.

OpenSearch Service는 OpenSearch API 및 실시간 분석 기능을 제공하는 완전관리형 서비스입니다. 처리된 데이터를 사용하여 기존 비즈니스 인텔리전스 도구 및 대시보드로 준실시간 분석을 생성할 수 있습니다. OpenSearch Service를 사용하면 Kinesis Data Firehose가 전송 스트림의 버퍼링 구성에 따라 수신 레코드를 버퍼링합니다. 그런 다음 Kinesis Data Firehose는 대량 요청을 생성하여 OpenSearch Service 클러스터에 여러 레코드를 인덱싱합니다.

반응형

'자격증 > AWS SAA' 카테고리의 다른 글

[AWS SAA] 53. 엣지 서비스와 Route 53  (0) 2023.09.12
[AWS SAA] 52. Step Functions  (0) 2023.09.11
[AWS SAA] 50. SNS  (0) 2023.09.10
[AWS SAA] 49. SQS  (0) 2023.09.10
[AWS SAA] 48. 서비리스  (0) 2023.09.09