Q40. AWS Kinesis Data Firehose를 활용한 대규모 IoT 데이터 수집 및 분석 솔루션
AWS 자격증을 준비하는 여러분, 안녕하세요. 오늘은 IoT 디바이스에서 생성되는 대량의 데이터를 효율적으로 수집하고 분석하는 방법에 대해 알아보겠습니다. 이는 AWS Certified Solutions Architect - Associate 시험에서 자주 다루는 주제 중 하나입니다.
문제 상황
Q1:
회사에는 매일 1TB의 상태 알림을 집합적으로 생성하는 수천 개의 에지 장치가 있습니다. 각 경고의 크기는 약 2KB입니다. 솔루션 설계자는 향후 분석을 위해 경고를 수집하고 저장하는 솔루션을 구현해야 합니다. 회사는 고가용성 솔루션을 원합니다. 그러나 회사는 비용을 최소화해야 하며 추가 인프라 관리를 원하지 않습니다. 또한 회사는 즉각적인 분석을 위해 14일 동안의 데이터를 유지하고 14일이 지난 데이터를 보관하기를 원합니다.
이러한 요구 사항을 충족하는 가장 운영 효율성이 높은 솔루션은 무엇입니까?
<small>A company has thousands of edge devices that collectively generate 1 TB of status alerts daily. Each alert is approximately 2 KB in size. A solutions architect needs to implement a solution to collect and store the alerts for future analysis. The company wants a highly available solution. However, the company needs to minimize costs and does not want to manage additional infrastructure. The company also wants to retain 14 days of data for immediate analysis and archive data that is older than 14 days.
Which solution will meet these requirements with the MOST operational efficiency?</small>
선택지
A. Amazon Kinesis Data Firehose 전송 스트림을 생성하여 알림을 수집합니다. Amazon S3 버킷에 알림을 전달하도록 Kinesis Data Firehose 스트림을 구성합니다. 14일 후에 데이터를 Amazon S3 Glacier로 전환하도록 S3 수명 주기 구성을 설정합니다.
<small>Create an Amazon Kinesis Data Firehose delivery stream to collect the alerts. Configure the Kinesis Data Firehose stream to deliver the alerts to an Amazon S3 bucket. Set up an S3 Lifecycle configuration to transition the data to Amazon S3 Glacier after 14 days.</small>
B. 두 가용 영역에서 Amazon EC2 인스턴스를 시작하고 Elastic Load Balancer 뒤에 배치하여 알림을 수집합니다. Amazon S3 버킷에 경고를 저장할 EC2 인스턴스에 대한 스크립트를 생성합니다. 14일 후에 데이터를 Amazon S3 Glacier로 전환하도록 S3 수명 주기 구성을 설정합니다.
<small>Launch Amazon EC2 instances in two Availability Zones behind an Elastic Load Balancer to collect the alerts. Create a script for the EC2 instances to store the alerts in an Amazon S3 bucket. Set up an S3 Lifecycle configuration to transition the data to Amazon S3 Glacier after 14 days.</small>
C. Amazon Kinesis Data Firehose 전송 스트림을 생성하여 알림을 수집합니다. Amazon OpenSearch Service(Amazon Elasticsearch Service) 클러스터에 알림을 전달하도록 Kinesis Data Firehose 스트림을 구성합니다. Amazon OpenSearch Service(Amazon Elasticsearch Service) 클러스터를 설정하여 매일 수동 스냅샷을 만들고 클러스터에서 14일이 지난 데이터를 삭제합니다.
<small>Create an Amazon Kinesis Data Firehose delivery stream to collect the alerts. Configure the Kinesis Data Firehose stream to deliver the alerts to an Amazon OpenSearch Service (Amazon Elasticsearch Service) cluster. Set up the Amazon OpenSearch Service (Amazon Elasticsearch Service) cluster to take manual snapshots daily and delete data that is older than 14 days from the cluster.</small>
D. Amazon Simple Queue Service(Amazon SQS) 표준 대기열을 생성하여 알림을 수집하고 메시지 보존 기간을 14일로 설정합니다. SQS 대기열을 폴링하고, 메시지의 수명을 확인하고, 필요에 따라 메시지 데이터를 분석하도록 소비자를 구성합니다. 메시지가 14일이 지난 경우 소비자는 메시지를 Amazon S3 버킷에 복사하고 SQS 대기열에서 메시지를 삭제해야 합니다.
<small>Create an Amazon Simple Queue Service (Amazon SQS) standard queue to collect the alerts and set the message retention period to 14 days. Configure a consumer to poll the SQS queue, check the age of messages, and analyze the message data as needed. If a message is 14 days old, the consumer should copy the message to an Amazon S3 bucket and delete the message from the SQS queue.</small>
정답 및 해설
정답은 A입니다.
Amazon Kinesis Data Firehose는 실시간 스트리밍 데이터를 데이터 스토어와 분석 도구에 쉽게 전달할 수 있는 완전관리형 서비스입니다. 이 솔루션은 다음과 같은 이유로 가장 운영 효율성이 높습니다:
-
완전관리형 서비스: Kinesis Data Firehose는 추가 인프라 관리가 필요 없는 완전관리형 서비스입니다.
-
고가용성: AWS에 의해 관리되므로 고가용성이 보장됩니다.
-
비용 효율성: 처리된 데이터 양에 따라 요금이 부과되므로 비용을 최소화할 수 있습니다.
-
확장성: 수천 개의 디바이스에서 생성되는 대량의 데이터를 쉽게 처리할 수 있습니다.
-
S3와의 통합: Kinesis Data Firehose는 S3와 원활하게 통합되어 데이터를 저장할 수 있습니다.
-
S3 수명 주기 정책: 14일 후 데이터를 Glacier로 이전하는 요구사항을 S3 수명 주기 정책으로 쉽게 구현할 수 있습니다.
이 솔루션은 회사의 모든 요구사항(고가용성, 비용 최소화, 추가 인프라 관리 불필요, 14일 데이터 유지 및 아카이브)을 충족시키면서 가장 운영 효율성이 높은 방법을 제공합니다.
오답 설명
B. EC2 인스턴스 사용: 추가 인프라 관리가 필요하며, 비용이 더 많이 들 수 있습니다.
C. OpenSearch Service 사용: 14일 이후 데이터를 삭제하므로 아카이브 요구사항을 충족하지 못합니다.
D. SQS 사용: 14일 이후 데이터 처리를 위한 추가 로직이 필요하며, 실시간 스트리밍 데이터 처리에 최적화되어 있지 않습니다.
결론
이 문제는 AWS의 다양한 데이터 수집 및 분석 서비스 중 적절한 서비스를 선택하는 능력을 테스트합니다. Kinesis Data Firehose를 사용하면 대규모 IoT 데이터를 효율적으로 수집하고 저장할 수 있으며, S3와 Glacier를 활용하여 비용 효율적인 데이터 보관 전략을 구현할 수 있습니다. 이러한 서비스들의 특성과 사용 사례를 잘 이해하는 것이 AWS 솔루션 아키텍트로서 중요합니다.
댓글
댓글 쓰기