

# CloudWatch Logs 또는 Amazon S3 버킷의 사용자 지정 로그 데이터
<a name="ingestion-custom-data-sources"></a>

다음과 같은 접근 방식을 사용하여 사용자 지정 데이터 소스에 대한 파이프라인을 생성할 수 있습니다.

1. **CloudWatch 사용자 지정 로그** - 아래 정보를 제공하여 기존 CloudWatch 사용자 지정 로그 그룹에서 파이프라인을 정의합니다.
   + 데이터 소스 이름
   + 데이터 소스 유형

   데이터 소스 이름 및 유형에 대한 자세한 내용은 [CloudWatch Logs 사용 설명서](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/data-source-discovery-management.html#how-to-get-started-data-sources)를 참조하세요.

1. **S3 사용자 지정 소스** - 파이프라인의 소스를 구성하여 S3 버킷에 저장된 임의의 로그를 처리합니다.

   ```
   source:
     s3:
       aws:
         region: "us-east-1"
         sts_role_arn: "arn:aws:iam::<account>:role/<role-name>"
       compression: "gzip"
       codec:
         ndjson:
       data_source_name: "my_custom_logs"
       default_bucket_owner: "123456789012"
       bucket_owners:
         my-bucket: "123456789012"
       disable_bucket_ownership_validation: false
       notification_type: "sqs"
       sqs:
         queue_url: "https://sqs.region.amazonaws.com/<account>/<queue-name>"
       on_error: "retain_messages"
   ```
**참고**  
CSV 프로세서는 S3 사용자 지정 소스와 함께 사용할 수 없습니다. 그 대신, S3 소스에서 CSV 코덱을 사용하세요.

**파라미터**  
`notification_type`(필수)  
알림 메커니즘을 지정합니다. S3 이벤트 알림에 대해 SQS를 사용하려면 'sqs'여야 합니다.  
`data_source_name`  
데이터 소스를 식별합니다. 이는 데이터 소스를 나타내는 모든 문자열 값일 수 있습니다. 예: "my\$1custom\$1logs".  
`aws.region`(필수)  
S3 버킷과 SQS 대기열이 있는 AWS 리전입니다.  
`aws.sts_role_arn`(필수)  
S3 및 SQS 리소스에 액세스하기 위해 부여할 IAM 역할의 ARN입니다.  
`codec`(필수)  
S3 객체를 구문 분석하기 위한 코덱 구성입니다. `csv`, `json`, `ndjson` 코덱을 지원합니다.  
`compression` (선택 사항)  
S3 객체의 압축 유형입니다. 유효한 값은 'none', 'gzip', 'automatic'입니다. 기본값은 'none'입니다.  
`sqs.queue_url`(SQS의 경우 필수)  
새 객체가 생성될 경우 S3 버킷 알림을 수신하는 전체 SQS 대기열 URL입니다.  
`on_error` (선택 사항)  
Amazon SQS에서 오류를 처리하는 방법을 결정합니다. `retain_messages` 또는 `delete_messages`입니다. 기본값은 `retain_messages`입니다.

**사용자 지정 소스 구성**

사용자 지정 소스에 대한 파이프라인을 생성할 경우:
+ 데이터 소스가 CloudWatch Logs인 경우, 파서가 파이프라인의 첫 번째 프로세서여야 합니다.
+ 사용자 지정 로그 파이프라인에 지원되는 프로세서를 지정할 수 있습니다.