제퍼넷 로고

Amazon Data Firehose | 아마존 웹 서비스

시간

당신이 사용할 수 아마존 데이터 파이어호스 캡처된 애플리케이션 및 서비스의 로그 이벤트를 집계하고 전달합니다. Amazon CloudWatch 로그 너의 ~에게 아마존 단순 스토리지 서비스 (Amazon S3) 버킷 및 Splunk 대상 - 데이터 분석, 보안 분석, 애플리케이션 문제 해결 등과 같은 사용 사례용. 기본적으로 CloudWatch Logs는 gzip으로 압축된 객체로 제공됩니다. 애플리케이션 모니터링 및 감사를 위해 데이터의 압축을 풀거나 압축 해제된 데이터 입력이 필요한 로그를 Splunk에 전달하려고 할 수 있습니다.

AWS는 Firehose에서 CloudWatch Logs의 압축 해제를 지원하는 기능을 출시했습니다. 이 새로운 기능을 사용하면 Firehose에서 옵션을 지정하여 CloudWatch Logs의 압축을 풀 수 있습니다. 더 이상 다음을 사용하여 추가 처리를 수행할 필요가 없습니다. AWS 람다 또는 사후 처리를 통해 압축 해제된 로그를 얻고 압축 해제된 데이터를 Splunk에 전달할 수 있습니다. 또한 레코드 형식 변환과 같은 선택적 Firehose 기능을 사용하여 CloudWatch Logs를 Parquet 또는 ORC로 변환하고 동적 파티셔닝을 사용하여 데이터의 키를 기반으로 스트리밍 레코드를 자동으로 그룹화(예: 월별)하고 그룹화된 레코드를 해당 레코드에 전달할 수 있습니다. Amazon S3 접두사.

이 게시물에서는 Splunk 및 Amazon S3 대상에 대한 압축 해제 기능을 활성화하는 방법을 살펴봅니다. Splunk로 시작한 다음 새로운 스트림을 위해 Amazon S3를 사용한 다음, 이 기능을 활용하고 기존 파이프라인을 단순화하기 위한 마이그레이션 단계를 다룹니다.

Splunk용 CloudWatch Logs 압축 풀기

CloudWatch 로그 그룹의 구독 필터를 사용하여 Firehose로 직접 또는 Firehose를 통해 데이터를 수집할 수 있습니다. Amazon Kinesis 데이터 스트림.

참고 : CloudWatch Logs 압축 해제 기능을 사용하려면 다음이 필요합니다. HTTP 이벤트 수집기 (HEC) 데이터 입력은 인덱서 승인이 활성화된 상태로 Splunk에서 생성되었으며 소스 유형. 이는 압축 해제된 로그에 대한 올바른 소스 유형에 매핑하는 데 필요합니다. HEC 입력을 생성할 때 소스 유형 매핑을 포함합니다(예: aws:cloudtrail).

압축 해제 기능을 위한 Firehose 전송 스트림을 생성하려면 다음 단계를 완료하십시오.

  1. 목적지 설정을 제공하고 선택하세요. 원시 끝점 끝점 유형으로.

압축 해제 기능을 위한 원시 엔드포인트를 사용하여 원시 및 JSON 형식의 이벤트 데이터를 모두 Splunk에 수집할 수 있습니다. 예를 들어 VPC 흐름 로그 데이터는 원시 데이터이고 AWS 클라우드 트레일 데이터는 JSON 형식입니다.

  1. HEC 토큰을 입력하세요. 인증 토큰.
  2. 압축 해제 기능을 활성화하려면 선택을 취소하세요. AWS Lambda로 소스 레코드 변환 아래에 레코드 변환.
  3. 선택 감압 켜기메시지 추출 켜기 for Amazon CloudWatch Logs의 소스 레코드 압축 풀기.
  4. 선택 메시지 추출 켜기 Splunk 대상의 경우.

메시지 추출 기능

압축을 푼 후 CloudWatch Logs는 다음 그림과 같이 JSON 형식입니다. 압축이 풀린 데이터에는 다음과 같은 메타데이터 정보가 포함되어 있는 것을 볼 수 있습니다. logGroup, logStreamsubscriptionFilters이며, 실제 데이터는 message 아래의 필드 logEvents (다음 예에서는 CloudWatch Logs의 CloudTrail 이벤트 예를 보여줍니다).

메시지 추출을 활성화하면 Firehose는 다음 그림과 같이 메시지 필드의 내용만 추출하고 내용을 새 줄로 연결합니다. 이 기능으로 필터링된 CloudWatch Logs 메타데이터를 사용하면 Splunk는 실제 로그 데이터를 성공적으로 구문 분석하고 HEC 토큰에 구성된 소스 유형에 매핑합니다.

또한 이러한 CloudWatch 이벤트를 Splunk 대상에 실시간으로 전달하려는 경우 다음을 사용할 수 있습니다. 제로 버퍼링, 최근 Firehose에서 출시된 새로운 기능입니다. 이 기능을 사용하면 버퍼 간격으로 0초를 설정하거나 0~60초 사이의 시간 간격을 설정하여 몇 초 내에 실시간으로 Splunk 대상에 데이터를 전달할 수 있습니다.

이러한 설정을 사용하면 이제 Firehose를 사용하여 압축이 풀린 CloudWatch 로그 데이터를 Splunk로 원활하게 수집할 수 있습니다.

Amazon S3용 CloudWatch Logs 압축 풀기

