

# 사용자 지정 S3 버킷 소스 구성
<a name="configuring-custom-s3-bucket-sources"></a>

CloudWatch 파이프라인을 사용하여 S3 버킷에 저장된 임의의 로그를 처리할 수 있습니다.

## 사전 조건
<a name="s3-prerequisites"></a>

Amazon S3를 파이프라인의 소스로 사용하려면 우선 S3 버킷을 생성합니다. 지침을 보려면 *Amazon S3 사용 설명서*에서 [범용 버킷 생성](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) 섹션을 참조하세요.

**참고**  
파이프라인에서 소스로 사용되는 S3 버킷이 다른 AWS 계정에 있는 경우, 해당 버킷에 대한 교차 계정 읽기 권한도 활성화해야 합니다. 이렇게 하면 파이프라인이 데이터를 읽고 처리할 수 있습니다. 교차 계정 권한을 활성화하려면 *Amazon S3 사용 설명서*의 [계정 간 버킷 권한 부여하는 버킷 소유자](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)를 참조하세요.  
S3 버킷이 여러 계정에 있는 경우 `bucket_owners` 맵을 사용합니다. 예제를 보려면 *OpenSearch* 설명서의 [Cross-account S3 access](https://docs.opensearch.org/latest/data-prepper/pipelines/configuration/sources/s3/#cross-account-s3-access) 섹션을 참조하세요.

S3-SQS 처리를 설정하려면 다음 단계도 수행해야 합니다.
+ [Amazon SQS 대기열을 생성합니다](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/creating-sqs-standard-queues.html).
+ [ SQS 대기열을 대상으로 하는 S3 버킷에서 이벤트 알림을 사용 설정합니다](https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-event-notifications.html).

## 파이프라인 역할 구성
<a name="configure-pipeline-role"></a>

데이터를 파이프라인으로 푸시하는 다른 소스 플러그인과 달리 S3 소스 플러그인은 파이프라인이 소스에서 데이터를 가져오는 읽기 기반 아키텍처를 사용합니다. 따라서 S3에서 파이프라인을 읽으려면 S3 버킷과 Amazon SQS 대기열 모두에 액세스할 수 있는 파이프라인의 S3 소스 구성 내에서 역할을 지정해야 합니다. 파이프라인은 대기열에서 데이터를 읽기 위해 이 역할을 맡습니다.

[소스별 IAM 정책](pipeline-iam-reference.md#source-specific-iam-policies)에서 역할 권한의 예제를 참조할 수 있습니다. 이 역할은 CloudWatch 파이프라인 서비스 원칙과의 신뢰 관계가 있어야 합니다. [신뢰 관계](pipeline-iam-reference.md#trust-relationships)에서 파이프라인 역할에 대한 신뢰 정책 구성 예제를 참조할 수 있습니다.

## 파이프라인 생성
<a name="create-s3-pipeline"></a>

권한을 설정한 후 Amazon S3 사용 사례에 따라 파이프라인을 구성할 수 있습니다.

CloudWatch 콘솔의 **수집**에서 **파이프라인** 탭의 **파이프라인 생성**을 선택합니다. 파이프라인 마법사 단계에 따라 작업을 실행한 후 메시지가 표시되면 SQS 대기열 ARN 및 필요한 파이프라인 IAM 역할을 제공합니다. 필요한 경우, CloudWatch Logs의 로그 그룹 대상에 연결할 데이터 소스 이름 및 유형을 제공합니다.

대상 로그 그룹에 대한 정책이 아직 구성되지 않은 경우 [CloudWatch Logs 리소스 정책](https://docs.aws.amazon.com/resource-policies.html)을 구성한 다음, **검토 및 생성** 단계에서 **파이프라인 생성**을 선택합니다. 성공하면 파이프라인이 생성되고 5분 이내에 데이터가 전송되기 시작합니다.

## 소스 역할을 하는 Amazon S3 교차 계정
<a name="cross-account-s3-access"></a>

CloudWatch 파이프라인이 다른 계정의 S3 버킷에 소스로 액세스할 수 있도록 Amazon S3가 있는 여러 계정에서 액세스 권한을 부여할 수 있습니다. 교차 계정 액세스를 활성화하려면 **Amazon S3 사용 설명서의 [교차 계정 버킷 권한을 부여하는 버킷 소유자](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)를 참조하세요. 액세스 권한을 부여한 후 파이프라인 역할에 필요한 권한이 있는지 확인합니다.

그런 다음, `bucket_owners`를 사용하여 파이프라인을 생성해 소스로 Amazon S3 버킷에 대한 교차 계정 액세스를 활성화할 수 있습니다.

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

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