2단계: Splunk를 대상으로 사용하여 Kinesis Data Firehose 전송 스트림 생성 - Amazon Kinesis Data Firehose

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

2단계: Splunk를 대상으로 사용하여 Kinesis Data Firehose 전송 스트림 생성

Kinesis Data Firehose 자습서의 이 부분에서는 Amazon CloudWatch에서 로그 데이터를 수신한 후 이 데이터를 전송하는 Amazon Kinesis Data Firehose 전송 스트림을 생성합니다.

CloudWatch에서 전송 스트림으로 전송하는 로그는 압축된 형식입니다. 하지만 Kinesis Data Firehose는 압축된 로그를 Splunk에 전송할 수 없습니다. 따라서 다음 절차에서 전송 스트림을 생성할 때 데이터 전송을 활성화하고 로그 데이터의 압축을 풀도록 AWS Lambda 함수를 구성합니다. 그러면 Kinesis Data Firehose는 압축이 풀린 데이터를 Splunk에 전송합니다.

Splunk를 대상으로 Kinesis Data Firehose 전송 스트림을 생성하려면

  1. https://console.aws.amazon.com/firehose/에서 Kinesis Data Firehose 콘솔을 엽니다.

  2. Create delivery stream(전송 스트림 생성)을 선택합니다.

  3. 전송 스트림의 이름에 VPCtoSplunkStream을 입력합니다. 하단으로 스크롤한 후 다음을 선택합니다.

  4. Data transformation(데이터 변환)*에 대해 활성을 선택합니다.

  5. Lambda function(Lambda 함수)*에서 Create new(새로 생성)를 선택합니다.

  6. Lambda 블루프린트 선택 창에서 아래로 스크롤한 후 Kinesis Firehose Cloudwatch Logs Processor를 선택합니다. AWS Lambda 콘솔이 열립니다.

    
                        Kinesis Firehose Cloudwatch Logs Processor 블루프린트를 보여 주는 Lambda 블루프린트 창의 스크린샷입니다.
  7. AWS Lambda 콘솔에서 함수 이름에 VPCtoSplunkLambda를 입력합니다.

  8. 실행 역할의 설명 텍스트에서 IAM 콘솔 링크를 선택하여 사용자 지정 역할을 생성합니다. AWS Identity and Access Management(IAM) 콘솔이 열립니다.

  9. IAM 콘솔에서 Lambda를 선택합니다.

  10. Next: Permissions를 선택합니다.

  11. [Create policy]를 선택합니다.

  12. JSON 탭을 선택하고 기존 JSON을 다음으로 바꿉니다. your-regionyour-aws-account-id 자리 표시자를 해당 AWS 리전 코드와 계정 ID로 바꿉니다. 계정 ID에 하이픈이나 대시가 포함되지 않도록 하십시오. AWS 리전 코드 목록은 AWS 리전 및 엔드포인트를 참조하십시오.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:GetLogEvents" ], "Resource": "arn:aws:logs:*:*:*" }, { "Effect": "Allow", "Action": [ "firehose:PutRecordBatch" ], "Resource": [ "arn:aws:firehose:your-region:your-aws-account-id:deliverystream/VPCtoSplunkStream" ] } ] }

    이 정책은 Lambda 함수가 PutRecordBatch 작업을 호출하여 데이터를 전송 스트림에 다시 넣도록 허용합니다. Kinesis Data Firehose가 함수를 호출할 때마다 Lambda 함수는 최대 6MiB까지의 데이터만 반환할 수 있기 때문에 이 단계가 필요합니다. 압축을 푼 데이터의 크기가 6MiB를 초과하는 경우 이 함수는 PutRecordBatch를 호출하여 나중에 처리할 수 있도록 일부 데이터를 전송 스트림에 다시 넣습니다.

  13. 역할 생성 창으로 돌아가서 정책 목록을 새로 고친 후 왼쪽에 있는 상자를 선택하여 VPCtoSplunkLambdaPolicy를 선택합니다.

  14. Next: Tags를 선택합니다.

  15. [Next: Review]를 선택합니다.

  16. 역할 이름VPCtoSplunkLambdaRole을 입력한 다음 Create role을 선택합니다.

  17. Lambda 콘솔로 돌아가서 기존 역할 목록을 새로 고친 후 VPCtoSplunkLambdaRole을 선택합니다.

  18. 아래로 스크롤하여 Create function(함수 생성)을 선택합니다.

  19. Lambda 함수 창에서 아래로 스크롤하여 기본 설정 섹션으로 이동하고 제한 시간을 3분으로 늘립니다.

  20. 위로 스크롤하여 Save(저장)를 선택합니다.

  21. 다시 Lambda 블루프린트 선택 대화 상자로 돌아가서 닫기를 선택합니다.

  22. 전송 스트림 생성 페이지의 Transform source records with AWS Lambda(AWS Lambda를 사용하여 소스 레코드 변환) 섹션에서 새로 고침 버튼을 선택합니다. 그런 다음 함수 목록에서 VPCtoSplunkLambda를 선택합니다.

  23. 아래로 스크롤하여 Next(다음)를 선택합니다.

  24. Destination(대상)*에서 Splunk를 선택합니다.

  25. Splunk 클러스터 엔드포인트에 대한 세부 정보는 Splunk 설명서에서 데이터를 Splunk 플랫폼으로 전송하도록 Amazon Kinesis Firehose 구성 단원을 참조하십시오.

  26. Splunk endpoint type(Splunk 엔드포인트 유형) 설정을 Raw endpoint(원시 엔드포인트)로 그대로 둡니다.

  27. Splunk HTTP Event Collector(HEC) 토큰의 값(이름이 아님)을 입력합니다.

  28. S3 backup mode(S3 백업 모드)*에서 Backup all event(모든 이벤트 백업)을 선택합니다.

  29. 기존 Amazon S3 버킷을 선택하고(또는 원하는 경우 새로 만들고) 다음을 선택합니다.

  30. 설정 구성 페이지에서 IAM 역할 섹션으로 스크롤한 후 새로 생성 또는 선택을 선택합니다.

  31. IAM 역할 목록에서 새 IAM 역할 생성을 선택합니다. 역할 이름VPCtoSplunkLambdaFirehoseRole을 입력한 후 허용을 선택합니다.

  32. 다음을 선택하고 전송 스트림에 대해 선택한 구성을 검토합니다. 그런 다음 전송 스트림 생성을 선택합니다.

3단계: Amazon CloudWatch에서 Kinesis Data Firehose로 데이터 전송 항목으로 이동합니다.