Amazon S3 대상에 대한 CloudWatch Logs 압축 풀기 기능은 Splunk와 유사하게 작동합니다. Splunk에서는 Lambda를 사용하여 데이터 변환을 끄고 압축 풀기 및 메시지 추출 옵션을 켤 수 있습니다. 압축 해제 기능을 사용하여 로그 데이터를 Amazon S3 대상에 텍스트 파일로 쓰거나 Parquet 또는 ORC를 사용한 레코드 형식 변환, 데이터 분할을 위한 동적 분할과 같은 다른 Amazon S3 대상 기능과 함께 사용할 수 있습니다.

압축 해제를 통한 동적 파티셔닝

Amazon S3 대상의 경우 Firehose는 동적 분할을 지원합니다. 이를 통해 데이터 내의 키를 사용하여 스트리밍 데이터를 지속적으로 분할한 다음 이러한 키로 그룹화된 데이터를 해당 Amazon S3 접두사로 전달할 수 있습니다. 이를 통해 다음과 같은 서비스를 사용하여 Amazon S3의 스트리밍 데이터에 대해 고성능의 비용 효율적인 분석을 실행할 수 있습니다. 아마존 아테나, 아마존 EMR, 아마존 레드시프트 스펙트럼아마존 퀵 사이트. 데이터를 분할하면 스캔되는 데이터의 양이 최소화되고 성능이 최적화되며 Amazon S3에서 분석 쿼리 비용이 절감됩니다.

새로운 압축 해제 기능을 사용하면 CloudWatch Logs의 분할 키를 매핑하기 위한 Lambda 함수 없이 동적 분할을 수행할 수 있습니다. 다음을 활성화할 수 있습니다. JSON에 대한 인라인 구문 분석 옵션에서 압축이 풀린 로그 데이터를 스캔하고 파티셔닝 키를 선택하세요. 다음 스크린샷은 CloudTrail 레코드의 계정 ID 및 AWS 리전에 대해 파티셔닝 스키마가 선택된 CloudTrail 로그 데이터에 대해 인라인 구문 분석이 활성화된 예를 보여줍니다.

압축해제를 통한 레코드 형식 변환

CloudWatch Logs 데이터의 경우 Amazon S3 대상의 압축이 풀린 데이터에 대한 레코드 형식 변환 기능을 사용할 수 있습니다. Firehose는 입력 데이터 형식을 JSON에서 다음으로 변환할 수 있습니다. 아파치 마루 or 아파치 ORC Amazon S3에 데이터를 저장하기 전에. Parquet 및 ORC는 JSON과 같은 행 기반 형식에 비해 공간을 절약하고 더 빠른 쿼리를 가능하게 하는 열 형식 데이터 형식입니다. 다음에서 레코드 형식 변환 기능을 사용할 수 있습니다. 레코드 변환 및 변환 CloudWatch 로그 데이터를 Parquet 또는 ORC 형식으로 변환하기 위한 설정입니다. 다음 스크린샷은 다음을 사용하여 Parquet 형식에 대한 레코드 형식 변환 설정의 예를 보여줍니다. AWS 접착제 CloudTrail 로그 데이터에 대한 스키마 및 테이블입니다. 동적 파티셔닝 설정이 구성되면 레코드 형식 변환이 동적 파티셔닝과 함께 작동하여 대상 S3 버킷에 파티션 폴더 구조를 갖는 출력 형식의 파일을 생성합니다.

압축 해제를 위해 기존 전송 스트림 마이그레이션

압축 해제를 위해 Lambda를 사용하는 기존 Firehose 스트림을 Firehose의 새로운 압축 해제 기능으로 마이그레이션하려면 다음에 설명된 단계를 참조하세요. 압축 해제 활성화 및 비활성화.

가격 정책

Firehose 압축 해제 기능은 데이터의 압축을 해제하고 압축 해제된 데이터의 GB당 비용을 청구합니다. 압축 해제 가격을 이해하려면 다음을 참조하세요. Amazon Data Firehose 가격.

정리

향후 요금이 발생하지 않도록 하려면 생성한 리소스를 다음 순서로 삭제하십시오.

  1. CloudWatch Logs 구독 필터를 삭제합니다.
  2. Firehose 전송 스트림을 삭제합니다.
  3. S3 버킷을 삭제합니다.

결론

Firehose의 압축 해제 및 메시지 추출 기능은 코드 개발이나 추가 처리 없이 CloudWatch Logs를 Amazon S3 및 Splunk 대상으로 전달하는 작업을 단순화합니다. Amazon S3 대상의 경우 압축 해제된 데이터에 대해 Parquet 또는 ORC 변환 및 동적 파티셔닝 기능을 사용할 수 있습니다.

자세한 내용은 다음 리소스를 참조하세요.


저자에 관하여

란지트 칼리다산 매사추세츠 주 보스턴에 본사를 둔 Amazon Web Services의 수석 솔루션 설계자입니다. 그는 보안 ISV 파트너가 AWS와 함께 솔루션을 공동 구축하고 공동 시장에 내놓도록 돕는 파트너 솔루션 설계자입니다. 그는 정보 기술 분야에서 25년 이상의 경험을 바탕으로 글로벌 고객이 보안 및 분석을 위한 복잡한 솔루션을 구현하도록 지원합니다. Ranjit과 연결할 수 있습니다. 링크드인.

파넨드라 불리야라고리 AWS의 Amazon Data Firehose 제품 관리 책임자입니다. Phaneendra는 이 역할에서 Amazon Data Firehose의 제품 및 시장 진출 전략을 이끌고 있습니다.

spot_img

최신 인텔리전스

spot_img