Amazon Kinesis Data Firehose를 활용하면 스트리밍 데이터를 데이터 스토어와 분석 도구에 가장 손쉽게 로드할 수 있습니다. Kinesis Data Firehose는 완전관리형 서비스로서, 수많은 소스에서 대량의 스트리밍 데이터를 손쉽게 캡처하고 변환하여 Amazon S3, Amazon Redshift, Amazon OpenSearch Service, Kinesis Data Analytics, 일반 HTTP 엔드포인트 그리고 Datadog, New Relic, MongoDB, Splunk 같은 서비스 공급자로 로드할 수 있게 해주므로 거의 실시간으로 분석하고 통찰력을 확보할 수 있습니다.
전송 스트림
전송 스트림은 Kinesis Data Firehose의 기본 엔터티입니다. 전송 스트림을 생성한 다음, 데이터를 생성된 전송 스트림으로 전송하여 Firehose Data Firehose를 사용합니다.
주요 기능
간편한 시작 및 구성
AWS 관리 콘솔에서 클릭 몇 번으로 Amazon Kinesis Data Firehose를 시작하고 전송 스트림을 생성하여 데이터를 Amazon S3, Amazon Redshift, Amazon OpenSearch Service, HTTP 엔드포인트, Datadog, New Relic, MongoDB 또는 Splunk로 로드할 수 있습니다. Firehose API를 호출하거나 AWS에서 제공하는 Linux 에이전트를 데이터 원본에서 실행하여 데이터를 전송 스트림으로 전송할 수 있습니다. 그러면 Kinesis Data Firehose는 데이터를 지정한 대상으로 계속해서 로드합니다.
새로운 데이터를 거의 실시간으로 로드
배치 크기 또는 배치 간격을 지정하여 데이터가 대상에 업로드되는 데 걸리는 시간을 제어할 수 있습니다. 예를 들어, 데이터를 전송 스트림으로 전송하고 60초 이내에 새로운 데이터를 수신하고자 하는 경우 배치 간격을 60초로 설정할 수 있습니다. 또한, 데이터의 압축 여부도 지정할 수 있습니다. 이 서비스에서는 GZip, Hadoop-Compatible Snappy, Zip, Snappy 등과 같은 일반적인 압축 알고리즘을 지원합니다. 업로드하기 전에 데이터를 배치 처리 및 압축하면 대상에서 새로운 데이터를 수신하는 속도를 제어할 수 있습니다.
탄력적 조정으로 변화하는 데이터 처리량을 해결
전송이 시작되면, 전송 스트림은 자동으로 확장 및 축소되어 초당 기가바이트 이상의 입력 데이터를 처리하고 데이터 지연 시간을 한도 내에서 스트림에 지정한 수준으로 유지할 수 있습니다. 개입 또는 유지 관리가 필요 없습니다.
Apache Parquet 또는 ORC 형식 변환
Kinesis Data Firehose는 Apache Parquet 및 Apache ORC와 같은 열 기반 데이터 형식을 지원합니다. 이러한 형식은 Amazon Athena, Amazon Redshift Spectrum, Amazon EMR 및 기타 Hadoop 기반 도구와 같은 서비스를 사용하는 비용 효율적인 스토리지 및 분석에 최적화되어 있습니다. Kinesis Data Firehose는 수신되는 데이터를 Amazon S3에 저장하기 전에 데이터 형식을 JSON에서 Parquet 또는 ORC 형식을 변환할 수 있으므로, 고객은 스토리지와 분석 비용을 절감할 수 있습니다.
S3에 분할된 데이터 전달
‘customer_id’ 또는 ‘transaction_id’와 같은 정적 또는 동적으로 정의된 키를 사용하여 스트리밍 데이터를 S3에 전달하기 전에 이러한 데이터를 동적으로 분할합니다. Kinesis Data Firehose는 이러한 키별로 데이터를 그룹화하고 키 고유의 S3 접두사로 전달하므로, 사용자는 Athena, EMR 및 Redshift Spectrum을 사용하여 S3에서 고성능의 비용 효율적인 분석을 더욱 수월하게 수행할 수 있습니다. 자세히 알아보기 »
통합 데이터 변환
스트리밍 데이터가 데이터 스토어로 로드되기 전에 이를 준비하도록 Amazon Kinesis Data Firehose를 구성할 수 있습니다. AWS Management Console의 Amazon Kinesis Data Firehose 전송 스트림 구성 탭에서 AWS Lambda 함수를 선택하기만 하면 됩니다. Amazon Kinesis Data Firehose에서 해당 함수를 모든 입력 데이터 레코드에 자동으로 적용하고 변환된 데이터를 대상에 로드합니다. Amazon Kinesis Data Firehose는 Apache 로그 및 시스템 로그와 같은 일반 데이터 원본을 JSON 및 CSV 형식으로 변환할 수 있도록 사전에 구축된 Lambda 청사진을 제공합니다. 이러한 사전에 구축된 청사진을 그대로 사용하거나, 추가로 사용자 지정하거나, 자체 사용자 지정 함수를 작성할 수 있습니다. 또한, 실패한 작업을 자동으로 재시도하고 원시 스트리밍 데이터를 백업하도록 Amazon Kinesis Data Firehose를 구성할 수도 있습니다. 자세히 알아보기 »
여러 데이터 대상을 지원
현재 Amazon Kinesis Data Firehose는 전송 대상으로 Amazon S3, Amazon Redshift, Amazon OpenSearch Service, HTTP 엔드포인트, Datadog, New Relic, MongoDB 및 Splunk를 지원합니다. 데이터가 로드되어야 하는 대상으로 Amazon S3 버킷, Amazon Redshift 테이블, Amazon OpenSearch Service 도메인, 일반 HTTP 엔드포인트 또는 서비스 공급자를 지정할 수 있습니다.
선택적 자동 암호화
Amazon Kinesis Data Firehose는 데이터가 대상에 업로드된 후에 자동으로 암호화되도록 하는 옵션을 제공합니다. 전송 스트림 구성의 일부로서 AWS Key Management System(KMS) 암호화 키를 지정할 수 있습니다.
성능 모니터링을 위한 지표
Amazon Kinesis Data Firehose의 경우, 제출한 데이터의 볼륨, 대상에 업로드된 데이터의 볼륨, 소스에서 대상까지 걸린 시간, 전송 스트림 한도, 제한된 레코드 수, 업로드 성공률 등 여러 지표를 콘솔과 Amazon CloudWatch에서 볼 수 있습니다. 이러한 지표를 사용하여 전송 스트림의 상태를 모니터링하고, 대상을 변경하는 등 필요한 조치를 취하고, 한도에 가까워지면 경보가 발생하도록 설정하고, 서비스에서 데이터를 수집하여 대상으로 로딩하도록 하는지 확인할 수 있습니다.
종량 요금제
Amazon Kinesis Data Firehose에서는 서비스를 통해 전송한 데이터 볼륨에 대해서만 비용을 지불하며, 해당하는 경우에는 데이터 형식 변환 비용이 추가됩니다. 또한 해당하는 경우 Amazon VPC 전송 및 데이터 전송 요금도 지불합니다. 최소 요금이나 사전 약정은 없습니다. 인프라를 운영, 조정 및 유지 관리할 인력이나 스트리밍 데이터를 캡처 및 로드할 커스텀 애플리케이션이 필요 없습니다.
Amazon Kinesis Data Firehose 요금에 대해 자세히 알아보기